I want to activate more Serial Ports of the Beaglebone Black. Therfore I tried to activate the PRU-ICSS Soft UART. Firstly I made a new Kernel of the version: 4.19.94. There I configurated in menuconfig: PRU_REMOTEPROC to built-in. REMOTEPROC to built-in. TI_PRUSS to built-in. SERIAL_PRU_SUART to build-in. Then i cross-compiled the new Kernel in my old One without any errors.I added to the uEnv.txt:dtb=am335x-boneblack-prusuart.dtb
It booted up correctly with the boneblack-prusuart as device tree. However i cannot find the Serial Ports or something.
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: BeagleBone: cape eeprom: i2c_probe: 0x54: BeagleBone: cape eeprom: i2c_probe: 0x55: BeagleBone: cape eeprom: i2c_probe: 0x56: BeagleBone: cape eeprom: i2c_probe: 0x57: Net: eth0: MII MODE cpsw, usb_ether Press SPACE to abort autoboot in 0 seconds board_name=[A335BNLT] ... board_rev=[000C] ... 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 ... 1938 bytes read in 41 ms (45.9 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 ... ## Error: "loadall" not defined debug: [console=tty0 console=ttyO0,115200n8 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait] ... debug: [bootz 0x82000000 0x88080000: 0x88000000] ... Checking if client_ip is set ... Checking for: /boot.scr ... Checking for: /boot/boot.scr ... Checking for: /boot/uEnv.txt ... gpio: pin 55 (gpio 55) value is 1 2580 bytes read in 33 ms (76.2 KiB/s) Loaded environment from /boot/uEnv.txt debug: [dtb=am335x-boneblack-prusuart.dtb] ... Using: dtb=am335x-boneblack-prusuart.dtb ... Checking if uname_r is set in /boot/uEnv.txt... gpio: pin 56 (gpio 56) value is 1 Running uname_boot ... loading /boot/vmlinuz-4.19.94-ti-r42 ... 10088368 bytes read in 663 ms (14.5 MiB/s) debug: [enable_uboot_overlays=] ... loading /boot/dtbs/4.19.94-ti-r42/am335x-boneblack-prusuart.dtb ... 61245 bytes read in 93 ms (642.6 KiB/s) uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable... loading /boot/initrd.img-4.19.94-ti-r42 ... 7050851 bytes read in 475 ms (14.2 MiB/s) debug: [console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait dtdebug=1] ... debug: [bootz 0x82000000 0x88080000:6b9663 0x88000000] ... ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Using Device Tree in place at 88000000, end 88011f3c Starting kernel ...
If i do
dmesg | grep tty
i only get shown ttyS0 that i am using to work with the beaglebone black. If i do
dmesg | grep prudmesg | grep pru
or
dmesg | grep serialdmesg | grep serial
i get no output.
I also converted the dtb to a dts file and looked for "pru_suart". There is a pru_suart0 and a pru_suart1. I noticed that they both need a firmware.
firmware-name = "ti-pruss/pru_swuart-fw.elf";
However the file that probably needed is empty. And nowhere in the internet is something about this files .