Expansion#

mikroBUS#

The mikroBUS header provides several GPIO pins as well as UART, I2C, SPI, PWM and an Analog Input.

By default, the port is controlled by a mikroBUS driver that helps with auto-detecting MikroE Click Board that feature ClickID. This does however mean that if you want to manually control the port, you may need to first disable the driver.

To disable the driver, do the following - TODO

Grove#

The Grove port on BeaglePlay exposes one of the SoC I2C Ports as well as an analog input.

It maps directly in linux as /dev/I2C-TODO or as the following alias /dev/play/grove

QWIIC#

The QWIIC port on BeaglePlay exposes one of the SoC I2C Ports.

It maps directly in linux as /dev/I2C-2 or as the following alias /dev/play/qwiic

CSI#

The AM62x SoC (and by extension BeaglePlay) does not feature on-board ISP (Image Signal Processor) hardware, and as such, Raw-Bayer CSI Sensors must be pre-processed into normal images by the A53 cores.

To avoid performance penalties related to the approach above, it is recommended to use a sensor with a built-in ISP, such as the OV5640 which is supported out of box.

The PCam5C from Digilent is one CSI camera that features this sensor.

Note

Since BeaglePlay uses a 22-pin CSI connector, a 15 pin to 22 pin CSI adapter may also be required such as this one

Once installed, there are some software changes required to load the device driver at boot for the OV5640.

We will need to modify the following file: /boot/firmware/extlinux/extlinux.conf

We will add the following line to load the OV5640 DTBO:

fdtoverlays /overlays/k3-am625-beagleplay-csi2-ov5640.dtbo

Then you can reboot: sudo reboot

Camera should now work, you can use mplayer to test.

sudo apt-get install -y mplayer

mplayer tv: // -tv driver=v4l2:device=/dev/video0:width=640:height=480:fps=30:outfmt=yuy2

OLDI#

BeaglePlay brings out two OLDI (LVDS) channels, each with up to four data lanes and one clock lane to support 21/28-bit serialized RGB pixel data and synchronization transmissions. The first port, OLDI0, consists of OLDI0_A0-3/CLK0 and corresponds to odd pixels, while the second port, OLDI1, consists of OLDI0_A4-7/CLK1 and corresponds to even pixels.

It is pin compatible with the following two displays from Lincoln Technology Solutions:

Both displays have the following features and only differ in bezzle type:

  • Resolution - 1920x1200 (16:10)

  • LCD Size (diagonal) - 10.1”

  • Refresh Rate - 60Hz

  • Brightness - 1000nit

  • Pannel Type - Edge-lit IPS

  • Touch Enabled - Yes, Capacitive

  • Connector - 40 pin FFC ribbon cable

A “Flush Coverglass” Version A “Oversized Cover Glass” Version - similar in style to a Tablet Display

To enable OLDI display support, modify the following file: /boot/firmware/extlinux/extlinux.conf

Then, add the following line to load the Lincoln LCD185 OLDI DTBO:

fdtoverlays /overlays/k3-am625-beagleplay-lt-lcd185.dtbo

Your /boot/firmware/extlinux/extlinux.conf file should look something like this:

label Linux eMMC
   kernel /Image
   append root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait net.ifnames=0 systemd.unified_cgroup_hierarchy=false quiet
   fdtdir /
   fdtoverlays /overlays/k3-am625-beagleplay-lt-lcd185.dtbo
   initrd /initrd.img