-
-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable Additional UART of Raspberry Pi 4B #64
Comments
I have not done this, but I would expect the process to be adding a line to the If you've done this, could you post what you did? |
I tried to follow the documentation along but that didn't help My Config.txt file is My fwup.conf file looks like this After following all the changes I am still unable to enable second UART of RPI4. |
It looks like you need to add:
to your Since I don't know this for sure, I'd recommend manually modifying the |
@umerkiani I couldn't get the additional UARTs to show up until I added the device tree overlays to the fwup.conf file: https://hexdocs.pm/nerves/advanced-configuration.html#device-tree-overlays For example, I added UART3, UART4, and UART5 with an |
I solved this by customising config.txt file and fwup.txt file `# Default Nerves RPi 4 config.txt It's possible to override this file by using a custom fwup.confconfiguration to pull in a replacement.Useful links:http://rpf.io/configtxthttps://www.raspberrypi.org/documentation/configuration/device-tree.mdhttps://github.com/raspberrypi/documentation/blob/master/configuration/device-tree.mdhttps://github.com/raspberrypi/firmware/blob/master/boot/overlays/READMEDisable the boot rainbowdisable_splash=1 This, along with the Raspberry Pi "x" firmware is needed for the camerato work. The Raspberry Pi "x" firmware is selected via the Buildrootconfiguration. See Target packages->Hardware handling->Firmware.gpu_mem=192 Enable I2C, SPI, and audiodtparam=i2c_arm=on Enable drivers for the Raspberry Pi 7" TouchscreenThis makes it possible to run Scenic out of the box with the popularRaspberry Pi 7" Touchscreen. It appears to be harmless for non-touchscreenusers, but if not, let us know!NOTE: The touchscreen seems to work fine with these commented out on the RPi4#dtoverlay=rpi-ft5406 Comment this in or modify to enable OneWireNOTE: check that the overlay that you specify is in the boot partition orthis won't work.#dtoverlay=w1-gpio-pullup,gpiopin=4 The ramoops overlay works with the pstore driver to preserve crashinformation across reboots in DRAMdtoverlay=ramoops Enable the UART (/dev/ttyS0)enable_uart=1 dtoverlay=uart2 Enable DRM VC4 V3D driver on top of the dispmanx display stack#dtoverlay=vc4-fkms-v3d ` and added overlay files to fwup.txt file `# Firmware configuration file for the Raspberry Pi 4 require-fwup-version="0.15.0" # For the trim() call Firmware metadataAll of these can be overriden using environment variables of the same name.Run 'fwup -m' to query values in a .fw file.Use 'fw_printenv' to query values on the target.These are used by Nerves libraries to introspect.define(NERVES_FW_PRODUCT, "Nerves Firmware") define(NERVES_FW_DEVPATH, "/dev/mmcblk0") Default paths if not specified via the commandlinedefine(ROOTFS, "${NERVES_SYSTEM}/images/rootfs.squashfs") This configuration file will create an image that has an MBR and thefollowing 3 partitions:+----------------------------+| MBR |+----------------------------+| Firmware configuration data|| (formatted as uboot env) |+----------------------------+| p0*: Boot A (FAT32) || zImage, start.elf, || config.txt, etc. |+----------------------------+| p0*: Boot B (FAT32) |+----------------------------+| p1*: Rootfs A (squashfs) |+----------------------------+| p1*: Rootfs B (squashfs) |+----------------------------+| p2: Application (f2fs) |+----------------------------+The p0/p1 partition points to whichever of configurations A or B that isactive.The image is sized to be less than 1 GB so that it fits on nearly any SDCardaround. If you have a larger SDCard and need more space, feel free to bumpthe partition sizes below.The Raspberry Pi is incredibly picky on the partition sizes and in ways thatI don't understand. Test changes one at a time to make sure that they boot.(Sizes are in 512 byte blocks)define(UBOOT_ENV_OFFSET, 16) define(BOOT_A_PART_OFFSET, 63) Let the rootfs have room to grow up to 128 MiB and align it to the nearest 1MB boundarydefine(ROOTFS_A_PART_OFFSET, 77324) Application partition. This partition can occupy all of the remaining space.Size it to fit the destination.define-eval(APP_PART_OFFSET, "${ROOTFS_B_PART_OFFSET} + ${ROOTFS_B_PART_COUNT}") Firmware archive metadatameta-product = ${NERVES_FW_PRODUCT} File resources are listed in the order that they are included in the .fw fileThis is important, since this is the order that they're written on a firmwareupdate due to the event driven nature of the update system.file-resource fixup.dat { file-resource rootfs.img {
} mbr mbr-a { mbr mbr-b { Location where installed firmware information is stored.While this is called "u-boot", u-boot isn't involved in thissetup. It just provides a convenient key/value store format.uboot-environment uboot-env { This firmware task writes everything to the destination mediatask complete {
} task upgrade.a {
} task upgrade.b {
} task upgrade.unexpected { task upgrade.wrongplatform { |
I am trying to enable Additional UART(s) on Raspberry PI, as stated in the specs the Pi4 has 6UARTs but I am only able to access UART0 named ttsy0, I tried modifying the config file but that didn't help.
Is there a way we can use additional UART(s)
The text was updated successfully, but these errors were encountered: