--- wikisrc/ports/evbarm/allwinner.mdwn 2018/05/10 00:12:47 1.89 +++ wikisrc/ports/evbarm/allwinner.mdwn 2019/11/24 14:43:29 1.103 @@ -20,32 +20,32 @@ NetBSD supports many boards based on All - sun4iA108.99.3 and laterOlimex A10-OLinuXino-LIME + sun4iA109.0Olimex A10-OLinuXino-LIME sun5iA10s- - sun5iA138.99.2 and laterOlimex A13-OLinuXino, Olimex A13-OLinuXino-MICRO - sun5iGR88.99.5C.H.I.P. Pro - sun5iR88.99.2 and laterC.H.I.P., Pocket C.H.I.P. - sun6iA317.0 and laterMerrii Hummingbird A31 + sun5iA139.0Olimex A13-OLinuXino, Olimex A13-OLinuXino-MICRO + sun5iGR89.0C.H.I.P. Pro + sun5iR89.0C.H.I.P., Pocket C.H.I.P. + sun6iA317.0Merrii Hummingbird A31 sun6iA31s- - sun7iA207.0 and laterCubietech Cubieboard 2, Cubietech Cubietruck, LeMaker Banana Pi + sun7iA207.0Cubietech Cubieboard 2, Cubietech Cubietruck, LeMaker Banana Pi sun8iA23- sun8iA33-Olimex A33-OLinuXino sun8iR40-Sinovoip Banana Pi BPI-M2U - sun8iA83T8.0 and laterSinovoip Banana Pi BPI-M3 - sun8iH2+8.0 and laterXunlong Orange Pi Zero - sun8iH38.0 and laterFriendlyARM NanoPi NEO, Xunlong Orange Pi Plus 2E + sun8iA83T8.0Sinovoip Banana Pi BPI-M3 + sun8iH2+8.0Xunlong Orange Pi Zero + sun8iH38.0FriendlyARM NanoPi NEO, Xunlong Orange Pi Plus 2E sun8iV3s-Lichee Pi Zero - sun9iA808.0 and laterCubietech Cubieboard 4 - sun50iA648.99.2 and laterPine64, Pinebook - sun50iH58.99.4 and laterFriendlyARM NanoPi NEO2, FriendlyARM NanoPi NEO Plus2 - sun50iH68.99.14 and laterOrange Pi One Plus, Pine H64 + sun9iA808.0Cubietech Cubieboard 4 + sun50iA649.0Pine64, Pinebook + sun50iH59.0FriendlyARM NanoPi NEO2, FriendlyARM NanoPi NEO Plus2 + sun50iH69.0Orange Pi One Plus, Pine H64 # Supported hardware -Please refer to the [SUNXI kernel config](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/SUNXI) for the most up-to-date list of supported hardware. +Please refer to the [GENERIC (32-bit)](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/GENERIC) or [GENERIC64 (64-bit)](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/GENERIC64) kernel configs for the most up-to-date list of supported hardware. @@ -57,6 +57,7 @@ Please refer to the [SUNXI kernel config + @@ -76,7 +77,7 @@ Please refer to the [SUNXI kernel config - + @@ -91,9 +92,16 @@ Please refer to the [SUNXI kernel config # Installation -- Download or build **armv7.img** (32-bit) or **arm64.img** (64-bit) from NetBSD -current +- Download or build **armv7.img** (32-bit) or **arm64.img** (64-bit) from NetBSD 9.0 or later - Write the image to disk: **dd if=armv7.img of=/dev/rld0d bs=1m conv=sync** -- Install a board-specific U-Boot (2017.07 or later) from pkgsrc to the SD card: **dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync** +- Install a board-specific U-Boot (2018.05 or later) from pkgsrc to the SD card + (the `u-boot-sunxi-with-spl.bin`-s are provided by `sysutils/u-boot-` packages): + **dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync** + +If your SoC has a SATA controller and you would like to install on +an hard disk and use a SD card only for u-boot please give a look +to +[[NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card|ports/evbarm/install_using_sysinst]]. # Tips and tricks @@ -104,3 +112,81 @@ On some television models, the borders o setenv video-mode sunxi:1280x720-24,overscan_x=32,overscan_y=20 saveenv reset + +## Pinebook function keys + +The sleep (Fn+Esc), home (Fn+F1), volume down (Fn+F3), volume up (Fn+F4), and mute (Fn+F5) keys on the keyboard are mapped to uhid(4) devices. + +Create the following config file: + +[[!template id=filecontent name="/etc/usbhidaction.conf" text=""" +Consumer:Consumer_Control.Consumer:Volume_Up 1 + mixerctl -n -w outputs.master++ +Consumer:Consumer_Control.Consumer:Volume_Down 1 + mixerctl -n -w outputs.master-- +Consumer:Consumer_Control.Consumer:Mute 1 + mixerctl -n -w outputs.mute++ +Consumer:Consumer_Control.Consumer:AC_Home 1 + /etc/powerd/scripts/hotkey_button AC_Home pressed +Generic_Desktop:System_Control.Generic_Desktop:System_Sleep 1 + /etc/powerd/scripts/sleep_button System_Sleep pressed +"""]] + +Then start two copies of usbhidaction: + +[[!template id=programlisting text=""" +# /usr/bin/usbhidaction -c /etc/usbhidaction.conf -f /dev/uhid0 -i -p /var/run/usbhidaction-uhid0.pid +# /usr/bin/usbhidaction -c /etc/usbhidaction.conf -f /dev/uhid1 -i -p /var/run/usbhidaction-uhid1.pid +"""]] + +## Pinebook keyboard + +The new 11" 1080p model has a slightly different keyboard layout to the 14". +Using wscons it works perfectly, but using X the \ key next to left shift will display > when pressed. +To solve this, you need to change the keyboard layout to altgr-intl. This can be done system wide by creating the file: + +[[!template id=filecontent name="/etc/X11/xorg.conf.d/00-system-keyboard.conf" text=""" +Section "InputDevice" + Identifier "Pinebook 1080p keyboard" + Driver "kbd" + Option "XkbLayout" "us" + Option "XkbVariant" "altgr-intl" +EndSection +"""]] + +## Pinebook touchpad + +To fix jittery touch input on the touchpad, you can adjust the input sensitivity by creating the file: + +[[!template id=filecontent name="/etc/X11/xorg.conf.d/00-system-keyboard.conf" text=""" +Section "InputDevice" + Identifier "Pinebook touchpad" + Driver "mouse" + Option "AccelerationProfile" "2" + Option "AdaptiveDeceleration" "1" + Option "ConstantDeceleration" "2.4" # Pinebook 14" + #Option "ConstantDeceleration" "1.2" # Pinebook 11" +EndSection +"""]] + +## Pinebook screen + +X11 currently cannot work out the size of the screen, resulting in a very small DPI on a very small screen. +This file configures X to use an 11.6" screen, which results in very readable a DPI of 190. + +[[!template id=filecontent name="/etc/X11/xorg.conf.d/01-pinebook-11-screen.conf" text=""" +Section "Monitor" + Identifier "Pinebook 11.6 inch monitor" + DisplaySize 256.8 144.5 # millimeters, 11.6 inch screen +EndSection + +Section "Screen" + Identifier "Default Screen" + Monitor "Pinebook 11.6 inch monitor" +EndSection +"""]] + + +# Links + +- [[NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card|ports/evbarm/install_using_sysinst]]
Audio codecYesSupported on sun4i, sun5i, sun6i, sun7i, sun8i-h2+, sun8i-h3, sun50i-h5, sun50i-a64
CAN controllerYes
Crypto engine-
CSI-
DMAYes
RTCYes
SATAYes
SD/MMCYes
SMPYes32-bit only. Uses PSCI support in firmware
SMPYes
SPDIF-
SPIYes
Thermal sensorsYes