Beagle Black Ethernet UARTS and eMMC

I am just reading about the Beaglebone for the first time at Home · beagleboard/beaglebone-black Wiki · GitHub and have not yet purchased a sample board yet but I have 5 questions please:

  1. Can I use the UARTs a standard Linux tty devices?

  2. I am looking at the expansion connectors but not sure I understand the tables for P8 and P9 and the Mode selection. Am I correct in understating that the mode can be set for each PIN independently
    eg the following two pins could be set to different modes at the same time? Also can you point me to a reference on how these modes are programmed.

P8 Pin 36 could be set for MODE6 = uart3_ctsn
P8 Pin 37 could be set for MODE4 = uart5_txd and 
  1. I want to use the on board 4GB eMMC Memory and also as many of the 6 UARTs as I can using the expansion header to make my own custom expansion board. I am not familiar with the MCC hardware interface, but I noted that the following pins on the expansion board a shared with serial port line: mmc1_sdcd and mmc1_sdwp. I don’t see these pins on figure 34 eMMC memory design, so can I assume I don’t need to reserve them and can use P9 pins…
P9 Pin 11 for uart4_rxd_mux2
P9 Pin 18 for pr1_uart_rxd
P9 Pin 26 for uart1_rxd
  1. I am wanting to use as many of the 6 UARTs as I can but I am a bit confused about the expansion header UART4 which is labelled uart4_rxd_mux2 and uart4_txd_mux2. What restrictions / complications does this add to using UART4 as a tty device.

  2. UART3 I can see uart3_rtsn, uart3_ctsn and uart3_txd, but I can’t see uart3_rxd. If this UART can only transmit and not receive, I don’t understand why have a cts pin?

Thanks

Hello @MichaelS ,

Seth here. First off, I cannot answer all questions here. I can try to provide some inventory control only.

Here it goes…

  1. yes! So, UART 2 is /dev/ttyS2 from what I remember in the kernel 4.19.x.
  2. For those specific modes, there may be an overlay to use, i.e. uboot-overlay. If you want to review the current overlay schemes, please see here: BeagleBoard-DeviceTrees/src/arm at v4.19.x-ti-overlays · beagleboard/BeagleBoard-DeviceTrees · GitHub .
    a. config-pin -q p9.11 and etc. is used to query the available pin modes w/out specific overlays.
    b. To set the pin, say as UART(n) w/out using an overlay, use config-pin p9.11 uart.
  3. Inventory Control here…
  4. " "
  5. " "

Seth

P.S. I am still new to controlling these pins outside of the standard UART controlled /dev/ttyS(n) devices.

Some notes here:

a. I found that, via word of mouth, the overlays are being mainlined.
b. So, the kernel will know of these off hand so one can use them.
c. Also, I noticed on newer kernels, there is a beaglecfg command that has access to setting up WiFi, PRUs, and other necessary requirements.
d. config-pin -h will show you the help menu in config-pin ideas…