Expansion#
Note
This chapter is a work in progress and will include information on building expansion hardware for BeaglePlay.
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