mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 08:46:18 +07:00
Allwinner DT changes for 4.15
The most notable changes are: - Conversion to the last SoC (A10, A20) to the new clock framework - HDMI and dual pipeline support for the A10, A20 and A31 DRM driver - Support for the various power supplies on a number of boards - Fix of DTC warnings on a number of SoCs, but most of them still need some work - New boards: A20-OLinuXino-MICRO-eMMC, TBS A711, Banana Pi M2 Berry, Banana Pi M2 Ultra -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJZ6avvAAoJEBx+YmzsjxAgQ9MP/RvW5lGwVg8Y6aIEr8pGBNCO pNiQkBToR5HQnCPTBzNfspoaR8w/8H344AGS56+tzjFIF1P2cawzOxEn1oUrOcbM mAuSUzekpBoKbad2vXsL6uwY2qo3fv62+I72edZkQ4tSEGLK6ISA49sKzhIfFP/2 7K92nP9xodKfMu/pn74/jxzSqcOKXDRSsj1Eyht5KL0oiSmwPgZfCFz+ITE5lozt mzh19qTdxabXZZ4CxVRCBPz/+p6+lmbnIgh8anjcL0YgLN96B1rly3bqAvAmgw7H Bv6nxRhNlEGwvQasgHiSQM7AaVONfPK6WUdDI5Wrpch7de4aFt/Bpz676zeDWWUt dH3Nix8z4AAIma1Yw5CM3fJaPY7vKiL8TlWmSzu2Gc+fb1jGIVf/yvDlV9Gu3g6I JE6YoQmUDC3Sw2q2fvrCokjGTr24u6Er+mBt7u0qGmv7dx70jTBIosXsGwfcwtj2 iKGCjbfRU6rzui+YGEgktCz6m8LIdm5T2BkS93hgfVWJPL7oxmDd+rRon2N196ni JhM8ieTHrow7Mb365FK66Xa4KK8emhLhH7wubo2l9x5uIfr4iu61gv0rOhAppoCC Cop3YyHk1H7SlSUP0tbN2pc36x2wMoPDfAy1MsZNzuD3VXVd//wf9z1c07oL22XA TXkVd4c39WYRx6MZlQ7+ =HjP6 -----END PGP SIGNATURE----- Merge tag 'sunxi-dt-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Pull "Allwinner DT changes for 4.15" from Maxime Ripard: The most notable changes are: - Conversion to the last SoC (A10, A20) to the new clock framework - HDMI and dual pipeline support for the A10, A20 and A31 DRM driver - Support for the various power supplies on a number of boards - Fix of DTC warnings on a number of SoCs, but most of them still need some work - New boards: A20-OLinuXino-MICRO-eMMC, TBS A711, Banana Pi M2 Berry, Banana Pi M2 Ultra - New R40 SoC support * tag 'sunxi-dt-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (63 commits) ARM: sun8i: r40: enable USB host for Banana Pi M2 Ultra ARM: sun8i: v40: add 5V regulator for Banana Pi M2 Berry ARM: sun8i: r40: add 5V regulator for Banana Pi M2 Ultra ARM: sun8i: r40: add USB host port nodes for R40 ARM: dts: sun4i: Enable HDMI support on some A10 devices ARM: dts: sun7i: Enable HDMI support on some A20 devices ARM: dts: sun7i: Add device nodes for display pipelines ARM: dts: sun4i: Add device nodes for display pipelines ARM: dts: sun8i: r40: add watchdog device node ARM: dts: sun5i: reference-design-tablet: Enable AXP209 AC and battery ARM: dts: sun9i: Change node names to remove underscores ARM: dts: sun9i: Change node names to remove underscores ARM: dts: sun4i: Remove underscores from nodes names ARM: dts: sun4i: Provide default muxing for relevant controllers ARM: dts: sun4i: Change pinctrl nodes to avoid warning ARM: dts: sun6i: Enable HDMI support on some A31/A31s devices ARM: dts: sun6i: Add device node for HDMI controller ARM: dts: sun4i: Change LRADC node names to avoid warnings ARM: dts: sun4i: Remove skeleton and memory to avoid warnings ARM: dts: sun4i: Remove gpio-keys warnings ...
This commit is contained in:
commit
c0dec1ec33
@ -331,6 +331,7 @@ swir Sierra Wireless
|
||||
syna Synaptics Inc.
|
||||
synology Synology, Inc.
|
||||
tbs TBS Technologies
|
||||
tbs-biometrics Touchless Biometric Systems AG
|
||||
tcg Trusted Computing Group
|
||||
tcl Toby Churchill Ltd.
|
||||
technexion TechNexion
|
||||
|
@ -895,6 +895,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
|
||||
sun7i-a20-olinuxino-lime2.dtb \
|
||||
sun7i-a20-olinuxino-lime2-emmc.dtb \
|
||||
sun7i-a20-olinuxino-micro.dtb \
|
||||
sun7i-a20-olinuxino-micro-emmc.dtb \
|
||||
sun7i-a20-orangepi.dtb \
|
||||
sun7i-a20-orangepi-mini.dtb \
|
||||
sun7i-a20-pcduino3.dtb \
|
||||
@ -920,6 +921,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-a83t-allwinner-h8homlet-v2.dtb \
|
||||
sun8i-a83t-bananapi-m3.dtb \
|
||||
sun8i-a83t-cubietruck-plus.dtb \
|
||||
sun8i-a83t-tbs-a711.dtb \
|
||||
sun8i-h2-plus-orangepi-zero.dtb \
|
||||
sun8i-h3-bananapi-m2-plus.dtb \
|
||||
sun8i-h3-beelink-x2.dtb \
|
||||
@ -936,8 +938,10 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-h3-orangepi-plus2e.dtb \
|
||||
sun8i-r16-bananapi-m2m.dtb \
|
||||
sun8i-r16-parrot.dtb \
|
||||
sun8i-r40-bananapi-m2-ultra.dtb \
|
||||
sun8i-v3s-licheepi-zero.dtb \
|
||||
sun8i-v3s-licheepi-zero-dock.dtb
|
||||
sun8i-v3s-licheepi-zero-dock.dtb \
|
||||
sun8i-v40-bananapi-m2-berry.dtb
|
||||
dtb-$(CONFIG_MACH_SUN9I) += \
|
||||
sun9i-a80-optimus.dtb \
|
||||
sun9i-a80-cubieboard4.dtb
|
||||
|
@ -107,7 +107,7 @@ reg_ldo5: ldo5 {
|
||||
};
|
||||
};
|
||||
|
||||
usb_power_supply: usb_power_supply {
|
||||
usb_power_supply: usb-power-supply {
|
||||
compatible = "x-powers,axp202-usb-power-supply";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -62,8 +62,6 @@ chosen {
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_a1000>;
|
||||
|
||||
red {
|
||||
label = "a1000:red:usr";
|
||||
@ -79,8 +77,6 @@ blue {
|
||||
|
||||
reg_emac_3v3: emac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_power_pin_a1000>;
|
||||
regulator-name = "emac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -129,8 +125,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -140,8 +134,6 @@ &emac_sram {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -156,7 +148,7 @@ axp209: pmic@34 {
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -170,8 +162,6 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -187,18 +177,6 @@ &ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
emac_power_pin_a1000: emac_power_pin@0 {
|
||||
pins = "PH15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_a1000: led_pins@0 {
|
||||
pins = "PH10", "PH20";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
®_dcdc2 {
|
||||
@ -236,13 +214,13 @@ ®_usb2_vbus {
|
||||
|
||||
&spdif {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx_pins_a>;
|
||||
pinctrl-0 = <&spdif_tx_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -68,8 +68,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -79,8 +77,6 @@ &emac_sram {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -95,7 +91,7 @@ axp209: pmic@34 {
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -108,8 +104,6 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -125,12 +119,6 @@ &otg_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb2_vbus_pin_a: usb2_vbus_pin@0 {
|
||||
pins = "PH12";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
regulator-boot-on;
|
||||
status = "okay";
|
||||
@ -147,7 +135,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -65,8 +65,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -80,14 +78,10 @@ axp209: pmic@34 {
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
ft5306de4: touchscreen@38 {
|
||||
@ -104,21 +98,21 @@ &lradc {
|
||||
vref-supply = <®_vcc3v0>;
|
||||
status = "okay";
|
||||
|
||||
button@800 {
|
||||
button-800 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <800000>;
|
||||
};
|
||||
|
||||
button@1000 {
|
||||
button-1000 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <1000000>;
|
||||
};
|
||||
|
||||
button@1200 {
|
||||
button-1200 {
|
||||
label = "Back";
|
||||
linux,code = <KEY_BACK>;
|
||||
channel = <0>;
|
||||
@ -127,8 +121,6 @@ button@1200 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -141,13 +133,13 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -164,7 +156,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -59,6 +59,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -90,6 +101,10 @@ &cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -99,8 +114,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -109,9 +122,17 @@ &emac_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -121,14 +142,12 @@ axp209: pmic@34 {
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -141,8 +160,6 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -163,13 +180,13 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_cubieboard: led_pins@0 {
|
||||
led_pins_cubieboard: led-pins {
|
||||
pins = "PH20", "PH21";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
@ -221,14 +238,14 @@ ®_usb2_vbus {
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins_a>,
|
||||
<&spi0_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi0_pi_pins>,
|
||||
<&spi0_cs0_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -58,8 +58,6 @@ aliases {
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bl_en_pin_dsrv9703c>;
|
||||
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
||||
default-brightness-level = <8>;
|
||||
@ -77,10 +75,8 @@ haptics {
|
||||
max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
reg_motor: reg_motor {
|
||||
reg_motor: reg-motor {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&motor_pins>;
|
||||
regulator-name = "vcc-motor";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
@ -90,8 +86,6 @@ reg_motor: reg_motor {
|
||||
};
|
||||
|
||||
&codec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&codec_pa_pin>;
|
||||
allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
|
||||
status = "okay";
|
||||
};
|
||||
@ -105,8 +99,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -118,15 +110,11 @@ axp209: pmic@34 {
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
/* pull-ups and devices require AXP209 LDO3 */
|
||||
status = "failed";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
ft5406ee8: touchscreen@38 {
|
||||
@ -134,8 +122,6 @@ ft5406ee8: touchscreen@38 {
|
||||
reg = <0x38>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&touchscreen_pins>;
|
||||
reset-gpios = <&pio 1 13 GPIO_ACTIVE_LOW>;
|
||||
touchscreen-size-x = <1024>;
|
||||
touchscreen-size-y = <768>;
|
||||
@ -146,14 +132,14 @@ &lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
status = "okay";
|
||||
|
||||
button@400 {
|
||||
button-400 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <400000>;
|
||||
};
|
||||
|
||||
button@800 {
|
||||
button-800 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
@ -162,8 +148,6 @@ button@800 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -176,33 +160,13 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
bl_en_pin_dsrv9703c: bl_en_pin@0 {
|
||||
pins = "PH7";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
codec_pa_pin: codec_pa_pin@0 {
|
||||
pins = "PH15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
motor_pins: motor_pins@0 {
|
||||
pins = "PB3";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
touchscreen_pins: touchscreen_pins@0 {
|
||||
pins = "PB13";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -211,7 +175,7 @@ usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>;
|
||||
pinctrl-0 = <&pwm0_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -250,7 +214,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -72,8 +72,6 @@ chosen {
|
||||
*/
|
||||
&codec {
|
||||
/* PH15 controls power to external amplifier (ft2012q) */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&codec_pa_pin>;
|
||||
allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -91,8 +89,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -104,8 +100,6 @@ axp209: pmic@34 {
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
/* Accelerometer */
|
||||
@ -122,21 +116,21 @@ &lradc {
|
||||
|
||||
status = "okay";
|
||||
|
||||
button@158 {
|
||||
button-158 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <158730>;
|
||||
};
|
||||
|
||||
button@349 {
|
||||
button-349 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <349206>;
|
||||
};
|
||||
|
||||
button@1142 {
|
||||
button-1142 {
|
||||
label = "Esc";
|
||||
linux,code = <KEY_ESC>;
|
||||
channel = <0>;
|
||||
@ -145,8 +139,6 @@ button@1142 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH01 */
|
||||
@ -154,13 +146,6 @@ &mmc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
codec_pa_pin: codec_pa_pin@0 {
|
||||
pins = "PH15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
@ -197,7 +182,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -80,8 +80,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy0>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -92,7 +90,7 @@ &emac_sram {
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -106,8 +104,6 @@ phy0: ethernet-phy@0 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -123,27 +119,11 @@ &ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hackberry_hogs>;
|
||||
|
||||
hackberry_hogs: hogs@0 {
|
||||
pins = "PH19";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb2_vbus_pin_hackberry: usb2_vbus_pin@0 {
|
||||
pins = "PH12";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
pinctrl-0 = <&usb2_vbus_pin_hackberry>;
|
||||
gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -156,6 +136,6 @@ &usbphy {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -63,8 +63,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -78,8 +76,6 @@ axp209: pmic@34 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -92,13 +88,13 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -116,7 +112,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -58,8 +58,6 @@ aliases {
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bl_en_pin_inet>;
|
||||
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
||||
default-brightness-level = <8>;
|
||||
@ -88,8 +86,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -101,8 +97,6 @@ axp209: pmic@34 {
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
/* Accelerometer */
|
||||
@ -115,8 +109,6 @@ bma250@18 {
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
ft5x: touchscreen@38 {
|
||||
@ -124,8 +116,6 @@ ft5x: touchscreen@38 {
|
||||
reg = <0x38>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&touchscreen_wake_pin>;
|
||||
wake-gpios = <&pio 1 13 GPIO_ACTIVE_HIGH>; /* PB13 */
|
||||
touchscreen-size-x = <600>;
|
||||
touchscreen-size-y = <1024>;
|
||||
@ -137,21 +127,21 @@ &lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
status = "okay";
|
||||
|
||||
button@200 {
|
||||
button-200 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <200000>;
|
||||
};
|
||||
|
||||
button@1000 {
|
||||
button-1000 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <1000000>;
|
||||
};
|
||||
|
||||
button@1200 {
|
||||
button-1200 {
|
||||
label = "Home";
|
||||
linux,code = <KEY_HOMEPAGE>;
|
||||
channel = <0>;
|
||||
@ -160,8 +150,6 @@ button@1200 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -178,23 +166,13 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
bl_en_pin_inet: bl_en_pin@0 {
|
||||
pins = "PH7";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
touchscreen_wake_pin: touchscreen_wake_pin@0 {
|
||||
pins = "PB13";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -203,7 +181,7 @@ usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>;
|
||||
pinctrl-0 = <&pwm0_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -246,7 +224,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -72,8 +72,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -85,14 +83,10 @@ axp209: pmic@34 {
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
ft5406ee8: touchscreen@38 {
|
||||
@ -109,35 +103,35 @@ &lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
status = "okay";
|
||||
|
||||
button@200 {
|
||||
button-200 {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
channel = <0>;
|
||||
voltage = <200000>;
|
||||
};
|
||||
|
||||
button@600 {
|
||||
button-600 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <600000>;
|
||||
};
|
||||
|
||||
button@800 {
|
||||
button-800 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <800000>;
|
||||
};
|
||||
|
||||
button@1000 {
|
||||
button-1000 {
|
||||
label = "Home";
|
||||
linux,code = <KEY_HOMEPAGE>;
|
||||
channel = <0>;
|
||||
voltage = <1000000>;
|
||||
};
|
||||
|
||||
button@1200 {
|
||||
button-1200 {
|
||||
label = "Esc";
|
||||
linux,code = <KEY_ESC>;
|
||||
channel = <0>;
|
||||
@ -146,8 +140,6 @@ button@1200 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -160,13 +152,13 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -208,7 +200,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -59,7 +59,7 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&key_pins_inet9f>;
|
||||
@ -67,7 +67,7 @@ gpio_keys {
|
||||
#size-cells = <0>;
|
||||
poll-interval = <20>;
|
||||
|
||||
button@0 {
|
||||
left-joystick-left {
|
||||
label = "Left Joystick Left";
|
||||
linux,code = <ABS_X>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -75,7 +75,7 @@ button@0 {
|
||||
gpios = <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */
|
||||
};
|
||||
|
||||
button@1 {
|
||||
left-joystick-right {
|
||||
label = "Left Joystick Right";
|
||||
linux,code = <ABS_X>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -83,7 +83,7 @@ button@1 {
|
||||
gpios = <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */
|
||||
};
|
||||
|
||||
button@2 {
|
||||
left-joystick-up {
|
||||
label = "Left Joystick Up";
|
||||
linux,code = <ABS_Y>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -91,7 +91,7 @@ button@2 {
|
||||
gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
|
||||
};
|
||||
|
||||
button@3 {
|
||||
left-joystick-down {
|
||||
label = "Left Joystick Down";
|
||||
linux,code = <ABS_Y>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -99,7 +99,7 @@ button@3 {
|
||||
gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
|
||||
};
|
||||
|
||||
button@4 {
|
||||
right-joystick-left {
|
||||
label = "Right Joystick Left";
|
||||
linux,code = <ABS_Z>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -107,7 +107,7 @@ button@4 {
|
||||
gpios = <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */
|
||||
};
|
||||
|
||||
button@5 {
|
||||
right-joystick-right {
|
||||
label = "Right Joystick Right";
|
||||
linux,code = <ABS_Z>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -115,7 +115,7 @@ button@5 {
|
||||
gpios = <&pio 0 0 GPIO_ACTIVE_LOW>; /* PA0 */
|
||||
};
|
||||
|
||||
button@6 {
|
||||
right-joystick-up {
|
||||
label = "Right Joystick Up";
|
||||
linux,code = <ABS_RZ>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -123,7 +123,7 @@ button@6 {
|
||||
gpios = <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */
|
||||
};
|
||||
|
||||
button@7 {
|
||||
right-joystick-down {
|
||||
label = "Right Joystick Down";
|
||||
linux,code = <ABS_RZ>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -131,7 +131,7 @@ button@7 {
|
||||
gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
|
||||
};
|
||||
|
||||
button@8 {
|
||||
dpad-left {
|
||||
label = "DPad Left";
|
||||
linux,code = <ABS_HAT0X>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -139,7 +139,7 @@ button@8 {
|
||||
gpios = <&pio 7 23 GPIO_ACTIVE_LOW>; /* PH23 */
|
||||
};
|
||||
|
||||
button@9 {
|
||||
dpad-right {
|
||||
label = "DPad Right";
|
||||
linux,code = <ABS_HAT0X>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -147,7 +147,7 @@ button@9 {
|
||||
gpios = <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */
|
||||
};
|
||||
|
||||
button@10 {
|
||||
dpad-up {
|
||||
label = "DPad Up";
|
||||
linux,code = <ABS_HAT0Y>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -155,7 +155,7 @@ button@10 {
|
||||
gpios = <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */
|
||||
};
|
||||
|
||||
button@11 {
|
||||
dpad-down {
|
||||
label = "DPad Down";
|
||||
linux,code = <ABS_HAT0Y>;
|
||||
linux,input-type = <EV_ABS>;
|
||||
@ -163,49 +163,49 @@ button@11 {
|
||||
gpios = <&pio 7 26 GPIO_ACTIVE_LOW>; /* PH26 */
|
||||
};
|
||||
|
||||
button@12 {
|
||||
x {
|
||||
label = "Button X";
|
||||
linux,code = <BTN_X>;
|
||||
gpios = <&pio 0 16 GPIO_ACTIVE_LOW>; /* PA16 */
|
||||
};
|
||||
|
||||
button@13 {
|
||||
y {
|
||||
label = "Button Y";
|
||||
linux,code = <BTN_Y>;
|
||||
gpios = <&pio 0 14 GPIO_ACTIVE_LOW>; /* PA14 */
|
||||
};
|
||||
|
||||
button@14 {
|
||||
a {
|
||||
label = "Button A";
|
||||
linux,code = <BTN_A>;
|
||||
gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */
|
||||
};
|
||||
|
||||
button@15 {
|
||||
b {
|
||||
label = "Button B";
|
||||
linux,code = <BTN_B>;
|
||||
gpios = <&pio 0 15 GPIO_ACTIVE_LOW>; /* PA15 */
|
||||
};
|
||||
|
||||
button@16 {
|
||||
select {
|
||||
label = "Select Button";
|
||||
linux,code = <BTN_SELECT>;
|
||||
gpios = <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */
|
||||
};
|
||||
|
||||
button@17 {
|
||||
start {
|
||||
label = "Start Button";
|
||||
linux,code = <BTN_START>;
|
||||
gpios = <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */
|
||||
};
|
||||
|
||||
button@18 {
|
||||
top-left {
|
||||
label = "Top Left Button";
|
||||
linux,code = <BTN_TL>;
|
||||
gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
|
||||
};
|
||||
|
||||
button@19 {
|
||||
top-right {
|
||||
label = "Top Right Button";
|
||||
linux,code = <BTN_TR>;
|
||||
gpios = <&pio 0 13 GPIO_ACTIVE_LOW>; /* PA13 */
|
||||
@ -222,8 +222,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -235,8 +233,6 @@ axp209: pmic@34 {
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
/* Accelerometer */
|
||||
@ -249,8 +245,6 @@ bma250@18 {
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
ft5406ee8: touchscreen@38 {
|
||||
@ -267,35 +261,35 @@ &lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
status = "okay";
|
||||
|
||||
button@200 {
|
||||
button-200 {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
channel = <0>;
|
||||
voltage = <200000>;
|
||||
};
|
||||
|
||||
button@600 {
|
||||
button-600 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <600000>;
|
||||
};
|
||||
|
||||
button@800 {
|
||||
button-800 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <800000>;
|
||||
};
|
||||
|
||||
button@1000 {
|
||||
button-1000 {
|
||||
label = "Home";
|
||||
linux,code = <KEY_HOMEPAGE>;
|
||||
channel = <0>;
|
||||
voltage = <1000000>;
|
||||
};
|
||||
|
||||
button@1200 {
|
||||
button-1200 {
|
||||
label = "Esc";
|
||||
linux,code = <KEY_ESC>;
|
||||
channel = <0>;
|
||||
@ -304,8 +298,6 @@ button@1200 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -318,7 +310,7 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
key_pins_inet9f: key_pins@0 {
|
||||
key_pins_inet9f: key-pins {
|
||||
pins = "PA0", "PA1", "PA3", "PA4",
|
||||
"PA5", "PA6", "PA8", "PA9",
|
||||
"PA11", "PA12", "PA13",
|
||||
@ -328,13 +320,13 @@ key_pins_inet9f: key_pins@0 {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -376,7 +368,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -57,7 +57,7 @@ &ahci {
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
pinctrl-0 = <&emac_pins>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -67,6 +67,9 @@ &emac_sram {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
|
||||
axp209: pmic@34 {
|
||||
interrupts = <0>;
|
||||
};
|
||||
@ -74,19 +77,19 @@ axp209: pmic@34 {
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -100,7 +103,7 @@ phy1: ethernet-phy@1 {
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -114,7 +117,11 @@ ®_ahci_5v {
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins_a>,
|
||||
<&spi0_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi0_pi_pins>,
|
||||
<&spi0_cs0_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
};
|
||||
|
@ -62,8 +62,6 @@ chosen {
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_q5>;
|
||||
|
||||
green {
|
||||
label = "q5:green:usr";
|
||||
@ -74,8 +72,6 @@ green {
|
||||
|
||||
reg_emac_3v3: emac-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_power_pin_q5>;
|
||||
regulator-name = "emac-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@ -98,8 +94,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -109,8 +103,6 @@ &emac_sram {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -125,7 +117,7 @@ axp209: pmic@34 {
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -139,8 +131,6 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -160,18 +150,6 @@ &otg_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
emac_power_pin_q5: emac_power_pin@0 {
|
||||
pins = "PH19";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_q5: led_pins@0 {
|
||||
pins = "PH20";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
regulator-boot-on;
|
||||
status = "okay";
|
||||
@ -187,7 +165,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -61,8 +61,6 @@ chosen {
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_marsboard>;
|
||||
|
||||
red1 {
|
||||
label = "marsboard:red1:usr";
|
||||
@ -107,27 +105,19 @@ &emac_sram {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -140,8 +130,6 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -162,12 +150,7 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_marsboard: led_pins@0 {
|
||||
pins = "PB5", "PB6", "PB7", "PB8";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
@ -184,14 +167,14 @@ ®_usb2_vbus {
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins_a>,
|
||||
<&spi0_cs0_pins_a>;
|
||||
pinctrl-0 = <&spi0_pi_pins>,
|
||||
<&spi0_cs0_pi_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -70,8 +70,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -86,18 +84,16 @@ axp209: pmic@34 {
|
||||
|
||||
&ir0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir0_rx_pins_a>;
|
||||
pinctrl-0 = <&ir0_rx_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir0_rx_pins_a {
|
||||
&ir0_rx_pins {
|
||||
/* The ir receiver is not always populated */
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -132,7 +128,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -71,8 +71,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -88,23 +86,6 @@ &otg_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb2_vbus_pin_mk802: usb2_vbus_pin@0 {
|
||||
pins = "PH12";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
@ -114,14 +95,13 @@ ®_usb1_vbus {
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
pinctrl-0 = <&usb2_vbus_pin_mk802>;
|
||||
gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -131,8 +111,6 @@ &usb_otg {
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
|
||||
usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
|
||||
usb0_vbus-supply = <®_usb0_vbus>;
|
||||
|
@ -67,8 +67,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -82,8 +80,6 @@ axp209: pmic@34 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -105,7 +101,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -58,6 +58,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -89,6 +100,10 @@ &cpu0 {
|
||||
cooling-max-level = <2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -98,8 +113,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -108,9 +121,17 @@ &emac_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -124,8 +145,6 @@ axp209: pmic@34 {
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
@ -144,8 +163,6 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -166,24 +183,19 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 {
|
||||
pins = "PC3";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
led_pins_olinuxinolime: led_pins@0 {
|
||||
led_pins_olinuxinolime: led-pin {
|
||||
pins = "PH2";
|
||||
function = "gpio_out";
|
||||
drive-strength = <20>;
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -191,7 +203,6 @@ usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
|
||||
gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -210,7 +221,7 @@ ®_usb2_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -62,8 +62,6 @@ chosen {
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_pcduino>;
|
||||
|
||||
tx {
|
||||
label = "pcduino:green:tx";
|
||||
@ -76,26 +74,24 @@ rx {
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&key_pins_pcduino>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
button@0 {
|
||||
back {
|
||||
label = "Key Back";
|
||||
linux,code = <KEY_BACK>;
|
||||
gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
button@1 {
|
||||
home {
|
||||
label = "Key Home";
|
||||
linux,code = <KEY_HOME>;
|
||||
gpios = <&pio 7 18 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
button@2 {
|
||||
menu {
|
||||
label = "Key Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
gpios = <&pio 7 19 GPIO_ACTIVE_LOW>;
|
||||
@ -116,8 +112,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins_a>;
|
||||
phy = <&phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
@ -127,8 +121,6 @@ &emac_sram {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -146,8 +138,6 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -168,17 +158,7 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_pcduino: led_pins@0 {
|
||||
pins = "PH15", "PH16";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
key_pins_pcduino: key_pins@0 {
|
||||
pins = "PH17", "PH18", "PH19";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
@ -214,7 +194,7 @@ ®_ldo2 {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -55,16 +55,7 @@ / {
|
||||
compatible = "linksprite,a10-pcduino2", "allwinner,sun4i-a10";
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb2_vbus_pin_pcduino2: usb2_vbus_pin@0 {
|
||||
pins = "PD2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb2_vbus_pin_pcduino2>;
|
||||
gpio = <&pio 3 2 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -58,8 +58,6 @@ aliases {
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bl_en_pin_protab>;
|
||||
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
||||
default-brightness-level = <8>;
|
||||
@ -72,8 +70,6 @@ chosen {
|
||||
};
|
||||
|
||||
&codec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&codec_pa_pin>;
|
||||
allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
|
||||
status = "okay";
|
||||
};
|
||||
@ -87,8 +83,6 @@ &ehci0 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -100,20 +94,14 @@ axp209: pmic@34 {
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
/* pull-ups and devices require AXP209 LDO3 */
|
||||
status = "failed";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
pixcir_ts@5c {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&touchscreen_pins>;
|
||||
touchscreen@5c {
|
||||
compatible = "pixcir,pixcir_tangoc";
|
||||
reg = <0x5c>;
|
||||
interrupt-parent = <&pio>;
|
||||
@ -132,14 +120,14 @@ &lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
status = "okay";
|
||||
|
||||
button@400 {
|
||||
button-400 {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <400000>;
|
||||
};
|
||||
|
||||
button@800 {
|
||||
button-800 {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
@ -148,8 +136,6 @@ button@800 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
|
||||
@ -162,28 +148,13 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
bl_en_pin_protab: bl_en_pin@0 {
|
||||
pins = "PH7";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
codec_pa_pin: codec_pa_pin@0 {
|
||||
pins = "PH15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
touchscreen_pins: touchscreen_pins@0 {
|
||||
pins = "PA5", "PB13";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb0_id_detect_pin: usb0_id_detect_pin@0 {
|
||||
usb0_id_detect_pin: usb0-id-detect-pin {
|
||||
pins = "PH4";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
|
||||
pins = "PH5";
|
||||
function = "gpio_in";
|
||||
bias-pull-down;
|
||||
@ -192,7 +163,7 @@ usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm0_pins_a>;
|
||||
pinctrl-0 = <&pwm0_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -231,7 +202,7 @@ ®_usb1_vbus {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -110,6 +110,14 @@ pcf8563: rtc@51 {
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lradc {
|
||||
vref-supply = <®_ldo2>;
|
||||
};
|
||||
|
@ -62,6 +62,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vga-connector {
|
||||
compatible = "vga-connector";
|
||||
|
||||
@ -162,6 +173,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
@ -278,12 +278,23 @@ tcon0_in_drc0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&drc0_out_tcon0>;
|
||||
};
|
||||
|
||||
tcon0_in_drc1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&drc1_out_tcon0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcon0_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon0_out_hdmi: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&hdmi_in_tcon0>;
|
||||
allwinner,tcon-channel = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -311,8 +322,13 @@ tcon1_in: port@0 {
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
tcon1_in_drc1: endpoint@0 {
|
||||
tcon1_in_drc0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&drc0_out_tcon1>;
|
||||
};
|
||||
|
||||
tcon1_in_drc1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&drc1_out_tcon1>;
|
||||
};
|
||||
};
|
||||
@ -321,6 +337,12 @@ tcon1_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
tcon1_out_hdmi: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&hdmi_in_tcon1>;
|
||||
allwinner,tcon-channel = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -401,6 +423,49 @@ mmc3: mmc@1c12000 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
hdmi: hdmi@1c16000 {
|
||||
compatible = "allwinner,sun6i-a31-hdmi";
|
||||
reg = <0x01c16000 0x1000>;
|
||||
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_AHB1_HDMI>, <&ccu CLK_HDMI>,
|
||||
<&ccu CLK_HDMI_DDC>,
|
||||
<&ccu 7>,
|
||||
<&ccu 13>;
|
||||
clock-names = "ahb", "mod", "ddc", "pll-0", "pll-1";
|
||||
resets = <&ccu RST_AHB1_HDMI>;
|
||||
reset-names = "ahb";
|
||||
dma-names = "ddc-tx", "ddc-rx", "audio-tx";
|
||||
dmas = <&dma 13>, <&dma 13>, <&dma 14>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hdmi_in: port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
hdmi_in_tcon0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon0_out_hdmi>;
|
||||
};
|
||||
|
||||
hdmi_in_tcon1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon1_out_hdmi>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_out: port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb_otg: usb@1c19000 {
|
||||
compatible = "allwinner,sun6i-a31-musb";
|
||||
reg = <0x01c19000 0x0400>;
|
||||
@ -662,6 +727,32 @@ spdif: spdif@1c21000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s0: i2s@1c22000 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "allwinner,sun6i-a31-i2s";
|
||||
reg = <0x01c22000 0x400>;
|
||||
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_APB1_DAUDIO0>, <&ccu CLK_DAUDIO0>;
|
||||
resets = <&ccu RST_APB1_DAUDIO0>;
|
||||
clock-names = "apb", "mod";
|
||||
dmas = <&dma 3>, <&dma 3>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s1: i2s@1c22400 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "allwinner,sun6i-a31-i2s";
|
||||
reg = <0x01c22400 0x400>;
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_APB1_DAUDIO1>, <&ccu CLK_DAUDIO1>;
|
||||
resets = <&ccu RST_APB1_DAUDIO1>;
|
||||
clock-names = "apb", "mod";
|
||||
dmas = <&dma 4>, <&dma 4>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lradc: lradc@1c22800 {
|
||||
compatible = "allwinner,sun4i-a10-lradc-keys";
|
||||
reg = <0x01c22800 0x100>;
|
||||
@ -1012,8 +1103,8 @@ be1_out: port@1 {
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
be1_out_drc1: endpoint@0 {
|
||||
reg = <0>;
|
||||
be1_out_drc1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&drc1_in_be1>;
|
||||
};
|
||||
};
|
||||
@ -1042,8 +1133,8 @@ drc1_in: port@0 {
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
drc1_in_be1: endpoint@0 {
|
||||
reg = <0>;
|
||||
drc1_in_be1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&be1_out_drc1>;
|
||||
};
|
||||
};
|
||||
@ -1053,8 +1144,13 @@ drc1_out: port@1 {
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
drc1_out_tcon1: endpoint@0 {
|
||||
drc1_out_tcon0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon0_in_drc1>;
|
||||
};
|
||||
|
||||
drc1_out_tcon1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon1_in_drc1>;
|
||||
};
|
||||
};
|
||||
@ -1144,6 +1240,11 @@ drc0_out_tcon0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&tcon0_in_drc0>;
|
||||
};
|
||||
|
||||
drc0_out_tcon1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&tcon1_in_drc0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -52,17 +52,42 @@
|
||||
/ {
|
||||
model = "MSI Primo81 tablet";
|
||||
compatible = "msi,primo81", "allwinner,sun6i-a31s";
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "c";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc3>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
/* rtl8188etv wifi is connected here */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
/* pull-ups and device VDDIO use AXP221 DLDO3 */
|
||||
pinctrl-names = "default";
|
||||
|
@ -53,6 +53,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -90,6 +101,10 @@ &codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
/* USB 2.0 4 port hub IC */
|
||||
status = "okay";
|
||||
@ -112,6 +127,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&ir {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir_pins_a>;
|
||||
|
@ -60,6 +60,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -109,6 +120,10 @@ &cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -130,6 +145,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
@ -61,6 +61,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -91,6 +102,10 @@ &cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -111,6 +126,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
@ -61,6 +61,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -126,6 +137,10 @@ &cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -146,6 +161,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
@ -61,6 +61,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -98,6 +109,10 @@ &cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -173,6 +188,16 @@ fixed-link {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
@ -241,6 +266,14 @@ led_pins_lamobo_r1: led_pins@0 {
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
gpio = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
|
||||
status = "okay";
|
||||
|
@ -62,6 +62,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -80,6 +91,10 @@ &ahci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -100,6 +115,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
@ -59,6 +59,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -85,6 +96,10 @@ &ahci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -105,6 +120,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
|
70
arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
Normal file
70
arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright 2017 Olimex Ltd.
|
||||
* Stefan Mavrodiev <stefan@olimex.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "sun7i-a20-olinuxino-micro.dts"
|
||||
|
||||
/ {
|
||||
model = "Olimex A20-OLinuXino-MICRO-eMMC";
|
||||
compatible = "olimex,a20-olinuxino-micro-emmc", "allwinner,sun7i-a20";
|
||||
|
||||
mmc2_pwrseq: pwrseq {
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
mmc-pwrseq = <&mmc2_pwrseq>;
|
||||
status = "okay";
|
||||
|
||||
emmc: emmc@0 {
|
||||
reg = <0>;
|
||||
compatible = "mmc-card";
|
||||
broken-hpi;
|
||||
};
|
||||
};
|
@ -66,6 +66,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
@ -92,6 +103,10 @@ &cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -102,7 +117,7 @@ &ehci1 {
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins_mii_a>;
|
||||
pinctrl-0 = <&gmac_pins_mii_a>, <&gmac_txerr>;
|
||||
phy = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
@ -112,6 +127,16 @@ phy1: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
@ -229,6 +254,11 @@ &otg_sram {
|
||||
};
|
||||
|
||||
&pio {
|
||||
gmac_txerr: gmac_txerr@0 {
|
||||
pins = "PA17";
|
||||
function = "gmac";
|
||||
};
|
||||
|
||||
mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
|
||||
pins = "PH11";
|
||||
function = "gpio_in";
|
||||
@ -256,6 +286,14 @@ usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&battery_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
@ -330,6 +368,10 @@ &usb_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
|
||||
|
File diff suppressed because it is too large
Load Diff
199
arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
Normal file
199
arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
Normal file
@ -0,0 +1,199 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Touchless Biometric Systems AG
|
||||
* Tomas Novotny <tomas@novotny.cz>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun8i-a83t.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TBS A711 Tablet";
|
||||
compatible = "tbs-biometrics,a711", "allwinner,sun8i-a83t";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reg_vbat: reg-vbat {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vbat";
|
||||
regulator-min-microvolt = <3700000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
};
|
||||
|
||||
reg_vmain: reg-vmain {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vmain";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <®_vbat>;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
|
||||
|
||||
/*
|
||||
* This is actually Bluetooth's clock, but we have to
|
||||
* hook it up somewheere
|
||||
*/
|
||||
clocks = <&ac100_rtc 1>;
|
||||
clock-names = "ext_clock";
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* An USB-2 hub is connected here, which also means we don't need to
|
||||
* enable the OHCI controller.
|
||||
*/
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* There's a modem connected here that needs to be initialised before
|
||||
* being able to be enumerated.
|
||||
*/
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
non-removable;
|
||||
wakeup-source;
|
||||
status = "okay";
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
interrupt-parent = <&r_pio>;
|
||||
interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 WL_WAKE_UP */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-0 = <&mmc2_8bit_emmc_pins>;
|
||||
pinctrl-names = "default";
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
cap-mmc-hw-reset;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
axp813: pmic@3a3 {
|
||||
compatible = "x-powers,axp813";
|
||||
reg = <0x3a3>;
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
ac100: codec@e89 {
|
||||
compatible = "x-powers,ac100";
|
||||
reg = <0xe89>;
|
||||
|
||||
ac100_codec: codec {
|
||||
compatible = "x-powers,ac100-codec";
|
||||
interrupt-parent = <&r_pio>;
|
||||
interrupts = <0 12 IRQ_TYPE_LEVEL_LOW>; /* PL12 */
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "4M_adda";
|
||||
};
|
||||
|
||||
ac100_rtc: rtc {
|
||||
compatible = "x-powers,ac100-rtc";
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&ac100_codec>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "cko1_rtc",
|
||||
"cko2_rtc",
|
||||
"cko3_rtc";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* There's the BT part of the AP6210 connected to that UART */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb1_vbus_supply = <®_vcc5v0>;
|
||||
usb2_vbus_supply = <®_vcc5v0>;
|
||||
status = "okay";
|
||||
};
|
@ -54,12 +54,6 @@ / {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
aliases {
|
||||
};
|
||||
|
||||
chosen {
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@ -348,6 +342,14 @@ mmc0_pins: mmc0-pins {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc1_pins: mmc1-pins {
|
||||
pins = "PG0", "PG1", "PG2",
|
||||
"PG3", "PG4", "PG5";
|
||||
function = "mmc1";
|
||||
drive-strength = <30>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc2_8bit_emmc_pins: mmc2-8bit-emmc-pins {
|
||||
pins = "PC5", "PC6", "PC8", "PC9",
|
||||
"PC10", "PC11", "PC12", "PC13",
|
||||
@ -371,6 +373,16 @@ uart0_pf_pins: uart0-pf-pins {
|
||||
pins = "PF2", "PF4";
|
||||
function = "uart0";
|
||||
};
|
||||
|
||||
uart1_pins: uart1-pins {
|
||||
pins = "PG6", "PG7";
|
||||
function = "uart1";
|
||||
};
|
||||
|
||||
uart1_rts_cts_pins: uart1-rts-cts-pins {
|
||||
pins = "PG8", "PG9";
|
||||
function = "uart1";
|
||||
};
|
||||
};
|
||||
|
||||
timer@1c20c00 {
|
||||
@ -415,6 +427,17 @@ uart0: serial@1c28000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart1: serial@1c28400 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28400 0x400>;
|
||||
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART1>;
|
||||
resets = <&ccu RST_BUS_UART1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@1c81000 {
|
||||
compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
|
||||
reg = <0x01c81000 0x1000>,
|
||||
|
@ -63,7 +63,6 @@ chosen {
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwr_led_bpi_m2p>;
|
||||
|
||||
pwr_led {
|
||||
label = "bananapi-m2-plus:red:pwr";
|
||||
@ -75,7 +74,6 @@ pwr_led {
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sw_r_bpi_m2p>;
|
||||
|
||||
sw4 {
|
||||
label = "power";
|
||||
@ -97,7 +95,6 @@ reg_gmac_3v3: gmac-3v3 {
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wifi_en_bpi_m2p>;
|
||||
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
};
|
||||
};
|
||||
@ -171,23 +168,6 @@ &ohci2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
pwr_led_bpi_m2p: led_pins@0 {
|
||||
pins = "PL10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
sw_r_bpi_m2p: key_pins@0 {
|
||||
pins = "PL3";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
wifi_en_bpi_m2p: wifi_en_pin {
|
||||
pins = "PL7";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
®_usb0_vbus {
|
||||
gpio = <&pio 3 11 GPIO_ACTIVE_HIGH>; /* PD11 */
|
||||
status = "okay";
|
||||
|
@ -45,6 +45,17 @@
|
||||
/ {
|
||||
model = "FriendlyArm NanoPi M1 Plus";
|
||||
compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3";
|
||||
|
||||
aliases {
|
||||
serial1 = &uart3;
|
||||
ethernet1 = &sdio_wifi;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
};
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
@ -55,6 +66,31 @@ &ehci2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
sdio_wifi: sdio_wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -62,3 +98,9 @@ &ohci1 {
|
||||
&ohci2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -55,6 +55,12 @@ &ehci2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -81,7 +81,7 @@ r_gpio_keys {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sw_r_npi>;
|
||||
|
||||
k1@0 {
|
||||
k1 {
|
||||
label = "k1";
|
||||
linux,code = <KEY_POWER>;
|
||||
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
|
||||
@ -108,19 +108,19 @@ &ohci3 {
|
||||
};
|
||||
|
||||
&pio {
|
||||
leds_npi: led_pins@0 {
|
||||
leds_npi: led_pins {
|
||||
pins = "PA10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
leds_r_npi: led_pins@0 {
|
||||
leds_r_npi: led_pins {
|
||||
pins = "PL10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
sw_r_npi: key_pins@0 {
|
||||
sw_r_npi: key_pins {
|
||||
pins = "PL3";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
@ -152,24 +152,24 @@ rtl8189: sdio_wifi@1 {
|
||||
};
|
||||
|
||||
&pio {
|
||||
leds_opc: led_pins@0 {
|
||||
leds_opc: led_pins {
|
||||
pins = "PA15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
leds_r_opc: led_pins@0 {
|
||||
leds_r_opc: led_pins {
|
||||
pins = "PL10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
sw_r_opc: key_pins@0 {
|
||||
sw_r_opc: key_pins {
|
||||
pins = "PL3", "PL4";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
||||
wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 {
|
||||
wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin {
|
||||
pins = "PL7";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
@ -141,19 +141,19 @@ &ohci2 {
|
||||
};
|
||||
|
||||
&pio {
|
||||
leds_opc: led_pins@0 {
|
||||
leds_opc: led_pins {
|
||||
pins = "PA15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
leds_r_opc: led_pins@0 {
|
||||
leds_r_opc: led_pins {
|
||||
pins = "PL10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
sw_r_opc: key_pins@0 {
|
||||
sw_r_opc: key_pins {
|
||||
pins = "PL3";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
@ -116,19 +116,19 @@ &ohci1 {
|
||||
};
|
||||
|
||||
&pio {
|
||||
leds_opc: led_pins@0 {
|
||||
leds_opc: led_pins {
|
||||
pins = "PA15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
leds_r_opc: led_pins@0 {
|
||||
leds_r_opc: led_pins {
|
||||
pins = "PL10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
sw_r_opc: key_pins@0 {
|
||||
sw_r_opc: key_pins {
|
||||
pins = "PL3";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
@ -146,19 +146,19 @@ &ohci3 {
|
||||
};
|
||||
|
||||
&pio {
|
||||
leds_opc: led_pins@0 {
|
||||
leds_opc: led_pins {
|
||||
pins = "PA15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
leds_r_opc: led_pins@0 {
|
||||
leds_r_opc: led_pins {
|
||||
pins = "PL10";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
sw_r_opc: key_pins@0 {
|
||||
sw_r_opc: key_pins {
|
||||
pins = "PL3";
|
||||
function = "gpio_in";
|
||||
};
|
||||
|
@ -92,7 +92,7 @@ &mmc2_8bit_pins {
|
||||
};
|
||||
|
||||
&pio {
|
||||
usb3_vbus_pin_a: usb3_vbus_pin@0 {
|
||||
usb3_vbus_pin_a: usb3_vbus_pin {
|
||||
pins = "PG11";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
209
arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
Normal file
209
arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
Normal file
@ -0,0 +1,209 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org>
|
||||
* Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun8i-r40.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Banana Pi BPI-M2-Ultra";
|
||||
compatible = "sinovoip,bpi-m2-ultra", "allwinner,sun8i-r40";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
pwr-led {
|
||||
label = "bananapi:red:pwr";
|
||||
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
user-led-green {
|
||||
label = "bananapi:green:user";
|
||||
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
user-led-blue {
|
||||
label = "bananapi:blue:user";
|
||||
gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_vcc5v0: vcc5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>; /* PH23 */
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
|
||||
};
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
axp22x: pmic@34 {
|
||||
compatible = "x-powers,axp221";
|
||||
reg = <0x34>;
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp22x.dtsi"
|
||||
|
||||
®_aldo3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "avcc";
|
||||
};
|
||||
|
||||
®_dcdc1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-name = "vcc-3v0";
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
®_dcdc3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-name = "vdd-sys";
|
||||
};
|
||||
|
||||
®_dcdc5 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-name = "vcc-dram";
|
||||
};
|
||||
|
||||
®_dldo1 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi-io";
|
||||
};
|
||||
|
||||
®_dldo2 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pg_pins>;
|
||||
vmmc-supply = <®_dldo2>;
|
||||
vqmmc-supply = <®_dldo1>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
vqmmc-supply = <®_dcdc1>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb1_vbus-supply = <®_vcc5v0>;
|
||||
usb2_vbus-supply = <®_vcc5v0>;
|
||||
status = "okay";
|
||||
};
|
473
arch/arm/boot/dts/sun8i-r40.dtsi
Normal file
473
arch/arm/boot/dts/sun8i-r40.dtsi
Normal file
@ -0,0 +1,473 @@
|
||||
/*
|
||||
* Copyright 2017 Chen-Yu Tsai <wens@csie.org>
|
||||
* Copyright 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/sun8i-r40-ccu.h>
|
||||
#include <dt-bindings/reset/sun8i-r40-ccu.h>
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
osc24M: osc24M {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
clock-output-names = "osc24M";
|
||||
};
|
||||
|
||||
osc32k: osc32k {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "osc32k";
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
compatible = "arm,cortex-a7";
|
||||
device_type = "cpu";
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
nmi_intc: interrupt-controller@1c00030 {
|
||||
compatible = "allwinner,sun7i-a20-sc-nmi";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0x01c00030 0x0c>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
mmc0: mmc@1c0f000 {
|
||||
compatible = "allwinner,sun8i-r40-mmc",
|
||||
"allwinner,sun50i-a64-mmc";
|
||||
reg = <0x01c0f000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ccu RST_BUS_MMC0>;
|
||||
reset-names = "ahb";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
pinctrl-names = "default";
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc1: mmc@1c10000 {
|
||||
compatible = "allwinner,sun8i-r40-mmc",
|
||||
"allwinner,sun50i-a64-mmc";
|
||||
reg = <0x01c10000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ccu RST_BUS_MMC1>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc2: mmc@1c11000 {
|
||||
compatible = "allwinner,sun8i-r40-emmc",
|
||||
"allwinner,sun50i-a64-emmc";
|
||||
reg = <0x01c11000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ccu RST_BUS_MMC2>;
|
||||
reset-names = "ahb";
|
||||
pinctrl-0 = <&mmc2_pins>;
|
||||
pinctrl-names = "default";
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc3: mmc@1c12000 {
|
||||
compatible = "allwinner,sun8i-r40-mmc",
|
||||
"allwinner,sun50i-a64-mmc";
|
||||
reg = <0x01c12000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_MMC3>, <&ccu CLK_MMC3>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ccu RST_BUS_MMC3>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
usbphy: phy@1c13400 {
|
||||
compatible = "allwinner,sun8i-r40-usb-phy";
|
||||
reg = <0x01c13400 0x14>,
|
||||
<0x01c14800 0x4>,
|
||||
<0x01c19800 0x4>,
|
||||
<0x01c1c800 0x4>;
|
||||
reg-names = "phy_ctrl",
|
||||
"pmu0",
|
||||
"pmu1",
|
||||
"pmu2";
|
||||
clocks = <&ccu CLK_USB_PHY0>,
|
||||
<&ccu CLK_USB_PHY1>,
|
||||
<&ccu CLK_USB_PHY2>;
|
||||
clock-names = "usb0_phy",
|
||||
"usb1_phy",
|
||||
"usb2_phy";
|
||||
resets = <&ccu RST_USB_PHY0>,
|
||||
<&ccu RST_USB_PHY1>,
|
||||
<&ccu RST_USB_PHY2>;
|
||||
reset-names = "usb0_reset",
|
||||
"usb1_reset",
|
||||
"usb2_reset";
|
||||
status = "disabled";
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
ehci1: usb@1c19000 {
|
||||
compatible = "allwinner,sun8i-r40-ehci", "generic-ehci";
|
||||
reg = <0x01c19000 0x100>;
|
||||
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_EHCI1>;
|
||||
resets = <&ccu RST_BUS_EHCI1>;
|
||||
phys = <&usbphy 1>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci1: usb@1c19400 {
|
||||
compatible = "allwinner,sun8i-r40-ohci", "generic-ohci";
|
||||
reg = <0x01c19400 0x100>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
<&ccu CLK_USB_OHCI1>;
|
||||
resets = <&ccu RST_BUS_OHCI1>;
|
||||
phys = <&usbphy 1>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ehci2: usb@1c1c000 {
|
||||
compatible = "allwinner,sun8i-r40-ehci", "generic-ehci";
|
||||
reg = <0x01c1c000 0x100>;
|
||||
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_EHCI2>;
|
||||
resets = <&ccu RST_BUS_EHCI2>;
|
||||
phys = <&usbphy 2>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci2: usb@1c1c400 {
|
||||
compatible = "allwinner,sun8i-r40-ohci", "generic-ohci";
|
||||
reg = <0x01c1c400 0x100>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI2>,
|
||||
<&ccu CLK_USB_OHCI2>;
|
||||
resets = <&ccu RST_BUS_OHCI2>;
|
||||
phys = <&usbphy 2>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ccu: clock@1c20000 {
|
||||
compatible = "allwinner,sun8i-r40-ccu";
|
||||
reg = <0x01c20000 0x400>;
|
||||
clocks = <&osc24M>, <&osc32k>;
|
||||
clock-names = "hosc", "losc";
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
pio: pinctrl@1c20800 {
|
||||
compatible = "allwinner,sun8i-r40-pinctrl";
|
||||
reg = <0x01c20800 0x400>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
|
||||
clock-names = "apb", "hosc", "losc";
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
#gpio-cells = <3>;
|
||||
|
||||
i2c0_pins: i2c0-pins {
|
||||
pins = "PB0", "PB1";
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2",
|
||||
"PF3", "PF4", "PF5";
|
||||
function = "mmc0";
|
||||
drive-strength = <30>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc1_pg_pins: mmc1-pg-pins {
|
||||
pins = "PG0", "PG1", "PG2",
|
||||
"PG3", "PG4", "PG5";
|
||||
function = "mmc1";
|
||||
drive-strength = <30>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc2_pins: mmc2-pins {
|
||||
pins = "PC5", "PC6", "PC7", "PC8", "PC9",
|
||||
"PC10", "PC11", "PC12", "PC13", "PC14",
|
||||
"PC15", "PC24";
|
||||
function = "mmc2";
|
||||
drive-strength = <30>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
uart0_pb_pins: uart0-pb-pins {
|
||||
pins = "PB22", "PB23";
|
||||
function = "uart0";
|
||||
};
|
||||
};
|
||||
|
||||
wdt: watchdog@1c20c90 {
|
||||
compatible = "allwinner,sun4i-a10-wdt";
|
||||
reg = <0x01c20c90 0x10>;
|
||||
};
|
||||
|
||||
uart0: serial@1c28000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28000 0x400>;
|
||||
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART0>;
|
||||
resets = <&ccu RST_BUS_UART0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart1: serial@1c28400 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28400 0x400>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART1>;
|
||||
resets = <&ccu RST_BUS_UART1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart2: serial@1c28800 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28800 0x400>;
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART2>;
|
||||
resets = <&ccu RST_BUS_UART2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart3: serial@1c28c00 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28c00 0x400>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART3>;
|
||||
resets = <&ccu RST_BUS_UART3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart4: serial@1c29000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c29000 0x400>;
|
||||
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART4>;
|
||||
resets = <&ccu RST_BUS_UART4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart5: serial@1c29400 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c29400 0x400>;
|
||||
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART5>;
|
||||
resets = <&ccu RST_BUS_UART5>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart6: serial@1c29800 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c29800 0x400>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART6>;
|
||||
resets = <&ccu RST_BUS_UART6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart7: serial@1c29c00 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c29c00 0x400>;
|
||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART7>;
|
||||
resets = <&ccu RST_BUS_UART7>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c0: i2c@1c2ac00 {
|
||||
compatible = "allwinner,sun6i-a31-i2c";
|
||||
reg = <0x01c2ac00 0x400>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C0>;
|
||||
resets = <&ccu RST_BUS_I2C0>;
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c1: i2c@1c2b000 {
|
||||
compatible = "allwinner,sun6i-a31-i2c";
|
||||
reg = <0x01c2b000 0x400>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C1>;
|
||||
resets = <&ccu RST_BUS_I2C1>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c2: i2c@1c2b400 {
|
||||
compatible = "allwinner,sun6i-a31-i2c";
|
||||
reg = <0x01c2b400 0x400>;
|
||||
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C2>;
|
||||
resets = <&ccu RST_BUS_I2C2>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c3: i2c@1c2b800 {
|
||||
compatible = "allwinner,sun6i-a31-i2c";
|
||||
reg = <0x01c2b800 0x400>;
|
||||
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C3>;
|
||||
resets = <&ccu RST_BUS_I2C3>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
i2c4: i2c@1c2c000 {
|
||||
compatible = "allwinner,sun6i-a31-i2c";
|
||||
reg = <0x01c2c000 0x400>;
|
||||
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C4>;
|
||||
resets = <&ccu RST_BUS_I2C4>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@1c81000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x01c81000 0x1000>,
|
||||
<0x01c82000 0x1000>,
|
||||
<0x01c84000 0x2000>,
|
||||
<0x01c86000 0x2000>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv7-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
};
|
173
arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
Normal file
173
arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
Normal file
@ -0,0 +1,173 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun8i-r40.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Banana Pi M2 Berry";
|
||||
compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
pwr-led {
|
||||
label = "bananapi:red:pwr";
|
||||
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
user-led {
|
||||
label = "bananapi:green:user";
|
||||
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_vcc5v0: vcc5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>; /* PH23 */
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
axp22x: pmic@68 {
|
||||
compatible = "x-powers,axp221";
|
||||
reg = <0x34>;
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp22x.dtsi"
|
||||
|
||||
®_aldo3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "avcc";
|
||||
};
|
||||
|
||||
®_dcdc1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-name = "vcc-3v0";
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
®_dcdc3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-name = "vdd-sys";
|
||||
};
|
||||
|
||||
®_dcdc5 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-name = "vcc-dram";
|
||||
};
|
||||
|
||||
®_dldo1 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi-io";
|
||||
};
|
||||
|
||||
®_dldo2 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pg_pins>;
|
||||
vmmc-supply = <®_dldo2>;
|
||||
vqmmc-supply = <®_dldo1>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
@ -62,8 +62,6 @@ chosen {
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_cubieboard4>;
|
||||
|
||||
green {
|
||||
label = "cubieboard4:green:usr";
|
||||
@ -76,7 +74,7 @@ red {
|
||||
};
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&ac100_rtc 1>;
|
||||
clock-names = "ext_clock";
|
||||
@ -87,7 +85,7 @@ wifi_pwrseq: wifi_pwrseq {
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_cubieboard4>;
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */
|
||||
@ -97,7 +95,7 @@ &mmc0 {
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>, <&wifi_en_pin_cubieboard4>;
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
vmmc-supply = <®_dldo1>;
|
||||
vqmmc-supply = <®_cldo3>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
@ -130,30 +128,10 @@ &osc32k {
|
||||
clocks = <&ac100_rtc 0>;
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_cubieboard4: led-pins@0 {
|
||||
pins = "PH6", "PH17";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin_cubieboard4: mmc0_cd_pin@0 {
|
||||
pins = "PH18";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
&r_ir {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
wifi_en_pin_cubieboard4: wifi_en_pin@0 {
|
||||
pins = "PL2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
@ -427,6 +405,6 @@ ac100_rtc: rtc {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -62,11 +62,8 @@ chosen {
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_optimus>, <&led_r_pins_optimus>;
|
||||
|
||||
/* The LED names match those found on the board */
|
||||
|
||||
led2 {
|
||||
label = "optimus:led2:usr";
|
||||
gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>;
|
||||
@ -86,8 +83,6 @@ led4 {
|
||||
reg_usb1_vbus: usb1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb1_vbus_pin_optimus>;
|
||||
regulator-name = "usb1-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
@ -97,15 +92,13 @@ reg_usb1_vbus: usb1-vbus {
|
||||
reg_usb3_vbus: usb3-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb3_vbus_pin_optimus>;
|
||||
regulator-name = "usb3-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&ac100_rtc 1>;
|
||||
clock-names = "ext_clock";
|
||||
@ -129,7 +122,7 @@ &ehci2 {
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_optimus>;
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */
|
||||
@ -139,7 +132,7 @@ &mmc0 {
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>, <&wifi_en_pin_optimus>;
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
vmmc-supply = <®_dldo1>;
|
||||
vqmmc-supply = <®_cldo3>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
@ -180,45 +173,10 @@ &osc32k {
|
||||
clocks = <&ac100_rtc 0>;
|
||||
};
|
||||
|
||||
&pio {
|
||||
led_pins_optimus: led-pins@0 {
|
||||
pins = "PH0", "PH1";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
mmc0_cd_pin_optimus: mmc0_cd_pin@0 {
|
||||
pins = "PH18";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
usb1_vbus_pin_optimus: usb1_vbus_pin@1 {
|
||||
pins = "PH4";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
usb3_vbus_pin_optimus: usb3_vbus_pin@1 {
|
||||
pins = "PH5";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_ir {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&r_pio {
|
||||
led_r_pins_optimus: led-pins@1 {
|
||||
pins = "PM15";
|
||||
function = "gpio_out";
|
||||
};
|
||||
|
||||
wifi_en_pin_optimus: wifi_en_pin@0 {
|
||||
pins = "PL2";
|
||||
function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
@ -492,7 +450,7 @@ ac100_rtc: rtc {
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -42,8 +42,6 @@
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "skeleton64.dtsi"
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
#include <dt-bindings/clock/sun9i-a80-ccu.h>
|
||||
@ -54,6 +52,8 @@
|
||||
#include <dt-bindings/reset/sun9i-a80-usb.h>
|
||||
|
||||
/ {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
cpus {
|
||||
@ -109,11 +109,6 @@ cpu7: cpu@103 {
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
/* 8GB max. with LPAE */
|
||||
reg = <0 0x20000000 0x02 0>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv7-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
@ -144,7 +139,7 @@ clocks {
|
||||
* would also throw all the PLL clock rates off, or just the
|
||||
* downstream clocks in the PRCM.
|
||||
*/
|
||||
osc24M: osc24M_clk {
|
||||
osc24M: clk-24M {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
@ -156,7 +151,7 @@ osc24M: osc24M_clk {
|
||||
* AC100 codec/RTC chip. This serves as a placeholder for
|
||||
* board dts files to specify the source.
|
||||
*/
|
||||
osc32k: osc32k_clk {
|
||||
osc32k: clk-32k {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clock-div = <1>;
|
||||
@ -174,7 +169,7 @@ cpus_clk: clk@8001410 {
|
||||
clock-output-names = "cpus";
|
||||
};
|
||||
|
||||
ahbs: ahbs_clk {
|
||||
ahbs: clk-ahbs {
|
||||
compatible = "fixed-factor-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-div = <1>;
|
||||
@ -494,12 +489,12 @@ pio: pinctrl@6000800 {
|
||||
#size-cells = <0>;
|
||||
#gpio-cells = <3>;
|
||||
|
||||
i2c3_pins_a: i2c3@0 {
|
||||
i2c3_pins: i2c3-pins {
|
||||
pins = "PG10", "PG11";
|
||||
function = "i2c3";
|
||||
};
|
||||
|
||||
mmc0_pins: mmc0 {
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1" ,"PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
function = "mmc0";
|
||||
@ -507,7 +502,7 @@ mmc0_pins: mmc0 {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc1_pins: mmc1 {
|
||||
mmc1_pins: mmc1-pins {
|
||||
pins = "PG0", "PG1" ,"PG2", "PG3",
|
||||
"PG4", "PG5";
|
||||
function = "mmc1";
|
||||
@ -515,7 +510,7 @@ mmc1_pins: mmc1 {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc2_8bit_pins: mmc2_8bit {
|
||||
mmc2_8bit_pins: mmc2-8bit-pins {
|
||||
pins = "PC6", "PC7", "PC8", "PC9",
|
||||
"PC10", "PC11", "PC12",
|
||||
"PC13", "PC14", "PC15",
|
||||
@ -525,12 +520,12 @@ mmc2_8bit_pins: mmc2_8bit {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
uart0_pins_a: uart0@0 {
|
||||
uart0_ph_pins: uart0-ph-pins {
|
||||
pins = "PH12", "PH13";
|
||||
function = "uart0";
|
||||
};
|
||||
|
||||
uart4_pins_a: uart4@0 {
|
||||
uart4_pins: uart4-pins {
|
||||
pins = "PG12", "PG13", "PG14", "PG15";
|
||||
function = "uart4";
|
||||
};
|
||||
@ -713,12 +708,12 @@ r_pio: pinctrl@8002c00 {
|
||||
#interrupt-cells = <3>;
|
||||
#gpio-cells = <3>;
|
||||
|
||||
r_ir_pins: r_ir {
|
||||
r_ir_pins: r-ir-pins {
|
||||
pins = "PL6";
|
||||
function = "s_cir_rx";
|
||||
};
|
||||
|
||||
r_rsb_pins: r_rsb {
|
||||
r_rsb_pins: r-rsb-pins {
|
||||
pins = "PN0", "PN1";
|
||||
function = "s_rsb";
|
||||
drive-strength = <20>;
|
||||
|
@ -310,7 +310,7 @@ i2c2_pins: i2c2 {
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
mmc0_pins_a: mmc0@0 {
|
||||
mmc0_pins_a: mmc0 {
|
||||
pins = "PF0", "PF1", "PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
function = "mmc0";
|
||||
@ -318,13 +318,13 @@ mmc0_pins_a: mmc0@0 {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc0_cd_pin: mmc0_cd_pin@0 {
|
||||
mmc0_cd_pin: mmc0_cd_pin {
|
||||
pins = "PF6";
|
||||
function = "gpio_in";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc1_pins_a: mmc1@0 {
|
||||
mmc1_pins_a: mmc1 {
|
||||
pins = "PG0", "PG1", "PG2", "PG3",
|
||||
"PG4", "PG5";
|
||||
function = "mmc1";
|
||||
@ -342,7 +342,7 @@ mmc2_8bit_pins: mmc2_8bit {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
spdif_tx_pins_a: spdif@0 {
|
||||
spdif_tx_pins_a: spdif {
|
||||
pins = "PA17";
|
||||
function = "spdif";
|
||||
};
|
||||
@ -357,7 +357,7 @@ spi1_pins: spi1 {
|
||||
function = "spi1";
|
||||
};
|
||||
|
||||
uart0_pins_a: uart0@0 {
|
||||
uart0_pins_a: uart0 {
|
||||
pins = "PA4", "PA5";
|
||||
function = "uart0";
|
||||
};
|
||||
@ -381,6 +381,11 @@ uart3_pins: uart3 {
|
||||
pins = "PA13", "PA14";
|
||||
function = "uart3";
|
||||
};
|
||||
|
||||
uart3_rts_cts_pins: uart3_rts_cts {
|
||||
pins = "PA15", "PA16";
|
||||
function = "uart3";
|
||||
};
|
||||
};
|
||||
|
||||
timer@1c20c00 {
|
||||
@ -450,6 +455,32 @@ pwm: pwm@1c21400 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s0: i2s@1c22000 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "allwinner,sun8i-h3-i2s";
|
||||
reg = <0x01c22000 0x400>;
|
||||
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
|
||||
clock-names = "apb", "mod";
|
||||
dmas = <&dma 3>, <&dma 3>;
|
||||
resets = <&ccu RST_BUS_I2S0>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2s1: i2s@1c22400 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "allwinner,sun8i-h3-i2s";
|
||||
reg = <0x01c22400 0x400>;
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
|
||||
clock-names = "apb", "mod";
|
||||
dmas = <&dma 4>, <&dma 4>;
|
||||
resets = <&ccu RST_BUS_I2S1>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
codec: codec@1c22c00 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "allwinner,sun8i-h3-codec";
|
||||
@ -544,7 +575,7 @@ i2c1: i2c@1c2b000 {
|
||||
|
||||
i2c2: i2c@1c2b400 {
|
||||
compatible = "allwinner,sun6i-a31-i2c";
|
||||
reg = <0x01c2b000 0x400>;
|
||||
reg = <0x01c2b400 0x400>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_I2C2>;
|
||||
resets = <&ccu RST_BUS_I2C2>;
|
||||
@ -609,7 +640,7 @@ r_pio: pinctrl@1f02c00 {
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
ir_pins_a: ir@0 {
|
||||
ir_pins_a: ir {
|
||||
pins = "PL11";
|
||||
function = "s_cir_rx";
|
||||
};
|
||||
|
@ -65,8 +65,6 @@ &ehci1 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
@ -75,8 +73,6 @@ axp209: pmic@34 {
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -61,13 +61,6 @@ aliases {
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reg_vcc3v3: vcc3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
@ -91,7 +84,7 @@ &i2c1_pins {
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
|
||||
cd-inverted;
|
||||
disable-wp;
|
||||
|
Loading…
Reference in New Issue
Block a user