config-pin fails for P9.12 on BBGW

I get the following error when trying to configure P9.12 as an input on a BBGW:

dar@arm:~$ sudo config-pin P9.12 in+
P9_12 pinmux file not found!
bash: /sys/devices/platform/ocp/ocpP9_12_pinmux/state: No such file or directory
Cannot write pinmux file: /sys/devices/platform/ocp/ocp
P9_12_pinmux/state

I think this pin clashes with a BlueTooth enabled LED on the BBGW, but it’s the pin I have chosen for my input.

I cannot easily move to another pin as I have many PCBs made using this input. :frowning:

In previous image builds I have been able to work around this by editting the src/arm/BB-BBGW-WL1835-00A0.dts file to comment out the clash.

What are my options for a work around with these newer kernel images?

Also, experiencing very slow boot times ~ 2 minutes with cape_universal enabled. Ideally would like something around 10s.

Any help gratefully received.
David.

dar@arm:~$ sudo /opt/scripts/tools/version.sh
git:/opt/scripts/:[29878c8f9a13833ac69956ecc086c95b99726dde]
eeprom:[A335BNLTGW1ABBGW16063598]
model:[TI_AM335x_BeagleBone_Green_Wireless]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2018.09-rc2-dirty]:[location: dd MBR]
kernel:[4.18.9-bone-rt-r9]
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[disable_uboot_overlay_video=1]
uboot_overlay_options:[disable_uboot_overlay_audio=1]
uboot_overlay_options:[disable_uboot_overlay_adc=1]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.4.20180928.0-0rcnee0~stretch+20180928]
pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517]
pkg:[kmod]:[23-2rcnee1~stretch+20171005]
WARNING:pkg:[librobotcontrol]:[NOT_INSTALLED]
pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328]
groups: ‘debian’: no such user
groups:[]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait]
dmesg | grep pinctrl-single
[ 0.894754] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
[ 0.905368] gpio-of-helper ocp:cape-universal: ready
END

I get the following error when trying to configure P9.12 as an input on a BBGW:

dar@arm:~$ sudo config-pin P9.12 in+
P9_12 pinmux file not found!
bash: /sys/devices/platform/ocp/ocp*P9_12_pinmux/state: No such file or directory
Cannot write pinmux file: /sys/devices/platform/ocp/ocp*P9_12_pinmux/state

I think this pin clashes with a BlueTooth enabled LED on the BBGW, but it's the pin I have chosen for my input.
I cannot easily move to another pin as I have many PCBs made using this input. :frowning:

In previous image builds I have been able to work around this by editting the src/arm/BB-BBGW-WL1835-00A0.dts file to comment out the clash.

What are my options for a work around with these newer kernel images?

Comment:

https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-BBGW-WL1835-00A0.dts#L23

https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-BBGW-WL1835-00A0.dts#L41-L45

https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-BBGW-WL1835-00A0.dts#L123-L133

Also, experiencing very slow boot times ~ 2 minutes with cape_universal enabled. Ideally would like something around 10s.

Yes cape_universal slows things down, so does "rt"..

How many pins do you need? it would be "best" to construct an overlay
file with just what you want to use, and have most of cape_universal
disabled..

Regards,

I get the following error when trying to configure P9.12 as an input on a BBGW:

dar@arm:~$ sudo config-pin P9.12 in+
P9_12 pinmux file not found!
bash: /sys/devices/platform/ocp/ocp*P9_12_pinmux/state: No such file or directory
Cannot write pinmux file: /sys/devices/platform/ocp/ocp*P9_12_pinmux/state

I think this pin clashes with a BlueTooth enabled LED on the BBGW, but it's the pin I have chosen for my input.
I cannot easily move to another pin as I have many PCBs made using this input. :frowning:

In previous image builds I have been able to work around this by editting the src/arm/BB-BBGW-WL1835-00A0.dts file to comment out the clash.

What are my options for a work around with these newer kernel images?

Comment:

bb.org-overlays/BB-BBGW-WL1835-00A0.dts at master · beagleboard/bb.org-overlays · GitHub

bb.org-overlays/BB-BBGW-WL1835-00A0.dts at master · beagleboard/bb.org-overlays · GitHub

bb.org-overlays/BB-BBGW-WL1835-00A0.dts at master · beagleboard/bb.org-overlays · GitHub

Also, experiencing very slow boot times ~ 2 minutes with cape_universal enabled. Ideally would like something around 10s.

Yes cape_universal slows things down, so does "rt"..

How many pins do you need? it would be "best" to construct an overlay
file with just what you want to use, and have most of cape_universal
disabled..

Can we profile the helpers themselves to optimize them? I expect loading all the peripheral drivers is more of the problem, but it would be good to know.

Many thanks. That did the job. I was then able to issue the config-pin command for P9.12

In order to speed the boot time up I created a DTS file for pin9_12 and explicitly loaded UART4, UART5 and I2C1 with:

dar@arm:~$ sudo /opt/scripts/tools/version.sh
git:/opt/scripts/:[29878c8f9a13833ac69956ecc086c95b99726dde]
eeprom:[A335BNLTGW1ABBGW16063598]
model:[TI_AM335x_BeagleBone_Green_Wireless]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2018.09-rc2-dirty]:[location: dd MBR]
kernel:[4.18.9-bone-rt-r9]
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[disable_uboot_overlay_video=1]
uboot_overlay_options:[disable_uboot_overlay_audio=1]
uboot_overlay_options:[disable_uboot_overlay_adc=1]
uboot_overlay_options:[uboot_overlay_addr0=/lib/firmware/BB-UART4-00A0.dtbo]
uboot_overlay_options:[uboot_overlay_addr1=/lib/firmware/BB-UART5-00A0.dtbo]
uboot_overlay_options:[uboot_overlay_addr2=/lib/firmware/BB-I2C1-00A0.dtbo]
uboot_overlay_options:[uboot_overlay_addr3=/lib/firmware/BB-P9_12-00A0.dtbo]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.4.20180928.0-0rcnee0~stretch+20180928]
pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517]
pkg:[kmod]:[23-2rcnee1~stretch+20171005]
WARNING:pkg:[librobotcontrol]:[NOT_INSTALLED]
pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328]
groups: ‘debian’: no such user
groups:[]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait]
dmesg | grep pinctrl-single
[ 0.875699] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
[ 0.876586] gpio-of-helper ocp:cape-universal: ready
END

Is this an acceptable way forward or is the preferred method to use config-pin for uarts, i2c etc?

Boot time to having an active WLAN now down to around 20s

On a more troubling note, I’m getting problems with buffer overrun on my UARTS. I’m running 115200 baud without flow control. This worked fine with the 4.4 kernel. Has anything significant changed here? I’ve read some kernel config posts regarding OMAP drivers and 256 byte DMA buffers. How can I tell if these are enabled and functioning?

Best regards,
David