Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CHIP / PocketCHIP support added to -current



Hi folks --

Swift Griggs was kind enough to send me a PocketCHIP and I added support for it to the tree this week.

What works: UART, GPIO, USB, I2C, DMA, audio, display (simple FB), keyboard, touchscreen.

This means you can boot multi-user with root on a USB stick, run X, play music, etc.

Quick start instructions:

 - Build the SUNXI kernel from -current (evbearmv7hf-el)

 - Install the following packages from pkgsrc:

   sysutils/sunxi-tools >= 20170823
   sysutils/u-boot-chip >= 2017.07 (for CHIP support)
   sysutils/u-boot-pocketchip >= 2017.07 (for PocketCHIP support)

 - Place the device in FEL mode by shorting the "FEL" pin to one of the
   available "GROUND" pins.

 - Attach the device to your machine using the micro USB port.

 - When you power it on (hold the home/power button) it should appear as a
   ugen device:

   ugen0: vendor 1f3a (0x1f3a) product efe8 (0xefe8), rev 1.10/2.b3, addr 12

 - Put a root FS on a USB stick and plug it in to the device.

 - Create a file 'boot.cmd' with the following contents:

   setenv bootargs 'root=sd0a'
   setenv bootcmd 'fdt addr ${fdt_addr_r}; bootm ${kernel_addr_r} - ${fdt_addr_r}'
   boot

 - Add a U-Boot header to the boot script:

   $ mkubootimage -A arm -C none -O linux -T script -a 0 -n "NetBSD boot" boot.cmd boot.scr

 - Boot the device in FEL mode. You'll probably want to attach a serial
   console if you are using a PocketCHIP the first time as there is no
   output on the LCD until the login prompt. Adjust the command below to
   use the correct .dtb and U-Boot for your target device.

   $ sunxi-fel -v -p \
       uboot /usr/pkg/share/u-boot/pocketchip/u-boot-sunxi-with-spl.bin \
       write 0x42000000 netbsd.ub \
       write 0x43000000 sun5i-r8-pocketchip.dtb \
       write 0x43100000 boot.scr

 - If you are using PocketCHIP, you'll have to calibrate the touchscreen
   before starting X. Set 'tpctl=YES' in /etc/rc.conf to start it at boot;
   the first time it runs it will run through the touchscreen calibration
   process.

Have fun!
Jared


Home | Main Index | Thread Index | Old Index