BBG: BB-AAIM-LCD ubuntu 20.04 and 5.10.x-bone-rt

Hi,

Earlier i used ubuntu 16.04 and everything worked fine as per the steps mentioned in eewiki for BBB.

I have compiled ubuntu 20.04 rootfs and trying to integrate bb.overlays with the u-boot 2019.04 and kernel 5.10.x+rt. I am able to boot up with ubuntu 20.04, but seems like the network interface is not coming up, and also my LCD is not working.

Could you please share correct produce to configure overlays on ubuntu 20.04 with u-boot 2019.04 and kernel 5.10.x+rt.

Appreciate you help/input.

Thanks
Mrudula

Hi @chougulemrudula ,

Please post your current serial boot log so we can see what issues you are having…

v5.10.x brought in a new TI CPSW driver for network, so something broke with older device-tree and overlays…

Regards,

Adding serial boot log for your reference…

U-Boot 2019.04-00018-g923f8b8a (Dec 31 2021 - 15:38:56 +0530)

CPU  : AM335X-GP rev 2.1
I2C:   ready
DRAM:  512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4... ** File not found /boot/uboot.env **

** Unable to read "/boot/uboot.env" from mmc0:1 **
Board: BeagleBone Black
<ethaddr> not set. Validating first E-fuse MAC
BeagleBone Black:
Model: SeeedStudio BeagleBone Green:
BeagleBone Cape EEPROM: no EEPROM at address: 0x54
BeagleBone Cape EEPROM: no EEPROM at address: 0x55
BeagleBone Cape EEPROM: no EEPROM at address: 0x56
BeagleBone Cape EEPROM: no EEPROM at address: 0x57
Net:   eth0: MII MODE
cpsw, usb_ether
Press SPACE to abort autoboot in 0 seconds
board_name=[BBG1] ...
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
934 bytes read in 9 ms (100.6 KiB/s)
gpio: pin 55 (gpio 55) value is 1
Loaded environment from /uEnv.txt
Importing environment from mmc ...
Checking if uenvcmd is set ...
gpio: pin 56 (gpio 56) value is 1
Running uenvcmd ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
708 bytes read in 34 ms (19.5 KiB/s)
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-5.10.87-bone-rt-r59 ...
9384448 bytes read in 626 ms (14.3 MiB/s)
debug: [enable_uboot_overlays=1] ...
debug: [enable_uboot_cape_universal=1] ...
debug: [uboot_base_dtb_univ=am335x-boneblack-uboot-univ.dtb] ...
uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot-univ.dtb] ...
uboot_overlays: Switching too: dtb=am335x-boneblack-uboot-univ.dtb ...
loading /boot/dtbs/5.10.87-bone-rt-r59/am335x-boneblack-uboot-univ.dtb ...
215646 bytes read in 70 ms (2.9 MiB/s)
uboot_overlays: [fdt_buffer=0x60000] ...
uboot_overlays: loading /boot/dtbs/5.10.87-bone-rt-r59/overlays/M-BB-BBG-00A0.dtbo ...
418 bytes read in 116 ms (2.9 KiB/s)
uboot_overlays: uboot loading of [BB-ADC-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_adc=1]...
uboot_overlays: loading /lib/firmware/BB-UART1-00A0.dtbo ...
1022 bytes read in 1481 ms (0 Bytes/s)
uboot_overlays: loading /lib/firmware/BB-UART2-00A0.dtbo ...
1022 bytes read in 1441 ms (0 Bytes/s)
uboot_overlays: loading /lib/firmware/BB-UART4-00A0.dtbo ...
1022 bytes read in 1569 ms (0 Bytes/s)
uboot_overlays: loading /lib/firmware/BB-AAIM-LCD-00A1.dtbo ...
2871 bytes read in 139 ms (19.5 KiB/s)
uboot_overlays: loading /lib/firmware/BB-I2C1-00A0.dtbo ...
1102 bytes read in 774 ms (1000 Bytes/s)
uboot_overlays: uboot loading of [BB-BONE-eMMC1-01-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_emmc=1]...
debug: [console=ttyS0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M quiet] ...
debug: [bootz 0x82000000 - 88000000] ...
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Using Device Tree in place at 88000000, end 88098fff

Starting kernel ...

[    1.503429] l3-aon-clkctrl:0000:0: failed to disable
[    1.546332] omap_voltage_late_init: Voltage driver support not added
[    1.546728] PM: Cannot get wkup_m3_ipc handle
[    1.624789] wkup_m3_rproc 44d00000.cpu: Platform data missing!
[    1.700420] gpiochip_add_data_with_key: GPIOs 0..31 (gpio-0-31) failed to register, -517
[    2.005250] wkup_m3_ipc 44e11324.wkup_m3_ipc: IPC Request for A8->M3 Channel failed! -517
[    2.847249] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    2.847577] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    2.849004] tilcdc 4830e000.lcdc: no encoders/connectors found
[    2.930673] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
[    3.121337] pinctrl-single 44e10800.pinmux: pin PIN18 already requested by 48302200.pwm; cannot claim for ocp:P9_14_pinmux
[    3.121361] pinctrl-single 44e10800.pinmux: pin-18 (ocp:P9_14_pinmux) status -22
[    3.121373] pinctrl-single 44e10800.pinmux: could not request pin 18 (PIN18) from group pinmux_P9_14_default_pin  on device pinctrl-single
[    3.121385] bone-pinmux-helper ocp:P9_14_pinmux: Error applying setting, reverse things back
[    3.203134] gpio-of-helper ocp:cape-universal: Failed to get gpio property of 'P8_13'
[    3.203141] gpio-of-helper ocp:cape-universal: Failed to create gpio entry
[    3.206076] pinctrl-single 44e10800.pinmux: pin PIN40 already requested by ocp:P8_45_pinmux; cannot claim for panel
[    3.206097] pinctrl-single 44e10800.pinmux: pin-40 (panel) status -22
[    3.206109] pinctrl-single 44e10800.pinmux: could not request pin 40 (PIN40) from group pinmux_bb_lcd_lcd_pins  on device pinctrl-single
[    3.206120] tilcdc-panel panel: Error applying setting, reverse things back
[    3.209335] PM: Cannot get wkup_m3_ipc handle
[    3.409168] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[    3.425920] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.426235] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.437686] tilcdc 4830e000.lcdc: no encoders/connectors found
[    3.486213] PM: Cannot get wkup_m3_ipc handle
[    3.491384] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[    3.492066] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.492519] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.500169] tilcdc 4830e000.lcdc: no encoders/connectors found
[    3.501525] PM: Cannot get wkup_m3_ipc handle
[    3.502161] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[    3.502939] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.503412] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.503950] tilcdc 4830e000.lcdc: no encoders/connectors found
[    3.607272] PM: Cannot get wkup_m3_ipc handle
[    3.607864] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[    3.608552] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.608870] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.609440] tilcdc 4830e000.lcdc: no encoders/connectors found
[   15.391309] PM: Cannot get wkup_m3_ipc handle
[   15.391922] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   15.392619] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.392990] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.393668] tilcdc 4830e000.lcdc: no encoders/connectors found
[   15.417407] PM: Cannot get wkup_m3_ipc handle
[   15.418014] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   15.418947] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.419282] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.419996] tilcdc 4830e000.lcdc: no encoders/connectors found
[   15.443293] PM: Cannot get wkup_m3_ipc handle
[   15.443903] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   15.444602] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.444932] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.445531] tilcdc 4830e000.lcdc: no encoders/connectors found
[   15.448324] PM: Cannot get wkup_m3_ipc handle
[   15.448898] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   15.449562] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.449871] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   15.454819] tilcdc 4830e000.lcdc: no encoders/connectors found
[   19.072238] PM: Cannot get wkup_m3_ipc handle
[   19.072852] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   19.073551] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   19.073908] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   19.082934] tilcdc 4830e000.lcdc: no encoders/connectors found
[   19.157073] PM: Cannot get wkup_m3_ipc handle
[   19.157657] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   19.158343] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   19.162848] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   19.163624] tilcdc 4830e000.lcdc: no encoders/connectors found
[   19.220470] PM: Cannot get wkup_m3_ipc handle
[   19.221059] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   19.221751] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   19.222114] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   19.227096] tilcdc 4830e000.lcdc: no encoders/connectors found
[FAILED] Failed to start appmount.service.
[FAILED] Failed to start touchstart.service.
[   24.854186] PM: Cannot get wkup_m3_ipc handle
[   24.859711] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[   24.860470] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   24.860856] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[   24.863040] tilcdc 4830e000.lcdc: no encoders/connectors found
[FAILED] Failed to start Generic Board Startup.

Ubuntu 20.04 LTS

Appreciate your input/suggestions.

Thanks,
Mrudula

Please feel free to post your BB-AAIM-LCD-00A1.dtbo source, it’s not correctly written for the way we lock pins needed for the overlay…

Regards,

Please refer below code for LCD dtb

/*
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;
/plugin/;

#include <dt-bindings/board/am335x-bbw-bbb-base.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/am33xx.h>

/ {
	compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green";

	/* identification */
	part-number = "BB-AAIM-LCD";
	version = "00A1";

	/* state the resources this cape uses */
	exclusive-use =
		/* the pin header uses */
		"P8.45",	/* lcd: lcd_data0 */
		"P8.46",	/* lcd: lcd_data1 */
		"P8.43",	/* lcd: lcd_data2 */
		"P8.44",	/* lcd: lcd_data3 */
		"P8.41",	/* lcd: lcd_data4 */
		"P8.42",	/* lcd: lcd_data5 */
		"P8.39",	/* lcd: lcd_data6 */
		"P8.40",	/* lcd: lcd_data7 */
		"P8.37",	/* lcd: lcd_data8 */
		"P8.38",	/* lcd: lcd_data9 */
		"P8.36",	/* lcd: lcd_data10 */
		"P8.34",	/* lcd: lcd_data11 */
		"P8.35",	/* lcd: lcd_data12 */
		"P8.33",	/* lcd: lcd_data13 */
		"P8.31",	/* lcd: lcd_data14 */
		"P8.32",	/* lcd: lcd_data15 */

		"P8.15",	/* gpmc_ad15.lcd_data16 */
		"P8.16",	/* gpmc_ad14.lcd_data17 */
		"P8.11",	/* gpmc_ad13.lcd_data18 */
		"P8.12",	/* gpmc_ad12.lcd_data19 */
		"P8.17",	/* gpmc_ad11.lcd_data20 */
		"P8.14",	/* gpmc_ad10.lcd_data21 */
		"P8.13",	/* gpmc_ad9.lcd_data22 */
		"P8.19",	/* gpmc_ad8.lcd_data23 */

		"P8.27",	/* lcd: lcd_vsync */
		"P8.29",	/* lcd: lcd_hsync */
		"P8.28",	/* lcd: lcd_pclk */
		"P8.30",	/* lcd: lcd_ac_bias_en */

		"P9.27",	/* lcd: gpio3_19 */
		"P9.12",	/* led: gpio1_28 */

		"P9.14",	/* pwm: ehrpwm1a */

		"lcd",
     	"ehrpwm1a"; 

	fragment@0 {
		target = <&am33xx_pinmux>;
		__overlay__ {
			bb_lcd_pwm_backlight_pins: pinmux_bb_lcd_pwm_backlight_pins {
				pinctrl-single,pins = <
					BONE_P9_14 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a2.ehrpwm1a */
				>;
			};

			bb_lcd_lcd_pins: pinmux_bb_lcd_lcd_pins {
				pinctrl-single,pins = <
					BONE_P8_45 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
					BONE_P8_46 (PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
					BONE_P8_43 (PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
					BONE_P8_44 (PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
					BONE_P8_41 (PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
					BONE_P8_42 (PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
					BONE_P8_39 (PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
					BONE_P8_40 (PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
					BONE_P8_37 (PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
					BONE_P8_38 (PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
					BONE_P8_36 (PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
					BONE_P8_34 (PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
					BONE_P8_35 (PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
					BONE_P8_33 (PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
					BONE_P8_31 (PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
					BONE_P8_32 (PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */

					BONE_P8_15 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad15.lcd_data16 */
					BONE_P8_16 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad14.lcd_data17 */
					BONE_P8_11 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad13.lcd_data18 */
					BONE_P8_12 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad12.lcd_data19 */
					BONE_P8_17 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad11.lcd_data20 */
					BONE_P8_14 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad10.lcd_data21 */
					BONE_P8_13 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad9.lcd_data22 */
					BONE_P8_19 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad8.lcd_data23 */

					BONE_P8_27 (PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */
					BONE_P8_29 (PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */
					BONE_P8_28 (PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */
					BONE_P8_30 (PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
				>;
			};
		};
	};

	fragment@1 {
		target = <&epwmss1>;
		__overlay__ {
			status = "okay";
		};
	};

	fragment@2 {
		target = <&ehrpwm1>;
		__overlay__ {
			pinctrl-names = "default";
			pinctrl-0 = <&bb_lcd_pwm_backlight_pins>;
			status = "okay";
		};
	};

	fragment@3 {
		target = <&lcdc>;
		__overlay__ {
			status = "okay";
		};
	};

	fragment@4 {
		target-path="/";
		__overlay__ {

			/* avoid stupid warning */
			#address-cells = <1>;
			#size-cells = <1>;

			/* Embest 7 inch LCD cape: */
			panel {
				status = "okay";
				compatible = "ti,tilcdc,panel";
				pinctrl-names = "default";
				pinctrl-0 = <&bb_lcd_lcd_pins>;
				panel-info {
					ac-bias           = <255>;
					ac-bias-intrpt    = <0>;
					dma-burst-sz      = <16>;
					bpp               = <32>;
					fdd               = <0x80>;
					tft-alt-mode      = <0>;
					stn-565-mode      = <0>;
					mono-8bit-mode    = <0>;
					sync-edge         = <0>;
					sync-ctrl         = <0>;
					raster-order      = <1>;
					fifo-th           = <0>;
				};
				display-timings {
					native-mode = <&timing0>;
					timing0: 1280x800 {
						clock-frequency = <68000000>;
						hactive = <1280>;
						vactive = <800>;
						hfront-porch = <64>;
						hback-porch = <5>;
					    hsync-len = <2>;       /* was 30 */
						vback-porch = <2>;
						vfront-porch = <40>;
						vsync-len = <2>; 
						hsync-active = <0>;
						vsync-active  = <0>;
                        de-active = <0>;
                        pixelclk-active = <0>;
					};
				};
			};
		};
	};
};

BB-AAIM-LCD-00A1.dts (5.4 KB)

Please refer attached dtb source.

Appreciate your suggestions.

Did they ship a schematic for this board? These two pins are defined but not actually used in the overlay… They’d be used to turn on the backlight and enable the lcd…

P9.27 |/* lcd: gpio3_19 */|
P9.12 |/* led: gpio1_28 */|

Here’s a fixed version I’ve tweaked…

Regards,

I do not have a schematic for this board.
Thank you so much for your suggestions and quick response…
Can I directly Integrate the new dtb?
Earlier I tried compiling bb overlays and observed that update initramfs is not building as my /boot directory is mounted as a read only.
Could you please help me integrate the changes…?

Sure just copy it over and rebuild it… Just exactly how you built your exiting version.

But yeah, bug the company you got it from, it’s definitely missing lcd initialization pins…

So, just mount /boot/ as read write? Take a look at your etc/fstab… By default on this board, we don’t setup a seperate boot partition, instead just use a single partition ext4…

Regards

Thank you Robert for your quick fix. I have integrated the changes and I can see the splash screen on LCD…

I have configured window manager and seems like it is not coming up, so unable to test the touch screen functionality… Appreciate your views on the same…

I have a few errors in debug log could you please help me understand the below errors…

[ 9.759764] systemd-journald[162]: Received client request to flush runtime journal.
[ 15.243281] PM: Cannot get wkup_m3_ipc handle
[ 15.243893] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 15.245202] PM: Cannot get wkup_m3_ipc handle
[ 15.245679] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 15.267112] PM: Cannot get wkup_m3_ipc handle
[ 15.267702] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 15.271652] PM: Cannot get wkup_m3_ipc handle
[ 15.272203] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle

Thanks,
Mrudula

I need to compile the touch screen kernel module and seems like the /build directory is not present in the kernel. I am getting the below errors…

make -C /lib/modules/5.10.87-bone-rt-r59/build SUBDIRS=/home/test/TSHARC-LINUX-UART-V102 modules
make[1]: *** /lib/modules/5.10.87-bone-rt-r59/build: No such file or directory. Stop.

Hi @chougulemrudula “./build” get’s created if you build on the target, since you cross-built, some thing do not get copied over by default…

I thought TSHARC is now mainline, where did you get this specifc module, i’d like to see what they actually populated on the board…

Regards,

I would want to build a touch screen module and earlier I have compiled it on Ubuntu 16.04 with kernel 4.4.27-bone-rt-r14 successfully. Again I do not have connection details/ schematic for the board.
I am unable to build an external kernel module on ubuntu 20.04 with kernel 5.10.87-bone-rt-r59.
Please share the steps to build the kernel module on ubuntu 20.04 LTS.

Did you make any changes to the “defconfig”… if not just install the pre built headers…

sudo apt update
sudo apt install linux-headers-5.10.87-bone-rt-r59

If you made any changes… run “./build_deb.sh” and copy and install that version of the linux-header*.deb.

Edit, forget v5.10.x added “CONFIG_IKHEADERS=m” which is pre-built…

https://cateee.net/lkddb/web-lkddb/IKHEADERS.html

Just load that module, then uncompress them from /sys/kernel/kheaders.tar.xz

Edit 2:

I’m pretty sure the TSARC is actually the AR1021…

voodoo@hestia:/opt/github/5.10.x/bb-kernel-rt$ cat patches/defconfig | grep AR10
CONFIG_TOUCHSCREEN_AR1021_I2C=y

see for example: bb.org-overlays/BB-BONE-4D7R-01-00A1.dts at master · beagleboard/bb.org-overlays · GitHub

Regards,

I have modified kernel ".config " file. and built kernel using build_kernel.sh script.
I tried installing headers and it gives below errors
make[1]: Entering directory ‘/usr/src/linux-headers-5.10.87-bone-rt-r59’
SYNC include/config/auto.conf.cmd
can’t find file Kconfig
make[3]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1
make[2]: *** [Makefile:603: syncconfig] Error 2
make[1]: *** [Makefile:712: include/config/auto.conf.cmd] Error 2
make[1]: Leaving directory '/usr/src/linux-

So will try building header*.deb and verify the same.

I can see below output…but touch screen is not working for me
mrudula@mrudula-Latitude-5400:~/dev/kernel$ cat patches/defconfig | grep AR10
CONFIG_TOUCHSCREEN_AR1021_I2C=y

Also i have installed window manager (lightdm and fluxbox) installed in filesystem but it is not working…i see black screen on my LCD

Yet again, we come back too… Do you have a schematic? Without a schematic, we don’t know which i2c bus or gpio are used for the touchscreen…

Your current version of the device tree has:

But you need to add the touchscreen such as:

But you need to figure out which i2c bus, and which gpio pins are used…

Hence a Schematic would be ‘very’ useful…

Regards,

Is there a public download to get these drivers?

I only can find…AR1010-AR1011-AR1100-LINUX-UART-V102.tar.gz

debian@bbb-pwr01-ser09:~$ tree AR1010-AR1011-AR1100-LINUX-UART-V102
AR1010-AR1011-AR1100-LINUX-UART-V102
├── 10-ar1xxxuart.rules
├── AR1010-AR1011-AR1100-LINUX-UART-V102.pdf
├── dkms.conf
├── inputactivate.c
├── input-raw.c.patch
├── inputverify.c
├── install-module.sh
├── install.sh
├── install-tslib.sh
├── license.txt
├── Makefile
├── mchpar1xxx.c
├── modules.order
├── Module.symvers
├── serio-mchp.h
├── ts_calibrate.c.patch
├── tslib.tar.gz
├── ubuntu10-10.sh
├── ubuntu11-04.sh
└── uninstall.sh

0 directories, 20 files

Regards,

No, we can not download…

Yes, it is same ```
AR1010-AR1011-AR1100-LINUX-UART-V102
I can see all files…i am trying to compile these source…

Sorry wrong button, hit edit vs reply…

debian@bbb-pwr01-ser09:~/AR1010-AR1011-AR1100-LINUX-UART-V102$ uname -r
4.19.94-ti-r70
debian@bbb-pwr01-ser09:~/AR1010-AR1011-AR1100-LINUX-UART-V102$ sudo apt install linux-headers-`uname -r`
debian@bbb-pwr01-ser09:~/AR1010-AR1011-AR1100-LINUX-UART-V102$ make
make -C /lib/modules/4.19.94-ti-r70/build SUBDIRS=/home/debian/AR1010-AR1011-AR1100-LINUX-UART-V102 modules 
make[1]: Entering directory '/usr/src/linux-headers-4.19.94-ti-r70'
  CC [M]  /home/debian/AR1010-AR1011-AR1100-LINUX-UART-V102/mchpar1xxx.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/debian/AR1010-AR1011-AR1100-LINUX-UART-V102/mchpar1xxx.mod.o
  LD [M]  /home/debian/AR1010-AR1011-AR1100-LINUX-UART-V102/mchpar1xxx.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.19.94-ti-r70'
gcc -o inputactivate inputactivate.c
gcc -o inputverify inputverify.c

logging into a beagle that has 5.10.x

Regards,