BeagleBone Black Kernel 3.14 & LCD7 Cap

Hi,

I’m trying to make the LCD 7 working on my machine under the Kernel 3.14 :

Linux beaglebone 3.14.25-ti-r37 #1 SMP PREEMPT Fri Nov 21 23:20:50 UTC 2014 armv7l GNU/Linux

I saw this link :

http://elinux.org/Beagleboard:Capes_3.8_to_3.14

I’ve done :

git clone -b 3.14-ti [https://github.com/RobertCNelson/dtb-rebuilder.git](https://github.com/RobertCNelson/dtb-rebuilder.git)
cd dtb-rebuilder/
nano src/arm/am335x-boneblack.dts

I don’t want the eMMC and other stuff ;

/* #include “am335x-boneblack-emmc.dtsi” /
/
HDMI: with audio /
/
#include “am335x-boneblack-nxp-hdmi-audio.dtsi” /
/
HDMI: without audio /
/
#include “am335x-boneblack-nxp-hdmi-no-audio.dtsi” */

/* can1: P9_24, P9_26 /
/
#include “am335x-can1.dtsi” /
/
#include “am335x-bone-can1.dtsi” */

/* spi0: /
/
P9.17 spi0_cs0 /
/
P9.18 spi0_d1 /
/
P9.21 spi0_d0 /
/
P9.22 spi0_sclk /
/
#include “am335x-bone-spi0-spidev.dtsi” */

/* spi1: /
/
P9.31 spi1_sclk /
/
P9.29 spi1_d0 /
/
P9.30 spi1_d1 /
/
P9.28 spi1_cs0 /
/
#include “am335x-bone-spi1-spidev.dtsi” */

/* spi1a: /
/
P9.42 spi1_sclk /
/
P9.29 spi1_d0 /
/
P9.30 spi1_d1 /
/
P9.20 spi1_cs0 /
/
#include “am335x-bone-spi1a-spidev.dtsi” */

/* uart1: P9.24, P9.26 /
/
#include “am335x-ttyO1.dtsi” /
/
#include “am335x-bone-ttyO1.dtsi” /
/
uart2: P9.21, P9.22 /
/
#include “am335x-ttyO2.dtsi” /
/
#include “am335x-bone-ttyO2.dtsi” /
/
uart4: P9.11, P9.13 /
/
#include “am335x-ttyO4.dtsi” /
/
#include “am335x-bone-ttyO4.dtsi” /
/
uart5: P8.37, P8.38 boneblack: hdmi has to be disabled for ttyO5 /
/
#include “am335x-ttyO5.dtsi” /
/
#include “am335x-bone-ttyO5.dtsi” */

( uart, mmc, can, disabled )

and i’ve only this cap enabled :

#include “am335x-bone-lcd7-01-00a3.dtsi” */

then sudo make install
the interesting line for me is :
src/arm/am335x-boneblack.dtb' -> /boot/dtbs/3.14.25-ti-r37/am335x-boneblack.dtb’

and sudo reboot

The problem is that when i look at the dmesg :

I’ve :

[ 3.633516] bone-pinmux-helper P8_27_pinmux.18: Set initial pinmux mode to hdmi
[ 3.634739] bone-pinmux-helper P8_28_pinmux.19: Set initial pinmux mode to hdmi
[ 3.635965] bone-pinmux-helper P8_29_pinmux.20: Set initial pinmux mode to hdmi
[ 3.637247] bone-pinmux-helper P8_30_pinmux.21: Set initial pinmux mode to hdmi
[ 3.638392] bone-pinmux-helper P8_31_pinmux.22: Set initial pinmux mode to hdmi
[ 3.639392] bone-pinmux-helper P8_32_pinmux.23: Set initial pinmux mode to hdmi
[ 3.640462] bone-pinmux-helper P8_33_pinmux.24: Set initial pinmux mode to hdmi
[ 3.641706] bone-pinmux-helper P8_34_pinmux.25: Set initial pinmux mode to hdmi
[ 3.642973] bone-pinmux-helper P8_35_pinmux.26: Set initial pinmux mode to hdmi
[ 3.644274] bone-pinmux-helper P8_36_pinmux.27: Set initial pinmux mode to hdmi
[ 3.645772] bone-pinmux-helper P8_37_pinmux.28: Set initial pinmux mode to hdmi
[ 3.647305] bone-pinmux-helper P8_38_pinmux.29: Set initial pinmux mode to hdmi
[ 3.648872] bone-pinmux-helper P8_39_pinmux.30: Set initial pinmux mode to hdmi
[ 3.650459] bone-pinmux-helper P8_40_pinmux.31: Set initial pinmux mode to hdmi
[ 3.652269] bone-pinmux-helper P8_41_pinmux.32: Set initial pinmux mode to hdmi
[ 3.653979] bone-pinmux-helper P8_42_pinmux.33: Set initial pinmux mode to hdmi
[ 3.655943] bone-pinmux-helper P8_43_pinmux.34: Set initial pinmux mode to hdmi
[ 3.657991] bone-pinmux-helper P8_44_pinmux.35: Set initial pinmux mode to hdmi
[ 3.660028] bone-pinmux-helper P8_45_pinmux.36: Set initial pinmux mode to hdmi
[ 3.662290] bone-pinmux-helper P8_46_pinmux.37: Set initial pinmux mode to hdmi
[ 3.686084] bone-pinmux-helper P9_25_pinmux.50: Set initial pinmux mode to audio
[ 3.694572] bone-pinmux-helper P9_28_pinmux.53: Set initial pinmux mode to audio
[ 3.697737] bone-pinmux-helper P9_29_pinmux.54: Set initial pinmux mode to audio
[ 3.703990] bone-pinmux-helper P9_31_pinmux.56: Set initial pinmux mode to audio

My question is why ?

I went to kernel 3.14 with :

sudo sh update_kernel.sh --ti-kernel

Any idea ?

Let's see your serial boot log (if you don't have the cape adapter,
you'll have to remove the lcd7 to get the actual log)

Regards,

When the kernel start, I have :

U-Boot 2013.04-dirty (Jul 10 2013 - 14:02:53)

I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
NAND: No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net: not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot: 0
gpio: pin 53 (gpio 53) value is 1
mmc0 is current device
micro SD card found
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
SD/MMC found on device 0
reading uEnv.txt
1697 bytes read in 4 ms (414.1 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc …
Running uenvcmd …
reading zImage
7264176 bytes read in 828 ms (8.4 MiB/s)
reading initrd.img
2402116 bytes read in 278 ms (8.2 MiB/s)
reading /dtbs/am335x-boneblack.dtb
85190 bytes read in 21 ms (3.9 MiB/s)

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Using Device Tree in place at 88000000, end 88017cc5

Starting kernel …

[ 3.716557] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 3.891310] remoteproc1: failed to load rproc-pru0-fw
[ 3.902842] remoteproc1: request_firmware failed: -2
[ 3.914350] pru-rproc 4a334000.pru0: rproc_boot failed
[ 3.926371] remoteproc2: failed to load rproc-pru1-fw
[ 3.932846] remoteproc2: request_firmware failed: -2
[ 3.938315] pru-rproc 4a338000.pru1: rproc_boot failed
[ 3.991344] cpu cpu0: cpu0 clock notifier not ready, retry
[ 4.027790] slave hdmi.63: could not get i2c
Loading, please wait…
Scanning for Btrfs filesystems
systemd-fsck[264]: rootfs: clean, 87770/932672 files, 517688/3864576 blocks
[ 16.553700] libphy: PHY 4a101000.mdio:01 not found
[ 16.558846] net eth0: phy 4a101000.mdio:01 not found on slave 1

( ethernet working, but I thought that this problem was resolved with the kernel 3.14 ? But if you say it works better, it’s cool)

Micka,

Do you see that ^... It's loading "/dtbs/am335x-boneblack.dtb" but the
file you modified is stored under:
"/boot/dtbs/3.14.25-ti-r37/am335x-boneblack.dtb'"

Regards,

HINT: your hitting a brick wall because you refuse to update the
eMMC.. the "--bbb-old-bootloader-in-emmc" should have been a hint,
it's time to upgrade..

Use the small "console" flasher here, it'll take less then 5 minutes,
then you'll stop running into problems with upgrading
kernel/dtb-rebuilder/etc..

http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#BBW.2FBBB_.28All_Revs.29

Regards,

Yes I just saw it ^^ .

I found it where it is in your Makefile :

install_arch: $(ARCH_DTB)
mkdir -p /boot/dtbs/uname -r/
cp -v $(obj)/*.dtb /boot/dtbs/uname -r/

Just need to replace the line cp with cp -v $(obj)/*.dtb /dtbs/

But I will follow your instruction about the MMC .

One more question because this part I don’t understand :

the am335x when it boot it looks at the SDCard the file uEnv.txt .

So why do I need to upgrade the eMMC ? If I read what you are saying, I should update the mmc because it looks first at the mmc and the mmc tell where to look at the sdCard ?

Micka,

Just from the fact it's loading:

reading zImage
7264176 bytes read in 828 ms (8.4 MiB/s)
reading initrd.img
2402116 bytes read in 278 ms (8.2 MiB/s)
reading /dtbs/am335x-boneblack.dtb
85190 bytes read in 21 ms (3.9 MiB/s)

vs:

Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-3.14.25-ti-r37 ...
7148440 bytes read in 422 ms (16.2 MiB/s)
loading /boot/dtbs/3.14.25-ti-r37/am335x-boneblack.dtb ...
85190 bytes read in 146 ms (569.3 KiB/s)
loading /boot/initrd.img-3.14.25-ti-r37 ...
2298206 bytes read in 158 ms (13.9 MiB/s)
debug: [console=ttyO0,115200n8
root=UUID=cffb3725-c125-4a51-ac5e-8d4ed50aa113 ro rootfstype=ext4
rootwait fixrtc quiet] ...
debug: [bootz 0x82000000 0x88080000:23115e 0x88000000] ...
Kernel image @ 0x82000000 [ 0x000000 - 0x6d1398 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Ramdisk to 8fdce000, end 8ffff15e ... OK
   Loading Device Tree to 8fdb6000, end 8fdcdcc5 ... OK

It's that 100x better! :wink: Specially for developers!

Regards,

It’s that 100x better! :wink: Specially for developers!

??

Care to elaborate ?

It's just more verbose... So we can actually see what it's doing..
(console variable...)

Regards,

It’s just more verbose… So we can actually see what it’s doing…
(console variable…)

Oh heh, I thought you were telling him the eMMC was better for development . . and of course I was curious . . .