Specs:
- i.MX6ULL ARM Cortex-A7
- 512MB DDR3L
- 4MB QSPI Flash
- MicroSD card slot
- USB Type-C DRP and USB Type-A port
- 10/100M Ethernet
- Dual 36 pin GPIO headers
- PF1510 PMIC
- USB Type-C Power in
Manufactured using JLCPCB's JLC2116 stackup
-
Build
imx_usb_loader
git clone git@github.com:boundarydevices/imx_usb_loader.git cd imx_usb_loader make
-
Build
u-boot
git clone git@gitlab.com:quentin-z80/u-boot.git cd u-boot export CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make qsbc-zero_defconfig make
-
Build
qspi-header
cd tools/qspi-header ./qspi-header.sh qspi-nor-winbond-w25q32jv-config qspi-config.bin
-
Connect to board over serial and load
u-boot
over usbscreen /dev/ttyUSB0 115200 ./imx_usb_loader /path/to/u-boot/u-boot-dtb.imx
-
Transfer
qspi-header
over XMODEM or any other method and flashsf probe sf erase 0x0 0x400000 loadx
in screen hit
Ctrl-A
followed by:
exec !! sx /path/to/qspi-header/qspi-config.bin sf write $loadaddr 0x400 $filesize
-
Transfer
u-boot
over XMODEM or any other method and flashloadx
in screen hit
Ctrl-A
followed by:
exec !! sx /path/to/u-boot/u-boot-dtb.imx sf write $loadaddr 0x1000 $filesize
-
Blow fuses to boot from qspi
fuse prog -y 0 5 0x10 #BOOT_CFG1[4] = 1 fuse prog -y 0 6 0x10 #BT_FUSE_SEL = 1
- Use interrupt for ETH PHY
- Swap USB-A and USB-C Locations
- Change SOC power tracks to zones
- Port PF1510 driver