Merge branch 'patch/dt-sync' into allwinner

This commit is contained in:
Samuel Holland 2022-03-17 23:43:23 -05:00
commit eca24c30ef
141 changed files with 2916 additions and 2459 deletions

View File

@ -610,7 +610,7 @@ dtb-$(CONFIG_MACH_SUN8I_A33) += \
sun8i-a33-q8-tablet.dtb \ sun8i-a33-q8-tablet.dtb \
sun8i-a33-sinlinx-sina33.dtb \ sun8i-a33-sinlinx-sina33.dtb \
sun8i-r16-bananapi-m2m.dtb \ sun8i-r16-bananapi-m2m.dtb \
sun8i-r16-nintendo-nes-classic-edition.dtb \ sun8i-r16-nintendo-nes-classic.dtb \
sun8i-r16-parrot.dtb sun8i-r16-parrot.dtb
dtb-$(CONFIG_MACH_SUN8I_A83T) += \ dtb-$(CONFIG_MACH_SUN8I_A83T) += \
sun8i-a83t-allwinner-h8homlet-v2.dtb \ sun8i-a83t-allwinner-h8homlet-v2.dtb \

View File

@ -57,6 +57,11 @@
status = "disabled"; status = "disabled";
}; };
axp_adc: adc {
compatible = "x-powers,axp221-adc";
#io-channel-cells = <1>;
};
battery_power_supply: battery-power-supply { battery_power_supply: battery-power-supply {
compatible = "x-powers,axp221-battery-power-supply"; compatible = "x-powers,axp221-battery-power-supply";
status = "disabled"; status = "disabled";

View File

@ -48,6 +48,11 @@
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
ac_power_supply: ac-power-supply {
compatible = "x-powers,axp813-ac-power-supply";
status = "disabled";
};
axp_adc: adc { axp_adc: adc {
compatible = "x-powers,axp813-adc"; compatible = "x-powers,axp813-adc";
#io-channel-cells = <1>; #io-channel-cells = <1>;
@ -166,4 +171,8 @@
status = "disabled"; status = "disabled";
}; };
}; };
usb_power_supply: usb-power-supply {
compatible = "x-powers,axp813-usb-power-supply";
};
}; };

View File

@ -60,15 +60,26 @@
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
red { led-0 {
label = "a1000:red:usr"; label = "a1000:red:usr";
gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>;
}; };
blue { led-1 {
label = "a1000:blue:pwr"; label = "a1000:blue:pwr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -125,7 +136,7 @@
}; };
&emac { &emac {
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };
@ -133,6 +144,20 @@
status = "okay"; status = "okay";
}; };
&de {
status = "okay";
};
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&i2c0 { &i2c0 {
status = "okay"; status = "okay";

View File

@ -68,7 +68,7 @@
}; };
&emac { &emac {
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };

View File

@ -131,20 +131,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
};
&reg_usb0_vbus { &reg_usb0_vbus {
status = "okay"; status = "okay";
}; };
@ -165,10 +151,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -75,12 +75,12 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_cubieboard>; pinctrl-0 = <&led_pins_cubieboard>;
blue { led-0 {
label = "cubieboard:blue:usr"; label = "cubieboard:blue:usr";
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; /* LED1 */ gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; /* LED1 */
}; };
green { led-1 {
label = "cubieboard:green:usr"; label = "cubieboard:green:usr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; /* LED2 */ gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; /* LED2 */
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
@ -114,7 +114,7 @@
}; };
&emac { &emac {
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };
@ -184,12 +184,6 @@
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
}; };
&reg_ahci_5v { &reg_ahci_5v {
@ -254,9 +248,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -62,6 +62,7 @@
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>; default-brightness-level = <8>;
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
power-supply = <&reg_vcc3v3>;
}; };
chosen { chosen {
@ -158,20 +159,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
};
&pwm { &pwm {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>; pinctrl-0 = <&pwm0_pin>;
@ -223,10 +210,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -80,7 +80,7 @@
}; };
&emac { &emac {
phy = <&phy0>; phy-handle = <&phy0>;
status = "okay"; status = "okay";
}; };

View File

@ -86,20 +86,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
};
&reg_usb0_vbus { &reg_usb0_vbus {
status = "okay"; status = "okay";
}; };
@ -121,10 +107,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -62,6 +62,7 @@
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>; default-brightness-level = <8>;
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
power-supply = <&reg_vcc3v3>;
}; };
chosen { chosen {
@ -164,20 +165,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
};
&pwm { &pwm {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>; pinctrl-0 = <&pwm0_pin>;
@ -233,10 +220,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;

View File

@ -1,7 +1,7 @@
/* /*
* Copyright 2014 Open Source Support GmbH * Copyright 2014 Open Source Support GmbH
* *
* David Lanzendörfer <david.lanzendoerfer@o2s.ch> * David Lanzendörfer <david.lanzendoerfer@o2s.ch>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
@ -150,20 +150,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -209,10 +195,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -61,10 +61,6 @@
gpio-keys { gpio-keys {
compatible = "gpio-keys-polled"; compatible = "gpio-keys-polled";
pinctrl-names = "default";
pinctrl-0 = <&key_pins_inet9f>;
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>; poll-interval = <20>;
left-joystick-left { left-joystick-left {
@ -72,7 +68,7 @@
linux,code = <ABS_X>; linux,code = <ABS_X>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <0xffffffff>; /* -1 */ linux,input-value = <0xffffffff>; /* -1 */
gpios = <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */ gpios = <&pio 0 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA6 */
}; };
left-joystick-right { left-joystick-right {
@ -80,7 +76,7 @@
linux,code = <ABS_X>; linux,code = <ABS_X>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <1>; linux,input-value = <1>;
gpios = <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */ gpios = <&pio 0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA5 */
}; };
left-joystick-up { left-joystick-up {
@ -88,7 +84,7 @@
linux,code = <ABS_Y>; linux,code = <ABS_Y>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <0xffffffff>; /* -1 */ linux,input-value = <0xffffffff>; /* -1 */
gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */ gpios = <&pio 0 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA8 */
}; };
left-joystick-down { left-joystick-down {
@ -96,7 +92,7 @@
linux,code = <ABS_Y>; linux,code = <ABS_Y>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <1>; linux,input-value = <1>;
gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ gpios = <&pio 0 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA9 */
}; };
right-joystick-left { right-joystick-left {
@ -104,7 +100,7 @@
linux,code = <ABS_Z>; linux,code = <ABS_Z>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <0xffffffff>; /* -1 */ linux,input-value = <0xffffffff>; /* -1 */
gpios = <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */ gpios = <&pio 0 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA1 */
}; };
right-joystick-right { right-joystick-right {
@ -112,7 +108,7 @@
linux,code = <ABS_Z>; linux,code = <ABS_Z>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <1>; linux,input-value = <1>;
gpios = <&pio 0 0 GPIO_ACTIVE_LOW>; /* PA0 */ gpios = <&pio 0 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA0 */
}; };
right-joystick-up { right-joystick-up {
@ -120,7 +116,7 @@
linux,code = <ABS_RZ>; linux,code = <ABS_RZ>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <0xffffffff>; /* -1 */ linux,input-value = <0xffffffff>; /* -1 */
gpios = <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */ gpios = <&pio 0 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA3 */
}; };
right-joystick-down { right-joystick-down {
@ -128,7 +124,7 @@
linux,code = <ABS_RZ>; linux,code = <ABS_RZ>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <1>; linux,input-value = <1>;
gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */ gpios = <&pio 0 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA4 */
}; };
dpad-left { dpad-left {
@ -136,7 +132,7 @@
linux,code = <ABS_HAT0X>; linux,code = <ABS_HAT0X>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <0xffffffff>; /* -1 */ linux,input-value = <0xffffffff>; /* -1 */
gpios = <&pio 7 23 GPIO_ACTIVE_LOW>; /* PH23 */ gpios = <&pio 7 23 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH23 */
}; };
dpad-right { dpad-right {
@ -144,7 +140,7 @@
linux,code = <ABS_HAT0X>; linux,code = <ABS_HAT0X>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <1>; linux,input-value = <1>;
gpios = <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */ gpios = <&pio 7 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH24 */
}; };
dpad-up { dpad-up {
@ -152,7 +148,7 @@
linux,code = <ABS_HAT0Y>; linux,code = <ABS_HAT0Y>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <0xffffffff>; /* -1 */ linux,input-value = <0xffffffff>; /* -1 */
gpios = <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */ gpios = <&pio 7 25 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH25 */
}; };
dpad-down { dpad-down {
@ -160,55 +156,55 @@
linux,code = <ABS_HAT0Y>; linux,code = <ABS_HAT0Y>;
linux,input-type = <EV_ABS>; linux,input-type = <EV_ABS>;
linux,input-value = <1>; linux,input-value = <1>;
gpios = <&pio 7 26 GPIO_ACTIVE_LOW>; /* PH26 */ gpios = <&pio 7 26 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH26 */
}; };
x { x {
label = "Button X"; label = "Button X";
linux,code = <BTN_X>; linux,code = <BTN_X>;
gpios = <&pio 0 16 GPIO_ACTIVE_LOW>; /* PA16 */ gpios = <&pio 0 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA16 */
}; };
y { y {
label = "Button Y"; label = "Button Y";
linux,code = <BTN_Y>; linux,code = <BTN_Y>;
gpios = <&pio 0 14 GPIO_ACTIVE_LOW>; /* PA14 */ gpios = <&pio 0 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA14 */
}; };
a { a {
label = "Button A"; label = "Button A";
linux,code = <BTN_A>; linux,code = <BTN_A>;
gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */ gpios = <&pio 0 17 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA17 */
}; };
b { b {
label = "Button B"; label = "Button B";
linux,code = <BTN_B>; linux,code = <BTN_B>;
gpios = <&pio 0 15 GPIO_ACTIVE_LOW>; /* PA15 */ gpios = <&pio 0 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA15 */
}; };
select { select {
label = "Select Button"; label = "Select Button";
linux,code = <BTN_SELECT>; linux,code = <BTN_SELECT>;
gpios = <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */ gpios = <&pio 0 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA11 */
}; };
start { start {
label = "Start Button"; label = "Start Button";
linux,code = <BTN_START>; linux,code = <BTN_START>;
gpios = <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */ gpios = <&pio 0 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA12 */
}; };
top-left { top-left {
label = "Top Left Button"; label = "Top Left Button";
linux,code = <BTN_TL>; linux,code = <BTN_TL>;
gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */ gpios = <&pio 7 22 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH22 */
}; };
top-right { top-right {
label = "Top Right Button"; label = "Top Right Button";
linux,code = <BTN_TR>; linux,code = <BTN_TR>;
gpios = <&pio 0 13 GPIO_ACTIVE_LOW>; /* PA13 */ gpios = <&pio 0 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA13 */
}; };
}; };
}; };
@ -308,30 +304,6 @@
status = "okay"; status = "okay";
}; };
&pio {
key_pins_inet9f: key-pins {
pins = "PA0", "PA1", "PA3", "PA4",
"PA5", "PA6", "PA8", "PA9",
"PA11", "PA12", "PA13",
"PA14", "PA15", "PA16", "PA17",
"PH22", "PH23", "PH24", "PH25", "PH26";
function = "gpio_in";
bias-pull-up;
};
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -377,10 +349,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -58,7 +58,7 @@
&emac { &emac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&emac_pins>; pinctrl-0 = <&emac_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };

View File

@ -63,7 +63,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
green { led {
label = "q5:green:usr"; label = "q5:green:usr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; /* PH20 */ gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; /* PH20 */
}; };
@ -94,7 +94,7 @@
}; };
&emac { &emac {
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };

View File

@ -62,22 +62,22 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
red1 { led-0 {
label = "marsboard:red1:usr"; label = "marsboard:red1:usr";
gpios = <&pio 1 5 GPIO_ACTIVE_HIGH>; gpios = <&pio 1 5 GPIO_ACTIVE_HIGH>;
}; };
red2 { led-1 {
label = "marsboard:red2:usr"; label = "marsboard:red2:usr";
gpios = <&pio 1 6 GPIO_ACTIVE_HIGH>; gpios = <&pio 1 6 GPIO_ACTIVE_HIGH>;
}; };
red3 { led-2 {
label = "marsboard:red3:usr"; label = "marsboard:red3:usr";
gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>;
}; };
red4 { led-3 {
label = "marsboard:red4:usr"; label = "marsboard:red4:usr";
gpios = <&pio 1 8 GPIO_ACTIVE_HIGH>; gpios = <&pio 1 8 GPIO_ACTIVE_HIGH>;
}; };
@ -105,7 +105,7 @@
}; };
&emac { &emac {
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };
@ -148,14 +148,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_usb1_vbus { &reg_usb1_vbus {
status = "okay"; status = "okay";
}; };
@ -183,9 +175,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -74,7 +74,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_olinuxinolime>; pinctrl-0 = <&led_pins_olinuxinolime>;
green { led {
label = "a10-olinuxino-lime:green:usr"; label = "a10-olinuxino-lime:green:usr";
gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -112,7 +112,7 @@
}; };
&emac { &emac {
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };
@ -186,18 +186,6 @@
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
}; };
&reg_ahci_5v { &reg_ahci_5v {
@ -229,10 +217,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;

View File

@ -63,12 +63,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
tx { led-0 {
label = "pcduino:green:tx"; label = "pcduino:green:tx";
gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; gpios = <&pio 7 15 GPIO_ACTIVE_LOW>;
}; };
rx { led-1 {
label = "pcduino:green:rx"; label = "pcduino:green:rx";
gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; gpios = <&pio 7 16 GPIO_ACTIVE_LOW>;
}; };
@ -76,8 +76,6 @@
gpio-keys { gpio-keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
back { back {
label = "Key Back"; label = "Key Back";
@ -112,7 +110,7 @@
}; };
&emac { &emac {
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };
@ -156,14 +154,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
#include "axp209.dtsi" #include "axp209.dtsi"
&reg_dcdc2 { &reg_dcdc2 {
@ -203,9 +193,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb1_vbus-supply = <&reg_vcc5v0>; /* USB1 VBUS is always on */ usb1_vbus-supply = <&reg_vcc5v0>; /* USB1 VBUS is always on */
usb2_vbus-supply = <&reg_vcc5v0>; /* USB2 VBUS is always on */ usb2_vbus-supply = <&reg_vcc5v0>; /* USB2 VBUS is always on */
status = "okay"; status = "okay";

View File

@ -62,6 +62,7 @@
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>; default-brightness-level = <8>;
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
power-supply = <&reg_vcc3v3>;
}; };
chosen { chosen {
@ -146,20 +147,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
};
&pwm { &pwm {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>; pinctrl-0 = <&pwm0_pin>;
@ -211,10 +198,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";

View File

@ -143,7 +143,7 @@
trips { trips {
cpu_alert0: cpu-alert0 { cpu_alert0: cpu-alert0 {
/* milliCelsius */ /* milliCelsius */
temperature = <850000>; temperature = <85000>;
hysteresis = <2000>; hysteresis = <2000>;
type = "passive"; type = "passive";
}; };
@ -184,14 +184,34 @@
status = "disabled"; status = "disabled";
}; };
pmu {
compatible = "arm,cortex-a8-pmu";
interrupts = <3>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
/* Address must be kept in the lower 256 MiBs of DRAM for VE. */
default-pool {
compatible = "shared-dma-pool";
size = <0x6000000>;
alloc-ranges = <0x40000000 0x10000000>;
reusable;
linux,cma-default;
};
};
soc { soc {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
sram-controller@1c00000 { system-control@1c00000 {
compatible = "allwinner,sun4i-a10-sram-controller"; compatible = "allwinner,sun4i-a10-system-control";
reg = <0x01c00000 0x30>; reg = <0x01c00000 0x30>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@ -224,6 +244,19 @@
status = "disabled"; status = "disabled";
}; };
}; };
sram_c: sram@1d00000 {
compatible = "mmio-sram";
reg = <0x01d00000 0xd0000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x01d00000 0xd0000>;
ve_sram: sram-section@0 {
compatible = "allwinner,sun4i-a10-sram-c1";
reg = <0x000000 0x80000>;
};
};
}; };
dma: dma-controller@1c02000 { dma: dma-controller@1c02000 {
@ -234,7 +267,7 @@
#dma-cells = <2>; #dma-cells = <2>;
}; };
nfc: nand@1c03000 { nfc: nand-controller@1c03000 {
compatible = "allwinner,sun4i-a10-nand"; compatible = "allwinner,sun4i-a10-nand";
reg = <0x01c03000 0x1000>; reg = <0x01c03000 0x1000>;
interrupts = <37>; interrupts = <37>;
@ -309,6 +342,7 @@
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1";
clock-output-names = "tcon0-pixel-clock"; clock-output-names = "tcon0-pixel-clock";
#clock-cells = <0>;
dmas = <&dma SUN4I_DMA_DEDICATED 14>; dmas = <&dma SUN4I_DMA_DEDICATED 14>;
ports { ports {
@ -358,6 +392,7 @@
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1";
clock-output-names = "tcon1-pixel-clock"; clock-output-names = "tcon1-pixel-clock";
#clock-cells = <0>;
dmas = <&dma SUN4I_DMA_DEDICATED 15>; dmas = <&dma SUN4I_DMA_DEDICATED 15>;
ports { ports {
@ -394,6 +429,17 @@
}; };
}; };
video-codec@1c0e000 {
compatible = "allwinner,sun4i-a10-video-engine";
reg = <0x01c0e000 0x1000>;
clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>,
<&ccu CLK_DRAM_VE>;
clock-names = "ahb", "mod", "ram";
resets = <&ccu RST_VE>;
interrupts = <53>;
allwinner,sram = <&ve_sram 1>;
};
mmc0: mmc@1c0f000 { mmc0: mmc@1c0f000 {
compatible = "allwinner,sun4i-a10-mmc"; compatible = "allwinner,sun4i-a10-mmc";
reg = <0x01c0f000 0x1000>; reg = <0x01c0f000 0x1000>;
@ -450,13 +496,14 @@
phy-names = "usb"; phy-names = "usb";
extcon = <&usbphy 0>; extcon = <&usbphy 0>;
allwinner,sram = <&otg_sram 1>; allwinner,sram = <&otg_sram 1>;
dr_mode = "otg";
status = "disabled"; status = "disabled";
}; };
usbphy: phy@1c13400 { usbphy: phy@1c13400 {
#phy-cells = <1>; #phy-cells = <1>;
compatible = "allwinner,sun4i-a10-usb-phy"; compatible = "allwinner,sun4i-a10-usb-phy";
reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
reg-names = "phy_ctrl", "pmu1", "pmu2"; reg-names = "phy_ctrl", "pmu1", "pmu2";
clocks = <&ccu CLK_USB_PHY>; clocks = <&ccu CLK_USB_PHY>;
clock-names = "usb_phy"; clock-names = "usb_phy";
@ -530,8 +577,6 @@
}; };
hdmi_out: port@1 { hdmi_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
@ -579,6 +624,16 @@
status = "disabled"; status = "disabled";
}; };
csi1: csi@1c1d000 {
compatible = "allwinner,sun4i-a10-csi1";
reg = <0x01c1d000 0x1000>;
interrupts = <43>;
clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>;
clock-names = "bus", "ram";
resets = <&ccu RST_CSI1>;
status = "disabled";
};
spi3: spi@1c1f000 { spi3: spi@1c1f000 {
compatible = "allwinner,sun4i-a10-spi"; compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c1f000 0x1000>; reg = <0x01c1f000 0x1000>;
@ -625,6 +680,31 @@
function = "can"; function = "can";
}; };
/omit-if-no-ref/
csi1_8bits_pg_pins: csi1-8bits-pg-pins {
pins = "PG0", "PG2", "PG3", "PG4", "PG5",
"PG6", "PG7", "PG8", "PG9", "PG10",
"PG11";
function = "csi1";
};
/omit-if-no-ref/
csi1_24bits_ph_pins: csi1-24bits-ph-pins {
pins = "PH0", "PH1", "PH2", "PH3", "PH4",
"PH5", "PH6", "PH7", "PH8", "PH9",
"PH10", "PH11", "PH12", "PH13", "PH14",
"PH15", "PH16", "PH17", "PH18", "PH19",
"PH20", "PH21", "PH22", "PH23", "PH24",
"PH25", "PH26", "PH27";
function = "csi1";
};
/omit-if-no-ref/
csi1_clk_pg_pin: csi1-clk-pg-pin {
pins = "PG1";
function = "csi1";
};
emac_pins: emac0-pins { emac_pins: emac0-pins {
pins = "PA0", "PA1", "PA2", pins = "PA0", "PA1", "PA2",
"PA3", "PA4", "PA5", "PA6", "PA3", "PA4", "PA5", "PA6",
@ -762,13 +842,20 @@
timer@1c20c00 { timer@1c20c00 {
compatible = "allwinner,sun4i-a10-timer"; compatible = "allwinner,sun4i-a10-timer";
reg = <0x01c20c00 0x90>; reg = <0x01c20c00 0x90>;
interrupts = <22>; interrupts = <22>,
<23>,
<24>,
<25>,
<67>,
<68>;
clocks = <&osc24M>; clocks = <&osc24M>;
}; };
wdt: watchdog@1c20c90 { wdt: watchdog@1c20c90 {
compatible = "allwinner,sun4i-a10-wdt"; compatible = "allwinner,sun4i-a10-wdt";
reg = <0x01c20c90 0x10>; reg = <0x01c20c90 0x10>;
interrupts = <24>;
clocks = <&osc24M>;
}; };
rtc: rtc@1c20d00 { rtc: rtc@1c20d00 {
@ -1001,6 +1088,27 @@
status = "disabled"; status = "disabled";
}; };
mali: gpu@1c40000 {
compatible = "allwinner,sun4i-a10-mali", "arm,mali-400";
reg = <0x01c40000 0x10000>;
interrupts = <69>,
<70>,
<71>,
<72>,
<73>;
interrupt-names = "gp",
"gpmmu",
"pp0",
"ppmmu0",
"pmu";
clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>;
clock-names = "bus", "core";
resets = <&ccu RST_GPU>;
assigned-clocks = <&ccu CLK_GPU>;
assigned-clock-rates = <384000000>;
};
fe0: display-frontend@1e00000 { fe0: display-frontend@1e00000 {
compatible = "allwinner,sun4i-a10-display-frontend"; compatible = "allwinner,sun4i-a10-display-frontend";
reg = <0x01e00000 0x20000>; reg = <0x01e00000 0x20000>;

View File

@ -173,7 +173,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };

View File

@ -191,7 +191,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };

View File

@ -152,7 +152,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };

View File

@ -185,7 +185,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };

View File

@ -192,7 +192,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };

View File

@ -139,7 +139,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };

View File

@ -245,7 +245,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };

View File

@ -25,6 +25,11 @@
/* Backlight configuration differs per PinePhone revision. */ /* Backlight configuration differs per PinePhone revision. */
}; };
bt_sco_codec: bt-sco-codec {
#sound-dai-cells = <1>;
compatible = "linux,bt-sco";
};
chosen { chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
@ -91,6 +96,8 @@
}; };
&codec { &codec {
pinctrl-names = "default";
pinctrl-0 = <&aif3_pins>;
status = "okay"; status = "okay";
}; };
@ -296,7 +303,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
@ -426,6 +433,7 @@
&sound { &sound {
status = "okay"; status = "okay";
simple-audio-card,name = "PinePhone";
simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>; simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
simple-audio-card,widgets = "Microphone", "Headset Microphone", simple-audio-card,widgets = "Microphone", "Headset Microphone",
"Microphone", "Internal Microphone", "Microphone", "Internal Microphone",
@ -447,6 +455,23 @@
"MIC1", "Internal Microphone", "MIC1", "Internal Microphone",
"Headset Microphone", "HBIAS", "Headset Microphone", "HBIAS",
"MIC2", "Headset Microphone"; "MIC2", "Headset Microphone";
simple-audio-card,dai-link@2 {
format = "dsp_a";
frame-master = <&link2_codec>;
bitclock-master = <&link2_codec>;
bitclock-inversion;
link2_cpu: cpu {
sound-dai = <&bt_sco_codec 0>;
};
link2_codec: codec {
sound-dai = <&codec 2>;
dai-tdm-slot-num = <1>;
dai-tdm-slot-width = <32>;
};
};
}; };
&uart0 { &uart0 {

View File

@ -266,7 +266,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
}; };

View File

@ -79,7 +79,7 @@
&emac { &emac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins>; pinctrl-0 = <&rgmii_pins>;
phy-mode = "rgmii-id"; phy-mode = "rgmii-txid";
phy-handle = <&ext_rgmii_phy>; phy-handle = <&ext_rgmii_phy>;
phy-supply = <&reg_dc1sw>; phy-supply = <&reg_dc1sw>;
status = "okay"; status = "okay";

View File

@ -45,7 +45,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };

View File

@ -205,7 +205,7 @@
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
wakeup-source; wakeup-source;
}; };
}; };

View File

@ -131,12 +131,10 @@
}; };
sound: sound { sound: sound {
#address-cells = <1>;
#size-cells = <0>;
compatible = "simple-audio-card"; compatible = "simple-audio-card";
simple-audio-card,name = "sun50i-a64-audio"; simple-audio-card,name = "sun50i-a64-audio";
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&cpudai>;
simple-audio-card,bitclock-master = <&cpudai>;
simple-audio-card,mclk-fs = <128>;
simple-audio-card,aux-devs = <&codec_analog>; simple-audio-card,aux-devs = <&codec_analog>;
simple-audio-card,routing = simple-audio-card,routing =
"Left DAC", "DACL", "Left DAC", "DACL",
@ -145,12 +143,19 @@
"ADCR", "Right ADC"; "ADCR", "Right ADC";
status = "disabled"; status = "disabled";
cpudai: simple-audio-card,cpu { simple-audio-card,dai-link@0 {
sound-dai = <&dai>; format = "i2s";
}; frame-master = <&link0_cpu>;
bitclock-master = <&link0_cpu>;
mclk-fs = <128>;
link_codec: simple-audio-card,codec { link0_cpu: cpu {
sound-dai = <&codec>; sound-dai = <&dai>;
};
link0_codec: codec {
sound-dai = <&codec 0>;
};
}; };
}; };
@ -648,6 +653,7 @@
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
compatible = "allwinner,sun50i-a64-pinctrl"; compatible = "allwinner,sun50i-a64-pinctrl";
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
@ -658,6 +664,18 @@
interrupt-controller; interrupt-controller;
#interrupt-cells = <3>; #interrupt-cells = <3>;
/omit-if-no-ref/
aif2_pins: aif2-pins {
pins = "PB4", "PB5", "PB6", "PB7";
function = "aif2";
};
/omit-if-no-ref/
aif3_pins: aif3-pins {
pins = "PG10", "PG11", "PG12", "PG13";
function = "aif3";
};
csi_pins: csi-pins { csi_pins: csi-pins {
pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6",
"PE7", "PE8", "PE9", "PE10", "PE11"; "PE7", "PE8", "PE9", "PE10", "PE11";
@ -798,6 +816,23 @@
}; };
}; };
timer@1c20c00 {
compatible = "allwinner,sun50i-a64-timer",
"allwinner,sun8i-a23-timer";
reg = <0x01c20c00 0xa0>;
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
};
wdt0: watchdog@1c20ca0 {
compatible = "allwinner,sun50i-a64-wdt",
"allwinner,sun6i-a31-wdt";
reg = <0x01c20ca0 0x20>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
};
spdif: spdif@1c21000 { spdif: spdif@1c21000 {
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
compatible = "allwinner,sun50i-a64-spdif", compatible = "allwinner,sun50i-a64-spdif",
@ -818,6 +853,7 @@
compatible = "allwinner,sun50i-a64-lradc", compatible = "allwinner,sun50i-a64-lradc",
"allwinner,sun8i-a83t-r-lradc"; "allwinner,sun8i-a83t-r-lradc";
reg = <0x01c21800 0x400>; reg = <0x01c21800 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
}; };
@ -878,7 +914,7 @@
}; };
codec: codec@1c22e00 { codec: codec@1c22e00 {
#sound-dai-cells = <0>; #sound-dai-cells = <1>;
compatible = "allwinner,sun50i-a64-codec", compatible = "allwinner,sun50i-a64-codec",
"allwinner,sun8i-a33-codec"; "allwinner,sun8i-a33-codec";
reg = <0x01c22e00 0x600>; reg = <0x01c22e00 0x600>;
@ -1208,6 +1244,7 @@
compatible = "allwinner,sun50i-a64-rtc", compatible = "allwinner,sun50i-a64-rtc",
"allwinner,sun8i-h3-rtc"; "allwinner,sun8i-h3-rtc";
reg = <0x01f00000 0x400>; reg = <0x01f00000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clock-output-names = "osc32k", "osc32k-out", "iosc"; clock-output-names = "osc32k", "osc32k-out", "iosc";
@ -1219,7 +1256,7 @@
compatible = "allwinner,sun50i-a64-r-intc", compatible = "allwinner,sun50i-a64-r-intc",
"allwinner,sun6i-a31-r-intc"; "allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x01f00c00 0x400>; reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
}; };
@ -1279,6 +1316,7 @@
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun50i-a64-r-pinctrl"; compatible = "allwinner,sun50i-a64-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
@ -1321,13 +1359,5 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
}; };
wdt0: watchdog@1c20ca0 {
compatible = "allwinner,sun50i-a64-wdt",
"allwinner,sun6i-a31-wdt";
reg = <0x01c20ca0 0x20>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
};
}; };
}; };

View File

@ -75,7 +75,7 @@
pinctrl-0 = <&emac_rgmii_pins>; pinctrl-0 = <&emac_rgmii_pins>;
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>; phy-handle = <&ext_rgmii_phy>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
status = "okay"; status = "okay";
}; };

View File

@ -150,14 +150,30 @@
vcc-pg-supply = <&reg_aldo1>; vcc-pg-supply = <&reg_aldo1>;
}; };
&r_i2c { &r_ir {
linux,rc-map-name = "rc-beelink-gs1";
status = "okay";
};
&r_pio {
/*
* FIXME: We can't add that supply for now since it would
* create a circular dependency between pinctrl, the regulator
* and the RSB Bus.
*
* vcc-pl-supply = <&reg_aldo1>;
*/
vcc-pm-supply = <&reg_aldo1>;
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
@ -273,22 +289,6 @@
}; };
}; };
&r_ir {
linux,rc-map-name = "rc-beelink-gs1";
status = "okay";
};
&r_pio {
/*
* PL0 and PL1 are used for PMIC I2C
* don't enable the pl-supply else
* it will fail at boot
*
* vcc-pl-supply = <&reg_aldo1>;
*/
vcc-pm-supply = <&reg_aldo1>;
};
&spdif { &spdif {
status = "okay"; status = "okay";
}; };

View File

@ -175,14 +175,18 @@
vcc-pg-supply = <&reg_vcc_wifi_io>; vcc-pg-supply = <&reg_vcc_wifi_io>;
}; };
&r_i2c { &r_ir {
status = "okay";
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
@ -291,10 +295,6 @@
}; };
}; };
&r_ir {
status = "okay";
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };

View File

@ -112,14 +112,22 @@
vcc-pg-supply = <&reg_aldo1>; vcc-pg-supply = <&reg_aldo1>;
}; };
&r_i2c { &r_ir {
status = "okay";
};
&r_pio {
vcc-pm-supply = <&reg_bldo3>;
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
@ -232,14 +240,6 @@
}; };
}; };
&r_ir {
status = "okay";
};
&r_pio {
vcc-pm-supply = <&reg_bldo3>;
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };

View File

@ -168,7 +168,7 @@
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x36>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
@ -281,7 +281,7 @@
compatible = "nxp,pcf8563"; compatible = "nxp,pcf8563";
reg = <0x51>; reg = <0x51>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
#clock-cells = <0>; #clock-cells = <0>;
}; };
}; };

View File

@ -32,14 +32,21 @@
}; };
}; };
reg_vcc3v3: vcc3v3 { reg_vcc1v8: regulator-vcc1v8 {
compatible = "regulator-fixed";
regulator-name = "vcc1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
reg_vcc3v3: regulator-vcc3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vcc3v3"; regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
reg_vdd_cpu_gpu: vdd-cpu-gpu { reg_vdd_cpu_gpu: regulator-vdd-cpu-gpu {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vdd-cpu-gpu"; regulator-name = "vdd-cpu-gpu";
regulator-min-microvolt = <1135000>; regulator-min-microvolt = <1135000>;
@ -91,6 +98,16 @@
status = "okay"; status = "okay";
}; };
&mmc2 {
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc1v8>;
bus-width = <8>;
non-removable;
cap-mmc-hw-reset;
mmc-hs200-1_8v;
status = "okay";
};
&ohci0 { &ohci0 {
status = "okay"; status = "okay";
}; };
@ -99,6 +116,12 @@
status = "okay"; status = "okay";
}; };
&pio {
vcc-pc-supply = <&reg_vcc1v8>;
vcc-pd-supply = <&reg_vcc3v3>;
vcc-pg-supply = <&reg_vcc1v8>;
};
&r_ir { &r_ir {
linux,rc-map-name = "rc-tanix-tx5max"; linux,rc-map-name = "rc-tanix-tx5max";
status = "okay"; status = "okay";

View File

@ -271,6 +271,15 @@
}; };
}; };
timer@3009000 {
compatible = "allwinner,sun50i-h6-timer",
"allwinner,sun8i-a23-timer";
reg = <0x03009000 0xa0>;
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
};
watchdog: watchdog@30090a0 { watchdog: watchdog@30090a0 {
compatible = "allwinner,sun50i-h6-wdt", compatible = "allwinner,sun50i-h6-wdt",
"allwinner,sun6i-a31-wdt"; "allwinner,sun6i-a31-wdt";
@ -294,6 +303,7 @@
pio: pinctrl@300b000 { pio: pinctrl@300b000 {
compatible = "allwinner,sun50i-h6-pinctrl"; compatible = "allwinner,sun50i-h6-pinctrl";
reg = <0x0300b000 0x400>; reg = <0x0300b000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
@ -902,6 +912,7 @@
rtc: rtc@7000000 { rtc: rtc@7000000 {
compatible = "allwinner,sun50i-h6-rtc"; compatible = "allwinner,sun50i-h6-rtc";
reg = <0x07000000 0x400>; reg = <0x07000000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
clock-output-names = "osc32k", "osc32k-out", "iosc"; clock-output-names = "osc32k", "osc32k-out", "iosc";
@ -927,10 +938,9 @@
}; };
r_intc: interrupt-controller@7021000 { r_intc: interrupt-controller@7021000 {
compatible = "allwinner,sun50i-h6-r-intc", compatible = "allwinner,sun50i-h6-r-intc";
"allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x07021000 0x400>; reg = <0x07021000 0x400>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
}; };
@ -938,6 +948,7 @@
r_pio: pinctrl@7022000 { r_pio: pinctrl@7022000 {
compatible = "allwinner,sun50i-h6-r-pinctrl"; compatible = "allwinner,sun50i-h6-r-pinctrl";
reg = <0x07022000 0x400>; reg = <0x07022000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>; clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;

View File

@ -62,7 +62,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_t003>; pinctrl-0 = <&led_pins_t003>;
red { led {
label = "t003-tv-dongle:red:usr"; label = "t003-tv-dongle:red:usr";
gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */ gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */
default-state = "on"; default-state = "on";
@ -75,8 +75,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp152: pmic@30 { axp152: pmic@30 {
@ -89,8 +87,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t003>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
@ -106,13 +102,7 @@
}; };
&pio { &pio {
mmc0_cd_pin_t003: mmc0_cd_pin@0 { led_pins_t003: led-pin {
pins = "PG1";
function = "gpio_in";
bias-pull-up;
};
led_pins_t003: led_pins@0 {
pins = "PB2"; pins = "PB2";
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
@ -131,7 +121,7 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pb_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -62,7 +62,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_t004>; pinctrl-0 = <&led_pins_t004>;
red { led {
label = "t004-tv-dongle:red:usr"; label = "t004-tv-dongle:red:usr";
gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */ gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */
default-state = "on"; default-state = "on";
@ -71,8 +71,6 @@
reg_vmmc1: vmmc1 { reg_vmmc1: vmmc1 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&mmc1_vcc_en_pin_t004>;
regulator-name = "vmmc1"; regulator-name = "vmmc1";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@ -86,8 +84,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp152: pmic@30 { axp152: pmic@30 {
@ -100,8 +96,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t004>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
@ -109,8 +103,6 @@
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vmmc1>; vmmc-supply = <&reg_vmmc1>;
bus-width = <4>; bus-width = <4>;
non-removable; non-removable;
@ -127,24 +119,7 @@
}; };
&pio { &pio {
usb0_id_detect_pin: usb0_id_detect_pin@0 { led_pins_t004: led-pin {
pins = "PG12";
function = "gpio_in";
bias-pull-up;
};
mmc0_cd_pin_t004: mmc0_cd_pin@0 {
pins = "PG1";
function = "gpio_in";
bias-pull-up;
};
mmc1_vcc_en_pin_t004: mmc1_vcc_en_pin@0 {
pins = "PB18";
function = "gpio_out";
};
led_pins_t004: led_pins@0 {
pins = "PB2"; pins = "PB2";
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
@ -158,7 +133,7 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pb_pins>;
status = "okay"; status = "okay";
}; };
@ -168,9 +143,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG12 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";
}; };

View File

@ -59,10 +59,8 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_mk802>;
red { led {
label = "mk802:red:usr"; label = "mk802:red:usr";
gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */ gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */
}; };
@ -74,8 +72,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp152: pmic@30 { axp152: pmic@30 {
@ -88,8 +84,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_mk802>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
@ -97,8 +91,6 @@
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
non-removable; non-removable;
@ -113,33 +105,14 @@
status = "okay"; status = "okay";
}; };
&pio {
led_pins_mk802: led_pins@0 {
pins = "PB2";
function = "gpio_out";
};
mmc0_cd_pin_mk802: mmc0_cd_pin@0 {
pins = "PG1";
function = "gpio_in";
bias-pull-up;
};
usb1_vbus_pin_mk802: usb1_vbus_pin@0 {
pins = "PB10";
function = "gpio_out";
};
};
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-0 = <&usb1_vbus_pin_mk802>;
gpio = <&pio 1 10 GPIO_ACTIVE_HIGH>; /* PB10 */ gpio = <&pio 1 10 GPIO_ACTIVE_HIGH>; /* PB10 */
status = "okay"; status = "okay";
}; };
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pb_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -79,7 +79,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_olinuxino>; pinctrl-0 = <&led_pins_olinuxino>;
green { led {
label = "a10s-olinuxino-micro:green:usr"; label = "a10s-olinuxino-micro:green:usr";
gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>; gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -97,8 +97,8 @@
&emac { &emac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&emac_pins_b>; pinctrl-0 = <&emac_pa_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };
@ -117,8 +117,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp152: pmic@30 { axp152: pmic@30 {
@ -130,11 +128,9 @@
#include "axp152.dtsi" #include "axp152.dtsi"
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
at24@50 { eeprom@50 {
compatible = "atmel,24c16"; compatible = "atmel,24c16";
pagesize = <16>; pagesize = <16>;
reg = <0x50>; reg = <0x50>;
@ -143,8 +139,6 @@
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
}; };
@ -152,35 +146,35 @@
vref-supply = <&reg_vcc3v0>; vref-supply = <&reg_vcc3v0>;
status = "okay"; status = "okay";
button@191 { button-191 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <191274>; voltage = <191274>;
}; };
button@392 { button-392 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
voltage = <392644>; voltage = <392644>;
}; };
button@601 { button-601 {
label = "Menu"; label = "Menu";
linux,code = <KEY_MENU>; linux,code = <KEY_MENU>;
channel = <0>; channel = <0>;
voltage = <601151>; voltage = <601151>;
}; };
button@795 { button-795 {
label = "Enter"; label = "Enter";
linux,code = <KEY_ENTER>; linux,code = <KEY_ENTER>;
channel = <0>; channel = <0>;
voltage = <795090>; voltage = <795090>;
}; };
button@987 { button-987 {
label = "Home"; label = "Home";
linux,code = <KEY_HOMEPAGE>; linux,code = <KEY_HOMEPAGE>;
channel = <0>; channel = <0>;
@ -197,8 +191,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
@ -206,8 +198,6 @@
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; /* PG13 */ cd-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; /* PG13 */
@ -223,34 +213,11 @@
}; };
&pio { &pio {
mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 { led_pins_olinuxino: led-pin {
pins = "PG1";
function = "gpio_in";
bias-pull-up;
};
mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 {
pins = "PG13";
function = "gpio_in";
bias-pull-up;
};
led_pins_olinuxino: led_pins@0 {
pins = "PE3"; pins = "PE3";
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb1_vbus_pin_olinuxino_m: usb1_vbus_pin@0 {
pins = "PB10";
function = "gpio_out";
};
usb0_id_detect_pin: usb0_id_detect_pin@0 {
pins = "PG12";
function = "gpio_in";
bias-pull-up;
};
}; };
&reg_usb0_vbus { &reg_usb0_vbus {
@ -259,15 +226,14 @@
}; };
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-0 = <&usb1_vbus_pin_olinuxino_m>;
gpio = <&pio 1 10 GPIO_ACTIVE_HIGH>; gpio = <&pio 1 10 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&spi2 { &spi2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_b>, pinctrl-0 = <&spi2_pb_pins>,
<&spi2_cs0_pins_b>; <&spi2_cs0_pb_pin>;
status = "okay"; status = "okay";
}; };
@ -277,19 +243,19 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pb_pins>;
status = "okay"; status = "okay";
}; };
&uart2 { &uart2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_b>; pinctrl-0 = <&uart2_pc_pins>;
status = "okay"; status = "okay";
}; };
&uart3 { &uart3 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart3_pins_a>; pinctrl-0 = <&uart3_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -299,9 +265,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG12 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";

View File

@ -63,7 +63,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_r7>; pinctrl-0 = <&led_pins_r7>;
green { led {
label = "r7-tv-dongle:green:usr"; label = "r7-tv-dongle:green:usr";
gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -76,8 +76,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */ cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
@ -85,8 +83,6 @@
}; };
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
non-removable; non-removable;
@ -98,33 +94,21 @@
}; };
&pio { &pio {
mmc0_cd_pin_r7: mmc0_cd_pin@0 { led_pins_r7: led-pin {
pins = "PG1";
function = "gpio_in";
bias-pull-up;
};
led_pins_r7: led_pins@0 {
pins = "PB2"; pins = "PB2";
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb1_vbus_pin_r7: usb1_vbus_pin@0 {
pins = "PG13";
function = "gpio_out";
};
}; };
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-0 = <&usb1_vbus_pin_r7>;
gpio = <&pio 6 13 GPIO_ACTIVE_HIGH>; gpio = <&pio 6 13 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pb_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -61,10 +61,8 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_wobo_i5>;
blue { led {
label = "a10s-wobo-i5:blue:usr"; label = "a10s-wobo-i5:blue:usr";
gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 1 2 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -73,8 +71,6 @@
reg_emac_3v3: emac-3v3 { reg_emac_3v3: emac-3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&emac_power_pin_wobo>;
regulator-name = "emac-3v3"; regulator-name = "emac-3v3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@ -94,8 +90,8 @@
&emac { &emac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&emac_pins_a>; pinctrl-0 = <&emac_pd_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
status = "okay"; status = "okay";
}; };
@ -104,8 +100,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp209: pmic@34 { axp209: pmic@34 {
@ -126,8 +120,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_wobo_i5>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 */ cd-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 */
@ -142,24 +134,6 @@
status = "okay"; status = "okay";
}; };
&pio {
led_pins_wobo_i5: led_pins@0 {
pins = "PB2";
function = "gpio_out";
};
mmc0_cd_pin_wobo_i5: mmc0_cd_pin@0 {
pins = "PB3";
function = "gpio_in";
bias-pull-up;
};
emac_power_pin_wobo: emac_power_pin@0 {
pins = "PA02";
function = "gpio_out";
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -206,7 +180,7 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pb_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -42,15 +42,11 @@
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
#include "skeleton.dtsi"
#include "sun5i.dtsi" #include "sun5i.dtsi"
#include <dt-bindings/dma/sun4i-a10.h> #include <dt-bindings/dma/sun4i-a10.h>
/ { / {
interrupt-parent = <&intc>;
aliases { aliases {
ethernet0 = &emac; ethernet0 = &emac;
}; };
@ -60,7 +56,7 @@
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
framebuffer@2 { framebuffer-lcd0-hdmi {
compatible = "allwinner,simple-framebuffer", compatible = "allwinner,simple-framebuffer",
"simple-framebuffer"; "simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0-hdmi"; allwinner,pipeline = "de_be0-lcd0-hdmi";
@ -76,7 +72,7 @@
allwinner,pipelines = <&fe0>; allwinner,pipelines = <&fe0>;
}; };
soc@1c00000 { soc {
hdmi: hdmi@1c16000 { hdmi: hdmi@1c16000 {
compatible = "allwinner,sun5i-a10s-hdmi"; compatible = "allwinner,sun5i-a10s-hdmi";
reg = <0x01c16000 0x1000>; reg = <0x01c16000 0x1000>;
@ -104,8 +100,6 @@
}; };
hdmi_out: port@1 { hdmi_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
@ -125,20 +119,25 @@
compatible = "allwinner,sun5i-a10s-ccu"; compatible = "allwinner,sun5i-a10s-ccu";
}; };
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
};
&pio { &pio {
compatible = "allwinner,sun5i-a10s-pinctrl"; compatible = "allwinner,sun5i-a10s-pinctrl";
uart0_pins_a: uart0@0 { uart0_pb_pins: uart0-pb-pins {
pins = "PB19", "PB20"; pins = "PB19", "PB20";
function = "uart0"; function = "uart0";
}; };
uart2_pins_b: uart2@1 { uart2_pc_pins: uart2-pc-pins {
pins = "PC18", "PC19"; pins = "PC18", "PC19";
function = "uart2"; function = "uart2";
}; };
emac_pins_b: emac0@1 { emac_pa_pins: emac-pa-pins {
pins = "PA0", "PA1", "PA2", pins = "PA0", "PA1", "PA2",
"PA3", "PA4", "PA5", "PA6", "PA3", "PA4", "PA5", "PA6",
"PA7", "PA8", "PA9", "PA10", "PA7", "PA8", "PA9", "PA10",
@ -147,27 +146,24 @@
function = "emac"; function = "emac";
}; };
mmc1_pins_a: mmc1@0 { mmc1_pins: mmc1-pins {
pins = "PG3", "PG4", "PG5", pins = "PG3", "PG4", "PG5",
"PG6", "PG7", "PG8"; "PG6", "PG7", "PG8";
function = "mmc1"; function = "mmc1";
drive-strength = <30>; drive-strength = <30>;
}; };
spi2_pins_b: spi2@1 { spi2_pb_pins: spi2-pb-pins {
pins = "PB12", "PB13", "PB14"; pins = "PB12", "PB13", "PB14";
function = "spi2"; function = "spi2";
}; };
spi2_cs0_pins_b: spi2_cs0@1 { spi2_cs0_pb_pin: spi2-cs0-pb-pin {
pins = "PB11"; pins = "PB11";
function = "spi2"; function = "spi2";
}; };
}; };
&sram_a {
};
&tcon0_out { &tcon0_out {
tcon0_out_hdmi: endpoint@2 { tcon0_out_hdmi: endpoint@2 {
reg = <2>; reg = <2>;

View File

@ -61,6 +61,7 @@
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>; default-brightness-level = <8>;
power-supply = <&reg_vcc3v3>;
/* TODO: backlight uses axp gpio1 as enable pin */ /* TODO: backlight uses axp gpio1 as enable pin */
}; };
@ -78,8 +79,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp209: pmic@34 { axp209: pmic@34 {
@ -91,8 +90,6 @@
#include "axp209.dtsi" #include "axp209.dtsi"
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
pcf8563: rtc@51 { pcf8563: rtc@51 {
@ -105,14 +102,14 @@
vref-supply = <&reg_ldo2>; vref-supply = <&reg_ldo2>;
status = "okay"; status = "okay";
button@200 { button-200 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <200000>; voltage = <200000>;
}; };
button@400 { button-400 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
@ -121,8 +118,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_d709>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
@ -133,29 +128,9 @@
status = "okay"; status = "okay";
}; };
&pio {
mmc0_cd_pin_d709: mmc0_cd_pin@0 {
pins = "PG0";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
usb0_id_detect_pin: usb0_id_detect_pin@0 {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
};
&pwm { &pwm {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pwm0_pins>; pinctrl-0 = <&pwm0_pin>;
status = "okay"; status = "okay";
}; };
@ -197,7 +172,7 @@
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>; pinctrl-0 = <&uart1_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -207,10 +182,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG2 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 6 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PG1 */
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_ldo3>; usb1_vbus-supply = <&reg_ldo3>;
status = "okay"; status = "okay";

View File

@ -69,8 +69,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp209: pmic@34 { axp209: pmic@34 {
@ -80,8 +78,6 @@
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
pcf8563: rtc@51 { pcf8563: rtc@51 {
@ -91,8 +87,6 @@
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
}; };
@ -100,14 +94,14 @@
vref-supply = <&reg_ldo2>; vref-supply = <&reg_ldo2>;
status = "okay"; status = "okay";
button@200 { button-200 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <200000>; voltage = <200000>;
}; };
button@400 { button-400 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
@ -116,8 +110,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_h702>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
@ -132,25 +124,6 @@
status = "okay"; status = "okay";
}; };
&pio {
mmc0_cd_pin_h702: mmc0_cd_pin@0 {
pins = "PG0";
function = "gpio_in";
bias-pull-up;
};
usb0_id_detect_pin: usb0_id_detect_pin@0 {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
pins = "PG1";
function = "gpio_in";
};
};
#include "axp209.dtsi" #include "axp209.dtsi"
&reg_dcdc2 { &reg_dcdc2 {
@ -191,7 +164,7 @@
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>; pinctrl-0 = <&uart1_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -201,9 +174,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG2 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
usb0_id_det-gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_det-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ usb0_vbus_det-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_ldo3>; usb1_vbus-supply = <&reg_ldo3>;

View File

@ -64,7 +64,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_olinuxinom>; pinctrl-0 = <&led_pins_olinuxinom>;
power { led {
label = "a13-olinuxino-micro:green:power"; label = "a13-olinuxino-micro:green:power";
gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>; gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -77,26 +77,18 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
@ -112,56 +104,26 @@
}; };
&pio { &pio {
mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 { led_pins_olinuxinom: led-pin {
pins = "PG0";
function = "gpio_in";
bias-pull-up;
};
led_pins_olinuxinom: led_pins@0 {
pins = "PG9"; pins = "PG9";
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0_id_detect_pin@0 {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
usb0_vbus_pin_olinuxinom: usb0_vbus_pin@0 {
pins = "PG12";
function = "gpio_out";
};
usb1_vbus_pin_olinuxinom: usb1_vbus_pin@0 {
pins = "PG11";
function = "gpio_out";
};
}; };
&reg_usb0_vbus { &reg_usb0_vbus {
pinctrl-0 = <&usb0_vbus_pin_olinuxinom>;
gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-0 = <&usb1_vbus_pin_olinuxinom>;
gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>; pinctrl-0 = <&uart1_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -171,10 +133,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG2 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 6 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PG1 */
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";

View File

@ -66,7 +66,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_olinuxino>; pinctrl-0 = <&led_pins_olinuxino>;
power { led {
gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>; gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
}; };
@ -74,8 +74,6 @@
bridge { bridge {
compatible = "dumb-vga-dac"; compatible = "dumb-vga-dac";
#address-cells = <1>;
#size-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
@ -123,8 +121,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp209: pmic@34 { axp209: pmic@34 {
@ -138,14 +134,10 @@
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
}; };
@ -153,35 +145,35 @@
vref-supply = <&reg_vcc3v0>; vref-supply = <&reg_vcc3v0>;
status = "okay"; status = "okay";
button@191 { button-191 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <191274>; voltage = <191274>;
}; };
button@392 { button-392 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
voltage = <392644>; voltage = <392644>;
}; };
button@601 { button-601 {
label = "Menu"; label = "Menu";
linux,code = <KEY_MENU>; linux,code = <KEY_MENU>;
channel = <0>; channel = <0>;
voltage = <601151>; voltage = <601151>;
}; };
button@795 { button-795 {
label = "Enter"; label = "Enter";
linux,code = <KEY_ENTER>; linux,code = <KEY_ENTER>;
channel = <0>; channel = <0>;
voltage = <795090>; voltage = <795090>;
}; };
button@987 { button-987 {
label = "Home"; label = "Home";
linux,code = <KEY_HOMEPAGE>; linux,code = <KEY_HOMEPAGE>;
channel = <0>; channel = <0>;
@ -190,8 +182,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
@ -207,34 +197,11 @@
}; };
&pio { &pio {
mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 { led_pins_olinuxino: led-pin {
pins = "PG0";
function = "gpio_in";
bias-pull-up;
};
led_pins_olinuxino: led_pins@0 {
pins = "PG9"; pins = "PG9";
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0_id_detect_pin@0 {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
usb1_vbus_pin_olinuxino: usb1_vbus_pin@0 {
pins = "PG11";
function = "gpio_out";
};
}; };
&reg_usb0_vbus { &reg_usb0_vbus {
@ -243,7 +210,6 @@
}; };
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-0 = <&usb1_vbus_pin_olinuxino>;
gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
@ -263,7 +229,7 @@
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>; pinctrl-0 = <&uart1_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -273,10 +239,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG2 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 6 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PG1 */
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";

View File

@ -49,19 +49,13 @@
compatible = "allwinner,q8-a13", "allwinner,sun5i-a13"; compatible = "allwinner,q8-a13", "allwinner,sun5i-a13";
panel: panel { panel: panel {
compatible = "urt,umsh-8596md-t", "simple-panel"; compatible = "bananapi,s070wv20-ct16";
#address-cells = <1>; power-supply = <&reg_vcc3v3>;
#size-cells = <0>; enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */
backlight = <&backlight>;
port@0 { port {
reg = <0>; panel_input: endpoint {
/* TODO: lcd panel uses axp gpio0 as enable pin */
backlight = <&backlight>;
#address-cells = <1>;
#size-cells = <0>;
panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_lcd>; remote-endpoint = <&tcon0_out_lcd>;
}; };
}; };

View File

@ -58,13 +58,11 @@
/delete-property/stdout-path; /delete-property/stdout-path;
}; };
i2c_lcd: i2c@0 { i2c_lcd: i2c {
/* The lcd panel i2c interface is hooked up via gpios */ /* The lcd panel i2c interface is hooked up via gpios */
compatible = "i2c-gpio"; compatible = "i2c-gpio";
pinctrl-names = "default"; sda-gpios = <&pio 6 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG12 */
pinctrl-0 = <&i2c_lcd_pins>; scl-gpios = <&pio 6 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG10 */
gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>, /* PG12, sda */
<&pio 6 10 GPIO_ACTIVE_HIGH>; /* PG10, scl */
i2c-gpio,delay-us = <5>; i2c-gpio,delay-us = <5>;
}; };
}; };
@ -79,13 +77,9 @@
allwinner,pa-gpios = <&pio 6 3 GPIO_ACTIVE_HIGH>; /* PG3 */ allwinner,pa-gpios = <&pio 6 3 GPIO_ACTIVE_HIGH>; /* PG3 */
}; };
&codec_pa_pin {
pins = "PG3";
};
&mmc2 { &mmc2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins_a>; pinctrl-0 = <&mmc2_8bit_pins>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <8>; bus-width = <8>;
non-removable; non-removable;
@ -98,14 +92,6 @@
}; };
}; };
&pio {
i2c_lcd_pins: i2c_lcd_pin@0 {
pins = "PG10", "PG12";
function = "gpio_out";
bias-pull-up;
};
};
&reg_usb0_vbus { &reg_usb0_vbus {
gpio = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ gpio = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */
}; };
@ -128,7 +114,3 @@
/* The P66 uses the uart pins as gpios */ /* The P66 uses the uart pins as gpios */
status = "disabled"; status = "disabled";
}; };
&usb0_vbus_pin_a {
pins = "PB4";
};

View File

@ -42,17 +42,13 @@
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
#include "skeleton.dtsi"
#include "sun5i.dtsi" #include "sun5i.dtsi"
#include <dt-bindings/thermal/thermal.h> #include <dt-bindings/thermal/thermal.h>
/ { / {
interrupt-parent = <&intc>;
thermal-zones { thermal-zones {
cpu_thermal { cpu-thermal {
/* milliseconds */ /* milliseconds */
polling-delay-passive = <250>; polling-delay-passive = <250>;
polling-delay = <1000>; polling-delay = <1000>;
@ -88,7 +84,7 @@
allwinner,pipelines = <&fe0>; allwinner,pipelines = <&fe0>;
}; };
soc@1c00000 { soc {
pwm: pwm@1c20e00 { pwm: pwm@1c20e00 {
compatible = "allwinner,sun5i-a13-pwm"; compatible = "allwinner,sun5i-a13-pwm";
reg = <0x01c20e00 0xc>; reg = <0x01c20e00 0xc>;

View File

@ -79,8 +79,6 @@
mmc0_pwrseq: mmc0_pwrseq { mmc0_pwrseq: mmc0_pwrseq {
compatible = "mmc-pwrseq-simple"; compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_reg_on_pin_chip_pro>;
reset-gpios = <&pio 1 10 GPIO_ACTIVE_LOW>; /* PB10 */ reset-gpios = <&pio 1 10 GPIO_ACTIVE_LOW>; /* PB10 */
}; };
}; };
@ -94,8 +92,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp209: pmic@34 { axp209: pmic@34 {
@ -114,20 +110,16 @@
#include "axp209.dtsi" #include "axp209.dtsi"
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "disabled"; status = "disabled";
}; };
&i2s0 { &i2s0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2s0_mclk_pins_a>, <&i2s0_data_pins_a>; pinctrl-0 = <&i2s0_mclk_pin>, <&i2s0_data_pins>;
status = "disabled"; status = "disabled";
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&mmc0_pwrseq>; mmc-pwrseq = <&mmc0_pwrseq>;
bus-width = <4>; bus-width = <4>;
@ -137,12 +129,10 @@
&nfc { &nfc {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&nand_pins_a &nand_cs0_pins_a &nand_rb0_pins_a>; pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
status = "okay"; status = "okay";
nand@0 { nand@0 {
#address-cells = <2>;
#size-cells = <2>;
reg = <0>; reg = <0>;
allwinner,rb = <0>; allwinner,rb = <0>;
nand-ecc-mode = "hw"; nand-ecc-mode = "hw";
@ -157,21 +147,9 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_pin_chip_pro: usb0-id-pin@0 {
pins = "PG2";
function = "gpio_in";
};
wifi_reg_on_pin_chip_pro: wifi-reg-on-pin@0 {
pins = "PB10";
function = "gpio_out";
};
};
&pwm { &pwm {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pwm0_pins>, <&pwm1_pins>; pinctrl-0 = <&pwm0_pin>, <&pwm1_pins>;
status = "disabled"; status = "disabled";
}; };
@ -220,19 +198,19 @@
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>, <&uart1_cts_rts_pins_a>; pinctrl-0 = <&uart1_pg_pins>, <&uart1_cts_rts_pins>;
status = "okay"; status = "okay";
}; };
&uart2 { &uart2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_a>, <&uart2_cts_rts_pins_a>; pinctrl-0 = <&uart2_pd_pins>, <&uart2_cts_rts_pd_pins>;
status = "disabled"; status = "disabled";
}; };
&uart3 { &uart3 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart3_pins_a>, <&uart3_cts_rts_pins_a>; pinctrl-0 = <&uart3_pg_pins>, <&uart3_cts_rts_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -253,9 +231,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
pinctrl-0 = <&usb0_id_pin_chip_pro>;
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb1_vbus-supply = <&reg_vcc5v0>; usb1_vbus-supply = <&reg_vcc5v0>;
status = "okay"; status = "okay";

View File

@ -54,7 +54,7 @@
allwinner,pipelines = <&fe0>; allwinner,pipelines = <&fe0>;
}; };
soc@1c00000 { soc {
pwm: pwm@1c20e00 { pwm: pwm@1c20e00 {
compatible = "allwinner,sun5i-a10s-pwm"; compatible = "allwinner,sun5i-a10s-pwm";
reg = <0x01c20e00 0xc>; reg = <0x01c20e00 0xc>;
@ -98,28 +98,28 @@
&pio { &pio {
compatible = "nextthing,gr8-pinctrl"; compatible = "nextthing,gr8-pinctrl";
i2s0_data_pins_a: i2s0-data@0 { i2s0_data_pins: i2s0-data-pins {
pins = "PB6", "PB7", "PB8", "PB9"; pins = "PB6", "PB7", "PB8", "PB9";
function = "i2s0"; function = "i2s0";
}; };
i2s0_mclk_pins_a: i2s0-mclk@0 { i2s0_mclk_pin: i2s0-mclk-pin {
pins = "PB5"; pins = "PB5";
function = "i2s0"; function = "i2s0";
}; };
pwm1_pins: pwm1 { pwm1_pins: pwm1-pin {
pins = "PG13"; pins = "PG13";
function = "pwm1"; function = "pwm1";
}; };
spdif_tx_pins_a: spdif@0 { spdif_tx_pin: spdif-tx-pin {
pins = "PB10"; pins = "PB10";
function = "spdif"; function = "spdif";
bias-pull-up; bias-pull-up;
}; };
uart1_cts_rts_pins_a: uart1-cts-rts@0 { uart1_cts_rts_pins: uart1-cts-rts-pins {
pins = "PG5", "PG6"; pins = "PG5", "PG6";
function = "uart1"; function = "uart1";
}; };

View File

@ -79,16 +79,12 @@
mmc0_pwrseq: mmc0_pwrseq { mmc0_pwrseq: mmc0_pwrseq {
compatible = "mmc-pwrseq-simple"; compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&chip_wifi_reg_on_pin>;
reset-gpios = <&pio 2 19 GPIO_ACTIVE_LOW>; /* PC19 */ reset-gpios = <&pio 2 19 GPIO_ACTIVE_LOW>; /* PC19 */
}; };
onewire { onewire {
compatible = "w1-gpio"; compatible = "w1-gpio";
gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */ gpios = <&pio 3 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PD2 */
pinctrl-names = "default";
pinctrl-0 = <&chip_w1_pin>;
}; };
}; };
@ -109,8 +105,6 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
axp209: pmic@34 { axp209: pmic@34 {
@ -137,14 +131,10 @@
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "disabled"; status = "disabled";
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
xio: gpio@38 { xio: gpio@38 {
@ -161,13 +151,11 @@
}; };
}; };
&mmc0_pins_a { &mmc0_pins {
bias-pull-up; bias-pull-up;
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&mmc0_pwrseq>; mmc-pwrseq = <&mmc0_pwrseq>;
bus-width = <4>; bus-width = <4>;
@ -183,29 +171,6 @@
status = "okay"; status = "okay";
}; };
&pio {
chip_vbus_pin: chip_vbus_pin@0 {
pins = "PB10";
function = "gpio_out";
};
chip_wifi_reg_on_pin: chip_wifi_reg_on_pin@0 {
pins = "PC19";
function = "gpio_out";
};
chip_id_det_pin: chip_id_det_pin@0 {
pins = "PG2";
function = "gpio_in";
};
chip_w1_pin: chip_w1_pin@0 {
pins = "PD2";
function = "gpio_in";
bias-pull-up;
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1400000>; regulator-max-microvolt = <1400000>;
@ -260,7 +225,6 @@
}; };
&reg_usb0_vbus { &reg_usb0_vbus {
pinctrl-0 = <&chip_vbus_pin>;
vin-supply = <&reg_vcc5v0>; vin-supply = <&reg_vcc5v0>;
gpio = <&pio 1 10 GPIO_ACTIVE_HIGH>; /* PB10 */ gpio = <&pio 1 10 GPIO_ACTIVE_HIGH>; /* PB10 */
status = "okay"; status = "okay";
@ -268,7 +232,7 @@
&spi2 { &spi2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spi2_pins_a>; pinctrl-0 = <&spi2_pe_pins>;
status = "disabled"; status = "disabled";
}; };
@ -282,14 +246,14 @@
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>; pinctrl-0 = <&uart1_pg_pins>;
status = "okay"; status = "okay";
}; };
&uart3 { &uart3 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart3_pins_a>, pinctrl-0 = <&uart3_pg_pins>,
<&uart3_cts_rts_pins_a>; <&uart3_cts_rts_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -303,11 +267,9 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default";
pinctrl-0 = <&chip_id_det_pin>;
status = "okay"; status = "okay";
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */ usb0_id_det-gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_vcc5v0>; usb1_vbus-supply = <&reg_vcc5v0>;

View File

@ -54,7 +54,8 @@
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>; default-brightness-level = <8>;
/* TODO: backlight uses axp gpio1 as enable pin */ enable-gpios = <&axp_gpio 1 GPIO_ACTIVE_HIGH>; /* AXP GPIO1 */
power-supply = <&reg_vcc3v0>;
}; };
chosen { chosen {
@ -63,8 +64,6 @@
}; };
&codec { &codec {
pinctrl-names = "default";
pinctrl-0 = <&codec_pa_pin>;
allwinner,pa-gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>; /* PG10 */ allwinner,pa-gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>; /* PG10 */
status = "okay"; status = "okay";
}; };
@ -92,11 +91,10 @@
*/ */
clock-frequency = <400000>; clock-frequency = <400000>;
touchscreen: touchscreen { touchscreen: touchscreen@40 {
reg = <0x40>;
interrupt-parent = <&pio>; interrupt-parent = <&pio>;
interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; /* EINT11 (PG11) */ interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; /* EINT11 (PG11) */
pinctrl-names = "default";
pinctrl-0 = <&ts_power_pin>;
power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */ power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
/* Tablet dts must provide reg and compatible */ /* Tablet dts must provide reg and compatible */
status = "disabled"; status = "disabled";
@ -124,7 +122,7 @@
&mmc0 { &mmc0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
@ -135,43 +133,6 @@
status = "okay"; status = "okay";
}; };
&pio {
codec_pa_pin: codec_pa_pin@0 {
pins = "PG10";
function = "gpio_out";
};
mmc0_cd_pin: mmc0_cd_pin@0 {
pins = "PG0";
function = "gpio_in";
bias-pull-up;
};
ts_power_pin: ts_power_pin {
pins = "PB3";
function = "gpio_out";
drive-strength = <10>;
bias-disable;
};
usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
usb0_id_detect_pin: usb0_id_detect_pin@0 {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_pin_a: usb0_vbus_pin@0 {
pins = "PG12";
function = "gpio_out";
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -210,7 +171,7 @@
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>; pinctrl-0 = <&uart1_pg_pins>;
status = "okay"; status = "okay";
}; };
@ -224,10 +185,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG2 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 6 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PG1 */
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_ldo3>; usb1_vbus-supply = <&reg_ldo3>;

View File

@ -42,14 +42,14 @@
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
#include "skeleton.dtsi"
#include <dt-bindings/clock/sun5i-ccu.h> #include <dt-bindings/clock/sun5i-ccu.h>
#include <dt-bindings/dma/sun4i-a10.h> #include <dt-bindings/dma/sun4i-a10.h>
#include <dt-bindings/reset/sun5i-ccu.h> #include <dt-bindings/reset/sun5i-ccu.h>
/ { / {
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
#address-cells = <1>;
#size-cells = <1>;
cpus { cpus {
#address-cells = <1>; #address-cells = <1>;
@ -68,7 +68,7 @@
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
framebuffer@0 { framebuffer-lcd0 {
compatible = "allwinner,simple-framebuffer", compatible = "allwinner,simple-framebuffer",
"simple-framebuffer"; "simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0"; allwinner,pipeline = "de_be0-lcd0";
@ -77,7 +77,7 @@
status = "disabled"; status = "disabled";
}; };
framebuffer@1 { framebuffer-lcd0-tve0 {
compatible = "allwinner,simple-framebuffer", compatible = "allwinner,simple-framebuffer",
"simple-framebuffer"; "simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0-tve0"; allwinner,pipeline = "de_be0-lcd0-tve0";
@ -93,14 +93,14 @@
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
osc24M: clk@1c20050 { osc24M: clk-24M {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "fixed-clock"; compatible = "fixed-clock";
clock-frequency = <24000000>; clock-frequency = <24000000>;
clock-output-names = "osc24M"; clock-output-names = "osc24M";
}; };
osc32k: clk@0 { osc32k: clk-32k {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "fixed-clock"; compatible = "fixed-clock";
clock-frequency = <32768>; clock-frequency = <32768>;
@ -108,14 +108,30 @@
}; };
}; };
soc@1c00000 { reserved-memory {
compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
sram-controller@1c00000 { /* Address must be kept in the lower 256 MiBs of DRAM for VE. */
compatible = "allwinner,sun4i-a10-sram-controller"; default-pool {
compatible = "shared-dma-pool";
size = <0x6000000>;
alloc-ranges = <0x40000000 0x10000000>;
reusable;
linux,cma-default;
};
};
soc {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
dma-ranges;
ranges;
system-control@1c00000 {
compatible = "allwinner,sun5i-a13-system-control";
reg = <0x01c00000 0x30>; reg = <0x01c00000 0x30>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@ -127,12 +143,13 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges = <0 0x00000000 0xc000>; ranges = <0 0x00000000 0xc000>;
};
emac_sram: sram-section@8000 { emac_sram: sram-section@8000 {
compatible = "allwinner,sun4i-a10-sram-a3-a4"; compatible = "allwinner,sun5i-a13-sram-a3-a4",
reg = <0x8000 0x4000>; "allwinner,sun4i-a10-sram-a3-a4";
status = "disabled"; reg = <0x8000 0x4000>;
status = "disabled";
};
}; };
sram_d: sram@10000 { sram_d: sram@10000 {
@ -143,11 +160,36 @@
ranges = <0 0x00010000 0x1000>; ranges = <0 0x00010000 0x1000>;
otg_sram: sram-section@0 { otg_sram: sram-section@0 {
compatible = "allwinner,sun4i-a10-sram-d"; compatible = "allwinner,sun5i-a13-sram-d",
"allwinner,sun4i-a10-sram-d";
reg = <0x0000 0x1000>; reg = <0x0000 0x1000>;
status = "disabled"; status = "disabled";
}; };
}; };
sram_c: sram@1d00000 {
compatible = "mmio-sram";
reg = <0x01d00000 0xd0000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x01d00000 0xd0000>;
ve_sram: sram-section@0 {
compatible = "allwinner,sun5i-a13-sram-c1",
"allwinner,sun4i-a10-sram-c1";
reg = <0x000000 0x80000>;
};
};
};
mbus: dram-controller@1c01000 {
compatible = "allwinner,sun5i-a13-mbus";
reg = <0x01c01000 0x1000>;
clocks = <&ccu CLK_MBUS>;
#address-cells = <1>;
#size-cells = <1>;
dma-ranges = <0x00000000 0x40000000 0x20000000>;
#interconnect-cells = <1>;
}; };
dma: dma-controller@1c02000 { dma: dma-controller@1c02000 {
@ -158,7 +200,7 @@
#dma-cells = <2>; #dma-cells = <2>;
}; };
nfc: nand@1c03000 { nfc: nand-controller@1c03000 {
compatible = "allwinner,sun4i-a10-nand"; compatible = "allwinner,sun4i-a10-nand";
reg = <0x01c03000 0x1000>; reg = <0x01c03000 0x1000>;
interrupts = <37>; interrupts = <37>;
@ -207,11 +249,8 @@
status = "disabled"; status = "disabled";
port { port {
#address-cells = <1>;
#size-cells = <0>;
tve0_in_tcon0: endpoint@0 { tve0_in_tcon0: endpoint {
reg = <0>;
remote-endpoint = <&tcon0_out_tve0>; remote-endpoint = <&tcon0_out_tve0>;
}; };
}; };
@ -238,6 +277,7 @@
compatible = "allwinner,sun5i-a13-tcon"; compatible = "allwinner,sun5i-a13-tcon";
reg = <0x01c0c000 0x1000>; reg = <0x01c0c000 0x1000>;
interrupts = <44>; interrupts = <44>;
dmas = <&dma SUN4I_DMA_DEDICATED 14>;
resets = <&ccu RST_LCD>; resets = <&ccu RST_LCD>;
reset-names = "lcd"; reset-names = "lcd";
clocks = <&ccu CLK_AHB_LCD>, clocks = <&ccu CLK_AHB_LCD>,
@ -247,6 +287,7 @@
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1";
clock-output-names = "tcon-pixel-clock"; clock-output-names = "tcon-pixel-clock";
#clock-cells = <0>;
status = "disabled"; status = "disabled";
ports { ports {
@ -254,12 +295,9 @@
#size-cells = <0>; #size-cells = <0>;
tcon0_in: port@0 { tcon0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
tcon0_in_be0: endpoint@0 { tcon0_in_be0: endpoint {
reg = <0>;
remote-endpoint = <&be0_out_tcon0>; remote-endpoint = <&be0_out_tcon0>;
}; };
}; };
@ -278,12 +316,25 @@
}; };
}; };
video-codec@1c0e000 {
compatible = "allwinner,sun5i-a13-video-engine";
reg = <0x01c0e000 0x1000>;
clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>,
<&ccu CLK_DRAM_VE>;
clock-names = "ahb", "mod", "ram";
resets = <&ccu RST_VE>;
interrupts = <53>;
allwinner,sram = <&ve_sram 1>;
};
mmc0: mmc@1c0f000 { mmc0: mmc@1c0f000 {
compatible = "allwinner,sun5i-a13-mmc"; compatible = "allwinner,sun5i-a13-mmc";
reg = <0x01c0f000 0x1000>; reg = <0x01c0f000 0x1000>;
clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>; clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>;
clock-names = "ahb", "mmc"; clock-names = "ahb", "mmc";
interrupts = <32>; interrupts = <32>;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -321,13 +372,14 @@
phy-names = "usb"; phy-names = "usb";
extcon = <&usbphy 0>; extcon = <&usbphy 0>;
allwinner,sram = <&otg_sram 1>; allwinner,sram = <&otg_sram 1>;
dr_mode = "otg";
status = "disabled"; status = "disabled";
}; };
usbphy: phy@1c13400 { usbphy: phy@1c13400 {
#phy-cells = <1>; #phy-cells = <1>;
compatible = "allwinner,sun5i-a13-usb-phy"; compatible = "allwinner,sun5i-a13-usb-phy";
reg = <0x01c13400 0x10 0x01c14800 0x4>; reg = <0x01c13400 0x10>, <0x01c14800 0x4>;
reg-names = "phy_ctrl", "pmu1"; reg-names = "phy_ctrl", "pmu1";
clocks = <&ccu CLK_USB_PHY0>; clocks = <&ccu CLK_USB_PHY0>;
clock-names = "usb_phy"; clock-names = "usb_phy";
@ -404,7 +456,7 @@
#interrupt-cells = <3>; #interrupt-cells = <3>;
#gpio-cells = <3>; #gpio-cells = <3>;
emac_pins_a: emac0@0 { emac_pd_pins: emac-pd-pins {
pins = "PD6", "PD7", "PD10", pins = "PD6", "PD7", "PD10",
"PD11", "PD12", "PD13", "PD14", "PD11", "PD12", "PD13", "PD14",
"PD15", "PD18", "PD19", "PD20", "PD15", "PD18", "PD19", "PD20",
@ -413,27 +465,27 @@
function = "emac"; function = "emac";
}; };
i2c0_pins_a: i2c0@0 { i2c0_pins: i2c0-pins {
pins = "PB0", "PB1"; pins = "PB0", "PB1";
function = "i2c0"; function = "i2c0";
}; };
i2c1_pins_a: i2c1@0 { i2c1_pins: i2c1-pins {
pins = "PB15", "PB16"; pins = "PB15", "PB16";
function = "i2c1"; function = "i2c1";
}; };
i2c2_pins_a: i2c2@0 { i2c2_pins: i2c2-pins {
pins = "PB17", "PB18"; pins = "PB17", "PB18";
function = "i2c2"; function = "i2c2";
}; };
ir0_rx_pins_a: ir0@0 { ir0_rx_pin: ir0-rx-pin {
pins = "PB4"; pins = "PB4";
function = "ir0"; function = "ir0";
}; };
lcd_rgb565_pins: lcd_rgb565@0 { lcd_rgb565_pins: lcd-rgb565-pins {
pins = "PD3", "PD4", "PD5", "PD6", "PD7", pins = "PD3", "PD4", "PD5", "PD6", "PD7",
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15",
"PD19", "PD20", "PD21", "PD22", "PD23", "PD19", "PD20", "PD21", "PD22", "PD23",
@ -441,7 +493,7 @@
function = "lcd0"; function = "lcd0";
}; };
lcd_rgb666_pins: lcd_rgb666@0 { lcd_rgb666_pins: lcd-rgb666-pins {
pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7",
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15",
"PD18", "PD19", "PD20", "PD21", "PD22", "PD23", "PD18", "PD19", "PD20", "PD21", "PD22", "PD23",
@ -449,7 +501,7 @@
function = "lcd0"; function = "lcd0";
}; };
mmc0_pins_a: mmc0@0 { mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", "PF3", pins = "PF0", "PF1", "PF2", "PF3",
"PF4", "PF5"; "PF4", "PF5";
function = "mmc0"; function = "mmc0";
@ -457,7 +509,15 @@
bias-pull-up; bias-pull-up;
}; };
mmc2_pins_a: mmc2@0 { mmc2_4bit_pc_pins: mmc2-4bit-pc-pins {
pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11";
function = "mmc2";
drive-strength = <30>;
bias-pull-up;
};
mmc2_8bit_pins: mmc2-8bit-pins {
pins = "PC6", "PC7", "PC8", "PC9", pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11", "PC12", "PC13", "PC10", "PC11", "PC12", "PC13",
"PC14", "PC15"; "PC14", "PC15";
@ -466,15 +526,7 @@
bias-pull-up; bias-pull-up;
}; };
mmc2_4bit_pins_a: mmc2-4bit@0 { nand_pins: nand-pins {
pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11";
function = "mmc2";
drive-strength = <30>;
bias-pull-up;
};
nand_pins_a: nand-base0@0 {
pins = "PC0", "PC1", "PC2", pins = "PC0", "PC1", "PC2",
"PC5", "PC8", "PC9", "PC10", "PC5", "PC8", "PC9", "PC10",
"PC11", "PC12", "PC13", "PC14", "PC11", "PC12", "PC13", "PC14",
@ -482,72 +534,79 @@
function = "nand0"; function = "nand0";
}; };
nand_cs0_pins_a: nand-cs@0 { nand_cs0_pin: nand-cs0-pin {
pins = "PC4"; pins = "PC4";
function = "nand0"; function = "nand0";
}; };
nand_rb0_pins_a: nand-rb@0 { nand_rb0_pin: nand-rb0-pin {
pins = "PC6"; pins = "PC6";
function = "nand0"; function = "nand0";
}; };
spi2_pins_a: spi2@0 { pwm0_pin: pwm0-pin {
pins = "PB2";
function = "pwm";
};
spi2_pe_pins: spi2-pe-pins {
pins = "PE1", "PE2", "PE3"; pins = "PE1", "PE2", "PE3";
function = "spi2"; function = "spi2";
}; };
spi2_cs0_pins_a: spi2-cs0@0 { spi2_cs0_pe_pin: spi2-cs0-pe-pin {
pins = "PE0"; pins = "PE0";
function = "spi2"; function = "spi2";
}; };
uart1_pins_a: uart1@0 { uart1_pe_pins: uart1-pe-pins {
pins = "PE10", "PE11"; pins = "PE10", "PE11";
function = "uart1"; function = "uart1";
}; };
uart1_pins_b: uart1@1 { uart1_pg_pins: uart1-pg-pins {
pins = "PG3", "PG4"; pins = "PG3", "PG4";
function = "uart1"; function = "uart1";
}; };
uart2_pins_a: uart2@0 { uart2_pd_pins: uart2-pd-pins {
pins = "PD2", "PD3"; pins = "PD2", "PD3";
function = "uart2"; function = "uart2";
}; };
uart2_cts_rts_pins_a: uart2-cts-rts@0 { uart2_cts_rts_pd_pins: uart2-cts-rts-pd-pins {
pins = "PD4", "PD5"; pins = "PD4", "PD5";
function = "uart2"; function = "uart2";
}; };
uart3_pins_a: uart3@0 { uart3_pg_pins: uart3-pg-pins {
pins = "PG9", "PG10"; pins = "PG9", "PG10";
function = "uart3"; function = "uart3";
}; };
uart3_cts_rts_pins_a: uart3-cts-rts@0 { uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins {
pins = "PG11", "PG12"; pins = "PG11", "PG12";
function = "uart3"; function = "uart3";
}; };
pwm0_pins: pwm0 {
pins = "PB2";
function = "pwm";
};
}; };
timer@1c20c00 { timer@1c20c00 {
compatible = "allwinner,sun4i-a10-timer"; compatible = "allwinner,sun4i-a10-timer";
reg = <0x01c20c00 0x90>; reg = <0x01c20c00 0x90>;
interrupts = <22>; interrupts = <22>,
<23>,
<24>,
<25>,
<67>,
<68>;
clocks = <&ccu CLK_HOSC>; clocks = <&ccu CLK_HOSC>;
}; };
wdt: watchdog@1c20c90 { wdt: watchdog@1c20c90 {
compatible = "allwinner,sun4i-a10-wdt"; compatible = "allwinner,sun4i-a10-wdt";
reg = <0x01c20c90 0x10>; reg = <0x01c20c90 0x10>;
interrupts = <24>;
clocks = <&osc24M>;
}; };
ir0: ir@1c21800 { ir0: ir@1c21800 {
@ -636,6 +695,8 @@
reg = <0x01c2ac00 0x400>; reg = <0x01c2ac00 0x400>;
interrupts = <7>; interrupts = <7>;
clocks = <&ccu CLK_APB1_I2C0>; clocks = <&ccu CLK_APB1_I2C0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -646,6 +707,8 @@
reg = <0x01c2b000 0x400>; reg = <0x01c2b000 0x400>;
interrupts = <8>; interrupts = <8>;
clocks = <&ccu CLK_APB1_I2C1>; clocks = <&ccu CLK_APB1_I2C1>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -656,11 +719,25 @@
reg = <0x01c2b400 0x400>; reg = <0x01c2b400 0x400>;
interrupts = <9>; interrupts = <9>;
clocks = <&ccu CLK_APB1_I2C2>; clocks = <&ccu CLK_APB1_I2C2>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
}; };
mali: gpu@1c40000 {
compatible = "allwinner,sun4i-a10-mali", "arm,mali-400";
reg = <0x01c40000 0x10000>;
interrupts = <69>, <70>, <71>, <72>, <73>;
interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pmu";
clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>;
clock-names = "bus", "core";
resets = <&ccu RST_GPU>;
assigned-clocks = <&ccu CLK_GPU>;
assigned-clock-rates = <320000000>;
};
timer@1c60000 { timer@1c60000 {
compatible = "allwinner,sun5i-a13-hstimer"; compatible = "allwinner,sun5i-a13-hstimer";
reg = <0x01c60000 0x1000>; reg = <0x01c60000 0x1000>;
@ -677,6 +754,8 @@
clock-names = "ahb", "mod", clock-names = "ahb", "mod",
"ram"; "ram";
resets = <&ccu RST_DE_FE>; resets = <&ccu RST_DE_FE>;
interconnects = <&mbus 19>;
interconnect-names = "dma-mem";
status = "disabled"; status = "disabled";
ports { ports {
@ -684,12 +763,9 @@
#size-cells = <0>; #size-cells = <0>;
fe0_out: port@1 { fe0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
fe0_out_be0: endpoint@0 { fe0_out_be0: endpoint {
reg = <0>;
remote-endpoint = <&be0_in_fe0>; remote-endpoint = <&be0_in_fe0>;
}; };
}; };
@ -705,33 +781,26 @@
clock-names = "ahb", "mod", clock-names = "ahb", "mod",
"ram"; "ram";
resets = <&ccu RST_DE_BE>; resets = <&ccu RST_DE_BE>;
interconnects = <&mbus 18>;
interconnect-names = "dma-mem";
status = "disabled"; status = "disabled";
assigned-clocks = <&ccu CLK_DE_BE>;
assigned-clock-rates = <300000000>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
be0_in: port@0 { be0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
be0_in_fe0: endpoint@0 { be0_in_fe0: endpoint {
reg = <0>;
remote-endpoint = <&fe0_out_be0>; remote-endpoint = <&fe0_out_be0>;
}; };
}; };
be0_out: port@1 { be0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
be0_out_tcon0: endpoint@0 { be0_out_tcon0: endpoint {
reg = <0>;
remote-endpoint = <&tcon0_in_be0>; remote-endpoint = <&tcon0_in_be0>;
}; };
}; };

View File

@ -65,22 +65,14 @@
status = "okay"; status = "okay";
}; };
&pio {
usb1_vbus_pin_a: usb1_vbus_pin@0 {
pins = "PH27";
function = "gpio_out";
};
};
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-0 = <&usb1_vbus_pin_a>;
gpio = <&pio 7 27 GPIO_ACTIVE_HIGH>; gpio = <&pio 7 27 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -60,13 +60,11 @@
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
i2c_lcd: i2c@0 { i2c_lcd: i2c {
/* The lcd panel i2c interface is hooked up via gpios */ /* The lcd panel i2c interface is hooked up via gpios */
compatible = "i2c-gpio"; compatible = "i2c-gpio";
pinctrl-names = "default"; sda-gpios = <&pio 0 23 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PA23 */
pinctrl-0 = <&i2c_lcd_pins>; scl-gpios = <&pio 0 24 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PA24 */
gpios = <&pio 0 23 GPIO_ACTIVE_HIGH>, /* PA23, sda */
<&pio 0 24 GPIO_ACTIVE_HIGH>; /* PA24, scl */
i2c-gpio,delay-us = <5>; i2c-gpio,delay-us = <5>;
}; };
}; };
@ -77,31 +75,21 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_rgmii_a>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "fail"; status = "fail";
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
mma8452: mma8452@1d { mma8452: mma8452@1d {
@ -112,48 +100,27 @@
}; };
}; };
&mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_colombus>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
status = "okay"; status = "okay";
}; };
&mmc0_pins_a {
bias-pull-up;
};
&pio {
mmc0_cd_pin_colombus: mmc0_cd_pin@0 {
pins = "PA8";
function = "gpio_in";
bias-pull-up;
};
usb2_vbus_pin_colombus: usb2_vbus_pin@0 {
pins = "PH24";
function = "gpio_out";
};
i2c_lcd_pins: i2c_lcd_pin@0 {
pins = "PA23", "PA24";
function = "gpio_out";
bias-pull-up;
};
};
&reg_usb2_vbus { &reg_usb2_vbus {
pinctrl-names = "default";
pinctrl-0 = <&usb2_vbus_pin_colombus>;
gpio = <&pio 7 24 GPIO_ACTIVE_HIGH>; gpio = <&pio 7 24 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -86,31 +86,23 @@
vga-dac { vga-dac {
compatible = "dumb-vga-dac"; compatible = "dumb-vga-dac";
vdd-supply = <&reg_vga_3v3>; vdd-supply = <&reg_vga_3v3>;
#address-cells = <1>;
#size-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
port@0 { port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
vga_dac_in: endpoint@0 { vga_dac_in: endpoint {
reg = <0>;
remote-endpoint = <&tcon0_out_vga>; remote-endpoint = <&tcon0_out_vga>;
}; };
}; };
port@1 { port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
vga_dac_out: endpoint@0 { vga_dac_out: endpoint {
reg = <0>;
remote-endpoint = <&vga_con_in>; remote-endpoint = <&vga_con_in>;
}; };
}; };
@ -160,17 +152,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_rgmii_a>, <&gmac_phy_reset_pin_hummingbird>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
snps,reset-gpio = <&pio 0 21 GPIO_ACTIVE_HIGH>;
snps,reset-active-low;
snps,reset-delays-us = <0 10000 30000>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -184,21 +169,15 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
/* pull-ups and devices require AXP221 DLDO3 */ /* pull-ups and devices require AXP221 DLDO3 */
status = "failed"; status = "failed";
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
pcf8563: rtc@51 { pcf8563: rtc@51 {
@ -209,27 +188,27 @@
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&s_ir_rx_pin>;
status = "okay"; status = "okay";
}; };
&mdio {
phy1: ethernet-phy@1 {
reg = <1>;
reset-gpios = <&pio 0 21 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>;
reset-deassert-us = <30000>;
};
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_hummingbird>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
status = "okay"; status = "okay";
}; };
&mmc0_pins_a {
/* external pull-ups missing for some pins */
bias-pull-up;
};
&mmc1 { &mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>, <&wifi_reset_pin_hummingbird>;
vmmc-supply = <&reg_aldo1>; vmmc-supply = <&reg_aldo1>;
mmc-pwrseq = <&wifi_pwrseq>; mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>; bus-width = <4>;
@ -241,32 +220,14 @@
status = "okay"; status = "okay";
}; };
&pio {
gmac_phy_reset_pin_hummingbird: gmac_phy_reset_pin@0 {
pins = "PA21";
function = "gpio_out";
};
mmc0_cd_pin_hummingbird: mmc0_cd_pin@0 {
pins = "PA8";
function = "gpio_in";
bias-pull-up;
};
wifi_reset_pin_hummingbird: wifi_reset_pin@0 {
pins = "PG10";
function = "gpio_out";
};
};
&p2wi { &p2wi {
status = "okay"; status = "okay";
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
}; };
@ -354,7 +315,7 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };
@ -368,8 +329,8 @@
}; };
&usbphy { &usbphy {
usb0_id_det-gpio = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */ usb0_id_det-gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */
usb0_vbus_det-gpio = <&pio 0 16 GPIO_ACTIVE_HIGH>; /* PA16 */ usb0_vbus_det-gpios = <&pio 0 16 GPIO_ACTIVE_HIGH>; /* PA16 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_drivevbus>; usb0_vbus-supply = <&reg_drivevbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;

View File

@ -71,10 +71,8 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_i7>;
blue { led {
label = "i7:blue:usr"; label = "i7:blue:usr";
gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>;
}; };
@ -118,14 +116,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_mii_a>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -140,48 +134,31 @@
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&s_ir_rx_pin>;
status = "okay"; status = "okay";
}; };
&mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_i7>;
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */ cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
status = "okay"; status = "okay";
}; };
&pio {
led_pins_i7: led_pins@0 {
pins = "PH13";
function = "gpio_out";
};
mmc0_cd_pin_i7: mmc0_cd_pin@0 {
pins = "PH22";
function = "gpio_in";
bias-pull-up;
};
usb1_vbus_pin_i7: usb1_vbus_pin@0 {
pins = "PC27";
function = "gpio_out";
};
};
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-names = "default";
pinctrl-0 = <&usb1_vbus_pin_i7>;
gpio = <&pio 2 27 GPIO_ACTIVE_HIGH>; gpio = <&pio 2 27 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&spdif { &spdif {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spdif_pins_a>; pinctrl-0 = <&spdif_tx_pin>;
spdif-out = "okay";
status = "okay"; status = "okay";
}; };
@ -191,7 +168,7 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -60,10 +60,8 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_m9>;
blue { led {
label = "m9:blue:pwr"; label = "m9:blue:pwr";
gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -85,26 +83,26 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_mii_a>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
phy-supply = <&reg_dldo1>; phy-supply = <&reg_dldo1>;
status = "okay"; status = "okay";
};
&ir {
pinctrl-names = "default";
pinctrl-0 = <&s_ir_rx_pin>;
status = "okay";
};
&mdio {
phy1: ethernet-phy@1 { phy1: ethernet-phy@1 {
reg = <1>; reg = <1>;
}; };
}; };
&ir {
pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>;
status = "okay";
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */ cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
@ -117,31 +115,13 @@
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
#include "axp22x.dtsi" #include "axp22x.dtsi"
&pio {
led_pins_m9: led_pins@0 {
pins = "PH13";
function = "gpio_out";
};
mmc0_cd_pin_m9: mmc0_cd_pin@0 {
pins = "PH22";
function = "gpio_in";
bias-pull-up;
};
usb1_vbus_pin_m9: usb1_vbus_pin@0 {
pins = "PC27";
function = "gpio_out";
};
};
&reg_aldo1 { &reg_aldo1 {
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@ -215,15 +195,13 @@
}; };
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-names = "default";
pinctrl-0 = <&usb1_vbus_pin_m9>;
gpio = <&pio 2 27 GPIO_ACTIVE_HIGH>; gpio = <&pio 2 27 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -60,10 +60,8 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_m9>;
blue { led {
label = "a1000g:blue:pwr"; label = "a1000g:blue:pwr";
gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -85,26 +83,26 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_mii_a>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
phy-supply = <&reg_dldo1>; phy-supply = <&reg_dldo1>;
status = "okay"; status = "okay";
};
&ir {
pinctrl-names = "default";
pinctrl-0 = <&s_ir_rx_pin>;
status = "okay";
};
&mdio {
phy1: ethernet-phy@1 { phy1: ethernet-phy@1 {
reg = <1>; reg = <1>;
}; };
}; };
&ir {
pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>;
status = "okay";
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */ cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
@ -117,31 +115,13 @@
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
#include "axp22x.dtsi" #include "axp22x.dtsi"
&pio {
led_pins_m9: led_pins@0 {
pins = "PH13";
function = "gpio_out";
};
mmc0_cd_pin_m9: mmc0_cd_pin@0 {
pins = "PH22";
function = "gpio_in";
bias-pull-up;
};
usb1_vbus_pin_m9: usb1_vbus_pin@0 {
pins = "PC27";
function = "gpio_out";
};
};
&reg_aldo1 { &reg_aldo1 {
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@ -215,15 +195,13 @@
}; };
&reg_usb1_vbus { &reg_usb1_vbus {
pinctrl-names = "default";
pinctrl-0 = <&usb1_vbus_pin_m9>;
gpio = <&pio 2 27 GPIO_ACTIVE_HIGH>; gpio = <&pio 2 27 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -42,8 +42,6 @@
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
#include "skeleton.dtsi"
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/thermal/thermal.h> #include <dt-bindings/thermal/thermal.h>
@ -52,6 +50,8 @@
/ { / {
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
#address-cells = <1>;
#size-cells = <1>;
aliases { aliases {
ethernet0 = &gmac; ethernet0 = &gmac;
@ -62,7 +62,7 @@
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
simplefb_hdmi: framebuffer@0 { simplefb_hdmi: framebuffer-lcd0-hdmi {
compatible = "allwinner,simple-framebuffer", compatible = "allwinner,simple-framebuffer",
"simple-framebuffer"; "simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0-hdmi"; allwinner,pipeline = "de_be0-lcd0-hdmi";
@ -73,7 +73,7 @@
status = "disabled"; status = "disabled";
}; };
simplefb_lcd: framebuffer@1 { simplefb_lcd: framebuffer-lcd0 {
compatible = "allwinner,simple-framebuffer", compatible = "allwinner,simple-framebuffer",
"simple-framebuffer"; "simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0"; allwinner,pipeline = "de_be0-lcd0";
@ -115,27 +115,57 @@
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
cpu@1 { cpu1: cpu@1 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
reg = <1>; reg = <1>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
/* kHz uV */
1008000 1200000
864000 1200000
720000 1100000
480000 1000000
>;
#cooling-cells = <2>;
}; };
cpu@2 { cpu2: cpu@2 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
reg = <2>; reg = <2>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
/* kHz uV */
1008000 1200000
864000 1200000
720000 1100000
480000 1000000
>;
#cooling-cells = <2>;
}; };
cpu@3 { cpu3: cpu@3 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
reg = <3>; reg = <3>;
clocks = <&ccu CLK_CPU>;
clock-latency = <244144>; /* 8 32k periods */
operating-points = <
/* kHz uV */
1008000 1200000
864000 1200000
720000 1100000
480000 1000000
>;
#cooling-cells = <2>;
}; };
}; };
thermal-zones { thermal-zones {
cpu_thermal { cpu-thermal {
/* milliseconds */ /* milliseconds */
polling-delay-passive = <250>; polling-delay-passive = <250>;
polling-delay = <1000>; polling-delay = <1000>;
@ -144,7 +174,10 @@
cooling-maps { cooling-maps {
map0 { map0 {
trip = <&cpu_alert0>; trip = <&cpu_alert0>;
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
}; };
}; };
@ -166,12 +199,8 @@
}; };
}; };
memory {
reg = <0x40000000 0x80000000>;
};
pmu { pmu {
compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; compatible = "arm,cortex-a7-pmu";
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
@ -183,17 +212,20 @@
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
osc24M: osc24M { osc24M: clk-24M {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "fixed-clock"; compatible = "fixed-clock";
clock-frequency = <24000000>; clock-frequency = <24000000>;
clock-accuracy = <50000>;
clock-output-names = "osc24M";
}; };
osc32k: clk@0 { osc32k: clk-32k {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "fixed-clock"; compatible = "fixed-clock";
clock-frequency = <32768>; clock-frequency = <32768>;
clock-output-names = "osc32k"; clock-accuracy = <50000>;
clock-output-names = "ext_osc32k";
}; };
/* /*
@ -205,14 +237,14 @@
* The actual TX clock rate is not controlled by the * The actual TX clock rate is not controlled by the
* gmac_tx clock. * gmac_tx clock.
*/ */
mii_phy_tx_clk: clk@1 { mii_phy_tx_clk: clk-mii-phy-tx {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "fixed-clock"; compatible = "fixed-clock";
clock-frequency = <25000000>; clock-frequency = <25000000>;
clock-output-names = "mii_phy_tx"; clock-output-names = "mii_phy_tx";
}; };
gmac_int_tx_clk: clk@2 { gmac_int_tx_clk: clk-gmac-int-tx {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "fixed-clock"; compatible = "fixed-clock";
clock-frequency = <125000000>; clock-frequency = <125000000>;
@ -234,7 +266,7 @@
status = "disabled"; status = "disabled";
}; };
soc@1c00000 { soc {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@ -253,15 +285,21 @@
compatible = "allwinner,sun6i-a31-tcon"; compatible = "allwinner,sun6i-a31-tcon";
reg = <0x01c0c000 0x1000>; reg = <0x01c0c000 0x1000>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
resets = <&ccu RST_AHB1_LCD0>; dmas = <&dma 11>;
reset-names = "lcd"; resets = <&ccu RST_AHB1_LCD0>,
<&ccu RST_AHB1_LVDS>;
reset-names = "lcd",
"lvds";
clocks = <&ccu CLK_AHB1_LCD0>, clocks = <&ccu CLK_AHB1_LCD0>,
<&ccu CLK_LCD0_CH0>, <&ccu CLK_LCD0_CH0>,
<&ccu CLK_LCD0_CH1>; <&ccu CLK_LCD0_CH1>,
<&ccu 15>;
clock-names = "ahb", clock-names = "ahb",
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1",
"lvds-alt";
clock-output-names = "tcon0-pixel-clock"; clock-output-names = "tcon0-pixel-clock";
#clock-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
@ -301,15 +339,20 @@
compatible = "allwinner,sun6i-a31-tcon"; compatible = "allwinner,sun6i-a31-tcon";
reg = <0x01c0d000 0x1000>; reg = <0x01c0d000 0x1000>;
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
resets = <&ccu RST_AHB1_LCD1>; dmas = <&dma 12>;
reset-names = "lcd"; resets = <&ccu RST_AHB1_LCD1>,
<&ccu RST_AHB1_LVDS>;
reset-names = "lcd", "lvds";
clocks = <&ccu CLK_AHB1_LCD1>, clocks = <&ccu CLK_AHB1_LCD1>,
<&ccu CLK_LCD1_CH0>, <&ccu CLK_LCD1_CH0>,
<&ccu CLK_LCD1_CH1>; <&ccu CLK_LCD1_CH1>,
<&ccu 15>;
clock-names = "ahb", clock-names = "ahb",
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1",
"lvds-alt";
clock-output-names = "tcon1-pixel-clock"; clock-output-names = "tcon1-pixel-clock";
#clock-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
@ -359,6 +402,8 @@
resets = <&ccu RST_AHB1_MMC0>; resets = <&ccu RST_AHB1_MMC0>;
reset-names = "ahb"; reset-names = "ahb";
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -378,6 +423,8 @@
resets = <&ccu RST_AHB1_MMC1>; resets = <&ccu RST_AHB1_MMC1>;
reset-names = "ahb"; reset-names = "ahb";
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -431,7 +478,6 @@
<&ccu CLK_PLL_VIDEO1_2X>; <&ccu CLK_PLL_VIDEO1_2X>;
clock-names = "ahb", "mod", "ddc", "pll-0", "pll-1"; clock-names = "ahb", "mod", "ddc", "pll-0", "pll-1";
resets = <&ccu RST_AHB1_HDMI>; resets = <&ccu RST_AHB1_HDMI>;
reset-names = "ahb";
dma-names = "ddc-tx", "ddc-rx", "audio-tx"; dma-names = "ddc-tx", "ddc-rx", "audio-tx";
dmas = <&dma 13>, <&dma 13>, <&dma 14>; dmas = <&dma 13>, <&dma 13>, <&dma 14>;
status = "disabled"; status = "disabled";
@ -457,8 +503,6 @@
}; };
hdmi_out: port@1 { hdmi_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
@ -474,6 +518,7 @@
phys = <&usbphy 0>; phys = <&usbphy 0>;
phy-names = "usb"; phy-names = "usb";
extcon = <&usbphy 0>; extcon = <&usbphy 0>;
dr_mode = "otg";
status = "disabled"; status = "disabled";
}; };
@ -557,7 +602,7 @@
ccu: clock@1c20000 { ccu: clock@1c20000 {
compatible = "allwinner,sun6i-a31-ccu"; compatible = "allwinner,sun6i-a31-ccu";
reg = <0x01c20000 0x400>; reg = <0x01c20000 0x400>;
clocks = <&osc24M>, <&osc32k>; clocks = <&osc24M>, <&rtc 0>;
clock-names = "hosc", "losc"; clock-names = "hosc", "losc";
#clock-cells = <1>; #clock-cells = <1>;
#reset-cells = <1>; #reset-cells = <1>;
@ -566,18 +611,19 @@
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
compatible = "allwinner,sun6i-a31-pinctrl"; compatible = "allwinner,sun6i-a31-pinctrl";
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_APB1_PIO>, <&osc24M>, <&osc32k>; clocks = <&ccu CLK_APB1_PIO>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
gpio-controller; gpio-controller;
interrupt-controller; interrupt-controller;
#interrupt-cells = <3>; #interrupt-cells = <3>;
#gpio-cells = <3>; #gpio-cells = <3>;
gmac_pins_gmii_a: gmac_gmii@0 { gmac_gmii_pins: gmac-gmii-pins {
pins = "PA0", "PA1", "PA2", "PA3", pins = "PA0", "PA1", "PA2", "PA3",
"PA4", "PA5", "PA6", "PA7", "PA4", "PA5", "PA6", "PA7",
"PA8", "PA9", "PA10", "PA11", "PA8", "PA9", "PA10", "PA11",
@ -593,7 +639,7 @@
drive-strength = <30>; drive-strength = <30>;
}; };
gmac_pins_mii_a: gmac_mii@0 { gmac_mii_pins: gmac-mii-pins {
pins = "PA0", "PA1", "PA2", "PA3", pins = "PA0", "PA1", "PA2", "PA3",
"PA8", "PA9", "PA11", "PA8", "PA9", "PA11",
"PA12", "PA13", "PA14", "PA19", "PA12", "PA13", "PA14", "PA19",
@ -602,7 +648,7 @@
function = "gmac"; function = "gmac";
}; };
gmac_pins_rgmii_a: gmac_rgmii@0 { gmac_rgmii_pins: gmac-rgmii-pins {
pins = "PA0", "PA1", "PA2", "PA3", pins = "PA0", "PA1", "PA2", "PA3",
"PA9", "PA10", "PA11", "PA9", "PA10", "PA11",
"PA12", "PA13", "PA14", "PA19", "PA12", "PA13", "PA14", "PA19",
@ -615,22 +661,22 @@
drive-strength = <40>; drive-strength = <40>;
}; };
i2c0_pins_a: i2c0@0 { i2c0_pins: i2c0-pins {
pins = "PH14", "PH15"; pins = "PH14", "PH15";
function = "i2c0"; function = "i2c0";
}; };
i2c1_pins_a: i2c1@0 { i2c1_pins: i2c1-pins {
pins = "PH16", "PH17"; pins = "PH16", "PH17";
function = "i2c1"; function = "i2c1";
}; };
i2c2_pins_a: i2c2@0 { i2c2_pins: i2c2-pins {
pins = "PH18", "PH19"; pins = "PH18", "PH19";
function = "i2c2"; function = "i2c2";
}; };
lcd0_rgb888_pins: lcd0_rgb888 { lcd0_rgb888_pins: lcd0-rgb888-pins {
pins = "PD0", "PD1", "PD2", "PD3", pins = "PD0", "PD1", "PD2", "PD3",
"PD4", "PD5", "PD6", "PD7", "PD4", "PD5", "PD6", "PD7",
"PD8", "PD9", "PD10", "PD11", "PD8", "PD9", "PD10", "PD11",
@ -641,7 +687,7 @@
function = "lcd0"; function = "lcd0";
}; };
mmc0_pins_a: mmc0@0 { mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", pins = "PF0", "PF1", "PF2",
"PF3", "PF4", "PF5"; "PF3", "PF4", "PF5";
function = "mmc0"; function = "mmc0";
@ -649,7 +695,7 @@
bias-pull-up; bias-pull-up;
}; };
mmc1_pins_a: mmc1@0 { mmc1_pins: mmc1-pins {
pins = "PG0", "PG1", "PG2", "PG3", pins = "PG0", "PG1", "PG2", "PG3",
"PG4", "PG5"; "PG4", "PG5";
function = "mmc1"; function = "mmc1";
@ -657,7 +703,7 @@
bias-pull-up; bias-pull-up;
}; };
mmc2_pins_a: mmc2@0 { mmc2_4bit_pins: mmc2-4bit-pins {
pins = "PC6", "PC7", "PC8", "PC9", pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11"; "PC10", "PC11";
function = "mmc2"; function = "mmc2";
@ -665,7 +711,7 @@
bias-pull-up; bias-pull-up;
}; };
mmc2_8bit_emmc_pins: mmc2@1 { mmc2_8bit_emmc_pins: mmc2-8bit-emmc-pins {
pins = "PC6", "PC7", "PC8", "PC9", pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11", "PC12", "PC10", "PC11", "PC12",
"PC13", "PC14", "PC15", "PC13", "PC14", "PC15",
@ -675,7 +721,7 @@
bias-pull-up; bias-pull-up;
}; };
mmc3_8bit_emmc_pins: mmc3@1 { mmc3_8bit_emmc_pins: mmc3-8bit-emmc-pins {
pins = "PC6", "PC7", "PC8", "PC9", pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11", "PC12", "PC10", "PC11", "PC12",
"PC13", "PC14", "PC15", "PC13", "PC14", "PC15",
@ -685,12 +731,12 @@
bias-pull-up; bias-pull-up;
}; };
spdif_pins_a: spdif@0 { spdif_tx_pin: spdif-tx-pin {
pins = "PH28"; pins = "PH28";
function = "spdif"; function = "spdif";
}; };
uart0_pins_a: uart0@0 { uart0_ph_pins: uart0-ph-pins {
pins = "PH20", "PH21"; pins = "PH20", "PH21";
function = "uart0"; function = "uart0";
}; };
@ -703,13 +749,16 @@
<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>; clocks = <&osc24M>;
}; };
wdt1: watchdog@1c20ca0 { wdt1: watchdog@1c20ca0 {
compatible = "allwinner,sun6i-a31-wdt"; compatible = "allwinner,sun6i-a31-wdt";
reg = <0x01c20ca0 0x20>; reg = <0x01c20ca0 0x20>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
}; };
spdif: spdif@1c21000 { spdif: spdif@1c21000 {
@ -754,6 +803,7 @@
lradc: lradc@1c22800 { lradc: lradc@1c22800 {
compatible = "allwinner,sun4i-a10-lradc-keys"; compatible = "allwinner,sun4i-a10-lradc-keys";
reg = <0x01c22800 0x100>; reg = <0x01c22800 0x100>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
}; };
@ -849,6 +899,8 @@
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_APB2_I2C0>; clocks = <&ccu CLK_APB2_I2C0>;
resets = <&ccu RST_APB2_I2C0>; resets = <&ccu RST_APB2_I2C0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -860,6 +912,8 @@
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_APB2_I2C1>; clocks = <&ccu CLK_APB2_I2C1>;
resets = <&ccu RST_APB2_I2C1>; resets = <&ccu RST_APB2_I2C1>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -871,6 +925,8 @@
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_APB2_I2C2>; clocks = <&ccu CLK_APB2_I2C2>;
resets = <&ccu RST_APB2_I2C2>; resets = <&ccu RST_APB2_I2C2>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -900,8 +956,12 @@
snps,fixed-burst; snps,fixed-burst;
snps,force_sf_dma_mode; snps,force_sf_dma_mode;
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>; mdio: mdio {
compatible = "snps,dwmac-mdio";
#address-cells = <1>;
#size-cells = <0>;
};
}; };
crypto: crypto-engine@1c15000 { crypto: crypto-engine@1c15000 {
@ -950,6 +1010,8 @@
dma-names = "rx", "tx"; dma-names = "rx", "tx";
resets = <&ccu RST_AHB1_SPI0>; resets = <&ccu RST_AHB1_SPI0>;
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
}; };
spi1: spi@1c69000 { spi1: spi@1c69000 {
@ -962,6 +1024,8 @@
dma-names = "rx", "tx"; dma-names = "rx", "tx";
resets = <&ccu RST_AHB1_SPI1>; resets = <&ccu RST_AHB1_SPI1>;
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
}; };
spi2: spi@1c6a000 { spi2: spi@1c6a000 {
@ -974,6 +1038,8 @@
dma-names = "rx", "tx"; dma-names = "rx", "tx";
resets = <&ccu RST_AHB1_SPI2>; resets = <&ccu RST_AHB1_SPI2>;
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
}; };
spi3: spi@1c6b000 { spi3: spi@1c6b000 {
@ -986,10 +1052,12 @@
dma-names = "rx", "tx"; dma-names = "rx", "tx";
resets = <&ccu RST_AHB1_SPI3>; resets = <&ccu RST_AHB1_SPI3>;
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
}; };
gic: interrupt-controller@1c81000 { gic: interrupt-controller@1c81000 {
compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; compatible = "arm,gic-400";
reg = <0x01c81000 0x1000>, reg = <0x01c81000 0x1000>,
<0x01c82000 0x2000>, <0x01c82000 0x2000>,
<0x01c84000 0x2000>, <0x01c84000 0x2000>,
@ -1073,9 +1141,6 @@
"ram"; "ram";
resets = <&ccu RST_AHB1_BE1>; resets = <&ccu RST_AHB1_BE1>;
assigned-clocks = <&ccu CLK_BE1>;
assigned-clock-rates = <300000000>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -1119,9 +1184,6 @@
"ram"; "ram";
resets = <&ccu RST_AHB1_DRC1>; resets = <&ccu RST_AHB1_DRC1>;
assigned-clocks = <&ccu CLK_IEP_DRC1>;
assigned-clock-rates = <300000000>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -1165,9 +1227,6 @@
"ram"; "ram";
resets = <&ccu RST_AHB1_BE0>; resets = <&ccu RST_AHB1_BE0>;
assigned-clocks = <&ccu CLK_BE0>;
assigned-clock-rates = <300000000>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -1189,12 +1248,9 @@
}; };
be0_out: port@1 { be0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
be0_out_drc0: endpoint@0 { be0_out_drc0: endpoint {
reg = <0>;
remote-endpoint = <&drc0_in_be0>; remote-endpoint = <&drc0_in_be0>;
}; };
}; };
@ -1211,20 +1267,14 @@
"ram"; "ram";
resets = <&ccu RST_AHB1_DRC0>; resets = <&ccu RST_AHB1_DRC0>;
assigned-clocks = <&ccu CLK_IEP_DRC0>;
assigned-clock-rates = <300000000>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
drc0_in: port@0 { drc0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
drc0_in_be0: endpoint@0 { drc0_in_be0: endpoint {
reg = <0>;
remote-endpoint = <&be0_out_drc0>; remote-endpoint = <&be0_out_drc0>;
}; };
}; };
@ -1248,16 +1298,20 @@
}; };
rtc: rtc@1f00000 { rtc: rtc@1f00000 {
#clock-cells = <1>;
compatible = "allwinner,sun6i-a31-rtc"; compatible = "allwinner,sun6i-a31-rtc";
reg = <0x01f00000 0x54>; reg = <0x01f00000 0x54>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc32k>;
clock-output-names = "osc32k";
}; };
nmi_intc: interrupt-controller@1f00c00 { r_intc: interrupt-controller@1f00c00 {
compatible = "allwinner,sun6i-a31-r-intc"; compatible = "allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x01f00c00 0x400>; reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
}; };
@ -1269,7 +1323,7 @@
ar100: ar100_clk { ar100: ar100_clk {
compatible = "allwinner,sun6i-a31-ar100-clk"; compatible = "allwinner,sun6i-a31-ar100-clk";
#clock-cells = <0>; #clock-cells = <0>;
clocks = <&osc32k>, <&osc24M>, clocks = <&rtc 0>, <&osc24M>,
<&ccu CLK_PLL_PERIPH>, <&ccu CLK_PLL_PERIPH>,
<&ccu CLK_PLL_PERIPH>; <&ccu CLK_PLL_PERIPH>;
clock-output-names = "ar100"; clock-output-names = "ar100";
@ -1304,7 +1358,7 @@
ir_clk: ir_clk { ir_clk: ir_clk {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "allwinner,sun4i-a10-mod0-clk"; compatible = "allwinner,sun4i-a10-mod0-clk";
clocks = <&osc32k>, <&osc24M>; clocks = <&rtc 0>, <&osc24M>;
clock-output-names = "ir"; clock-output-names = "ir";
}; };
@ -1320,7 +1374,7 @@
}; };
ir: ir@1f02000 { ir: ir@1f02000 {
compatible = "allwinner,sun5i-a13-ir"; compatible = "allwinner,sun6i-a31-ir";
clocks = <&apb0_gates 1>, <&ir_clk>; clocks = <&apb0_gates 1>, <&ir_clk>;
clock-names = "apb", "ir"; clock-names = "apb", "ir";
resets = <&apb0_rst 1>; resets = <&apb0_rst 1>;
@ -1332,23 +1386,23 @@
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun6i-a31-r-pinctrl"; compatible = "allwinner,sun6i-a31-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&apb0_gates 0>, <&osc24M>, <&osc32k>; clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
resets = <&apb0_rst 0>; resets = <&apb0_rst 0>;
gpio-controller; gpio-controller;
interrupt-controller; interrupt-controller;
#interrupt-cells = <3>; #interrupt-cells = <3>;
#size-cells = <0>;
#gpio-cells = <3>; #gpio-cells = <3>;
ir_pins_a: ir@0 { s_ir_rx_pin: s-ir-rx-pin {
pins = "PL4"; pins = "PL4";
function = "s_ir"; function = "s_ir";
}; };
p2wi_pins: p2wi { s_p2wi_pins: s-p2wi-pins {
pins = "PL0", "PL1"; pins = "PL0", "PL1";
function = "s_p2wi"; function = "s_p2wi";
}; };
@ -1362,7 +1416,7 @@
clock-frequency = <100000>; clock-frequency = <100000>;
resets = <&apb0_rst 3>; resets = <&apb0_rst 3>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&p2wi_pins>; pinctrl-0 = <&s_p2wi_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;

View File

@ -53,7 +53,7 @@
vref-supply = <&reg_aldo3>; vref-supply = <&reg_aldo3>;
status = "okay"; status = "okay";
button@1000 { button-1000 {
label = "Home"; label = "Home";
linux,code = <KEY_HOMEPAGE>; linux,code = <KEY_HOMEPAGE>;
channel = <0>; channel = <0>;

View File

@ -66,28 +66,31 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_mii_a>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&s_ir_rx_pin>;
status = "okay"; status = "okay";
}; };
&mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&ohci1 { &ohci1 {
status = "okay"; status = "okay";
}; };
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -54,8 +54,6 @@
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
ft5406ee8: touchscreen@38 { ft5406ee8: touchscreen@38 {
@ -73,21 +71,21 @@
vref-supply = <&reg_aldo3>; vref-supply = <&reg_aldo3>;
status = "okay"; status = "okay";
button@200 { button-200 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
voltage = <200000>; voltage = <200000>;
}; };
button@900 { button-900 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <900000>; voltage = <900000>;
}; };
button@1200 { button-1200 {
label = "Back"; label = "Back";
linux,code = <KEY_BACK>; linux,code = <KEY_BACK>;
channel = <0>; channel = <0>;

View File

@ -90,19 +90,13 @@
&i2c0 { &i2c0 {
/* pull-ups and device VDDIO use AXP221 DLDO3 */ /* pull-ups and device VDDIO use AXP221 DLDO3 */
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "failed"; status = "failed";
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
ctp@5d { ctp@5d {
pinctrl-names = "default";
pinctrl-0 = <&gt911_int_primo81>;
compatible = "goodix,gt911"; compatible = "goodix,gt911";
reg = <0x5d>; reg = <0x5d>;
interrupt-parent = <&pio>; interrupt-parent = <&pio>;
@ -112,8 +106,6 @@
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
accelerometer@1c { accelerometer@1c {
@ -123,7 +115,6 @@
reg = <0x1c>; reg = <0x1c>;
interrupt-parent = <&pio>; interrupt-parent = <&pio>;
interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>; /* PA9 */ interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>; /* PA9 */
#io-channel-cells = <1>;
}; };
}; };
@ -131,14 +122,14 @@
vref-supply = <&reg_aldo3>; vref-supply = <&reg_aldo3>;
status = "okay"; status = "okay";
button@158 { button-158 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <158730>; voltage = <158730>;
}; };
button@349 { button-349 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
@ -147,8 +138,6 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_primo81>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
@ -156,22 +145,11 @@
}; };
&pio { &pio {
gt911_int_primo81: gt911_int_pin@0 { mma8452_int_primo81: mma8452-int-pin {
pins = "PA3";
function = "gpio_in";
};
mma8452_int_primo81: mma8452_int_pin@0 {
pins = "PA9"; pins = "PA9";
function = "gpio_in"; function = "gpio_in";
bias-pull-up; bias-pull-up;
}; };
mmc0_cd_pin_primo81: mmc0_cd_pin@0 {
pins = "PA8";
function = "gpio_in";
bias-pull-up;
};
}; };
&p2wi { &p2wi {
@ -180,8 +158,8 @@
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
}; };
@ -281,7 +259,7 @@
}; };
&usbphy { &usbphy {
usb0_id_det-gpio = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */ usb0_id_det-gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_drivevbus>; usb0_vbus-supply = <&reg_drivevbus>;
usb1_vbus-supply = <&reg_dldo1>; usb1_vbus-supply = <&reg_dldo1>;

View File

@ -78,8 +78,8 @@
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
@ -135,7 +135,7 @@
/* UART0 pads available on core board */ /* UART0 pads available on core board */
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -66,8 +66,6 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pin_sina31s>;
status { status {
label = "sina31s:status:usr"; label = "sina31s:status:usr";
@ -116,15 +114,11 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_mii_a>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
phy-supply = <&reg_dldo1>; phy-supply = <&reg_dldo1>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -139,7 +133,7 @@
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&s_ir_rx_pin>;
status = "okay"; status = "okay";
}; };
@ -147,14 +141,14 @@
vref-supply = <&reg_aldo3>; vref-supply = <&reg_aldo3>;
status = "okay"; status = "okay";
button@158 { button-158 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <158730>; voltage = <158730>;
}; };
button@349 { button-349 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
@ -162,9 +156,13 @@
}; };
}; };
&mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina31s>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */ cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
@ -175,19 +173,6 @@
status = "okay"; status = "okay";
}; };
&pio {
led_pin_sina31s: led_pin@0 {
pins = "PH13";
function = "gpio_out";
};
mmc0_cd_pin_sina31s: mmc0_cd_pin@0 {
pins = "PA4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_dldo1 { &reg_dldo1 {
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@ -196,7 +181,7 @@
&spdif { &spdif {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spdif_pins_a>; pinctrl-0 = <&spdif_tx_pin>;
status = "okay"; status = "okay";
}; };

View File

@ -58,20 +58,18 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_bpi_m2>;
blue { led-0 {
label = "bpi-m2:blue:usr"; label = "bpi-m2:blue:usr";
gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
}; };
green { led-1 {
label = "bpi-m2:green:usr"; label = "bpi-m2:green:usr";
gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>; /* PG10 */ gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>; /* PG10 */
}; };
red { led-2 {
label = "bpi-m2:red:usr"; label = "bpi-m2:red:usr";
gpios = <&pio 6 5 GPIO_ACTIVE_HIGH>; /* PG5 */ gpios = <&pio 6 5 GPIO_ACTIVE_HIGH>; /* PG5 */
}; };
@ -79,8 +77,6 @@
mmc2_pwrseq: mmc2_pwrseq { mmc2_pwrseq: mmc2_pwrseq {
compatible = "mmc-pwrseq-simple"; compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&mmc2_pwrseq_pin_bpi_m2>;
reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 WIFI_EN */ reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 WIFI_EN */
}; };
}; };
@ -95,42 +91,38 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_rgmii_a>, <&gmac_phy_reset_pin_bpi_m2>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii";
phy-supply = <&reg_dldo1>; phy-supply = <&reg_dldo1>;
snps,reset-gpio = <&pio 0 21 GPIO_ACTIVE_HIGH>; /* PA21 */
snps,reset-active-low;
snps,reset-delays-us = <0 10000 30000>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>; pinctrl-0 = <&s_ir_rx_pin>;
status = "okay"; status = "okay";
}; };
&mdio {
phy1: ethernet-phy@1 {
reg = <1>;
reset-gpios = <&pio 0 21 GPIO_ACTIVE_LOW>; /* PA21 */
reset-assert-us = <10000>;
reset-deassert-us = <30000>;
};
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m2>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */ cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
status = "okay"; status = "okay";
}; };
&mmc0_pins_a {
bias-pull-up;
};
&mmc2 { &mmc2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins_a>; pinctrl-0 = <&mmc2_4bit_pins>;
vmmc-supply = <&reg_aldo1>; vmmc-supply = <&reg_aldo1>;
mmc-pwrseq = <&mmc2_pwrseq>; mmc-pwrseq = <&mmc2_pwrseq>;
bus-width = <4>; bus-width = <4>;
@ -146,10 +138,6 @@
}; };
}; };
&mmc2_pins_a {
bias-pull-up;
};
&ohci0 { &ohci0 {
status = "okay"; status = "okay";
}; };
@ -160,38 +148,13 @@
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
}; };
&pio {
gmac_phy_reset_pin_bpi_m2: gmac_phy_reset_pin@0 {
pins = "PA21";
function = "gpio_out";
};
led_pins_bpi_m2: led_pins@0 {
pins = "PG5", "PG10", "PG11";
function = "gpio_out";
};
mmc0_cd_pin_bpi_m2: mmc0_cd_pin@0 {
pins = "PA4";
function = "gpio_in";
bias-pull-up;
};
};
&r_pio {
mmc2_pwrseq_pin_bpi_m2: mmc2_pwrseq_pin@0 {
pins = "PL8";
function = "gpio_out";
};
};
#include "axp22x.dtsi" #include "axp22x.dtsi"
&reg_aldo1 { &reg_aldo1 {
@ -291,10 +254,81 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };
&usbphy { &usbphy {
status = "okay"; status = "okay";
}; };
&pio {
gpio-line-names =
/* PA */
"ETXD0", "ETXD1", "ETXD2", "ETXD3", "SDC0-DET", "", "",
"", "ETXCLK", "ETXEN", "EGTXCLK", "ERXD0", "ERXD1",
"ERXD2", "ERXD3", "", "", "", "", "ERXDV", "ERXCK",
"ETXERR", "ERXERR", "ECOL", "ECRS", "ECLKIN", "EMDC",
"EMDIO", "", "", "", "",
/* PB */
"CN7-P29", "CN7-P31", "CN7-P33", "CN7-P35", "CN7-P37",
"CN7-P28", "CN7-P27", "CN7-P32", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "",
/* PC */
"", "", "", "", "", "", "WL-SDIO-CMD", "WL-SDIO-CLK",
"WL-SDIO-D0", "WL-SDIO-D2", "WL-SDIO-D2", "WL-SDIO-D3",
"", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "USB-DRV", "", "", "", "",
/* PD */
"CN9-P09", "CN9-P11", "CN9-P13", "CN9-P15", "CN9-P17",
"CN9-P19", "CN9-P21", "CN9-P23", "CN9-P25", "CN9-P27",
"CN9-P29", "CN9-P31", "CN9-P33", "CN9-P35", "CN9-P37",
"CN9-P39", "CN9-P40", "CN9-P38", "CN9-P36", "CN9-P34",
"CN9-P32", "CN9-P30", "CN9-P28", "CN9-P26", "CN9-P22",
"CN9-P14", "CN9-P18", "CN9-P16", "", "", "", "",
/* PE */
"CN6-P20", "CN6-P24", "CN6-P30", "CN6-P28", "CN7-P08",
"CN7-P10", "CN7-P36", "CN7-P38", "CN6-P17", "CN6-P19",
"CN6-P21", "CN6-P23", "CN6-P25", "CN6-P27", "CN6-P29",
"CN6-P31", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "",
/* PF */
"SDC0-D1", "SDC0-D0", "SDC0-CLK", "SDC0-CMD", "SDC0-D3",
"SDC0-D2", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", "", "", "", "",
"",
/* PG */
"CN9-P06", "CN9-P08", "CN9-P20", "CN9-P12", "CN9-P07",
"LED-PWR", "CN7-P13", "CN7-P11", "CN7-P22", "CN7-P15",
"LED-G", "LED-B", "CN7-P26", "CN7-P24", "CN7-P23",
"CN7-P19", "CN7-P21", "HCEC", "CN6-P22", "", "", "", "",
"", "", "", "", "", "", "", "", "",
/* PH */
"", "", "", "", "", "", "", "", "", "CN7-P07",
"CN7-P12", "CN7-P16", "CN7-P18", "CN9-P10", "CN6-P16",
"CN6-P14", "CN9-P04", "CN9-P02", "CN7-P05", "CN7-P03",
"CN8-P03", "CN8-P02", "", "", "CN6-P34", "CN6-P32",
"CN6-P26", "CN6-P18", "", "", "", "";
};
&r_pio {
gpio-line-names =
/* PL */
"PMU-SCK", "PMU-SDA", "VBAT-EN", "", "IR-RX",
"WL-WAKE-HOST", "BT-WAKE_HOST", "BT-ENABLE",
"WL-PMU-EN", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", "", "",
/* PM */
"CN6-P12", "CN6-P35", "CN7-P40", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "";
};

View File

@ -62,14 +62,10 @@
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
}; };
&i2c2 { &i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay"; status = "okay";
}; };
@ -89,35 +85,21 @@
status = "okay"; status = "okay";
}; };
&pio {
mmc0_cd_pin_bs1078v2: mmc0_cd_pin@0 {
pins = "PA8";
function = "gpio_in";
bias-pull-up;
};
};
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bs1078v2>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
status = "okay"; status = "okay";
}; };
&mmc0_pins_a {
bias-pull-up;
};
&p2wi { &p2wi {
status = "okay"; status = "okay";
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
@ -189,7 +171,7 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_ph_pins>;
status = "okay"; status = "okay";
}; };

View File

@ -66,35 +66,21 @@
&mmc0 { &mmc0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>; pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */ cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
status = "okay"; status = "okay";
}; };
&pio {
mmc0_cd_pin_e708_q1: mmc0_cd_pin@0 {
pins = "PA8";
function = "gpio_in";
bias-pull-up;
};
usb0_id_detect_pin: usb0_id_detect_pin@0 {
pins = "PA15";
function = "gpio_in";
bias-pull-up;
};
};
&p2wi { &p2wi {
status = "okay"; status = "okay";
axp22x: pmic@68 { axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&nmi_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
drivevbus-supply = <&reg_vcc5v0>; drivevbus-supply = <&reg_vcc5v0>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
@ -179,9 +165,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 0 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PA15 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_drivevbus>; usb0_vbus-supply = <&reg_drivevbus>;
usb1_vbus-supply = <&reg_dldo1>; usb1_vbus-supply = <&reg_dldo1>;

View File

@ -74,12 +74,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
green { led-0 {
label = "bananapi-m1-plus:green:usr"; label = "bananapi-m1-plus:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
}; };
pwr { led-1 {
label = "bananapi-m1-plus:pwr:usr"; label = "bananapi-m1-plus:pwr:usr";
gpios = <&pio 7 25 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 25 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -129,14 +129,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -171,6 +167,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;

View File

@ -77,7 +77,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
green { led {
label = "bananapi:green:usr"; label = "bananapi:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
}; };
@ -131,14 +131,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -171,6 +167,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -246,12 +248,6 @@
"SPI-MISO", "SPI-CE1", "", "SPI-MISO", "SPI-CE1", "",
"IO-6", "IO-3", "IO-2", "IO-0", "", "", "", "", "IO-6", "IO-3", "IO-2", "IO-0", "", "", "", "",
"", "", "", "", "", "", "", ""; "", "", "", "", "", "", "", "";
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
}; };
#include "axp209.dtsi" #include "axp209.dtsi"
@ -329,9 +325,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;

View File

@ -63,12 +63,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
blue { led-0 {
label = "bananapro:blue:usr"; label = "bananapro:blue:usr";
gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>;
}; };
green { led-1 {
label = "bananapro:green:usr"; label = "bananapro:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
}; };
@ -109,14 +109,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -143,6 +139,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;

View File

@ -75,12 +75,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
blue { led-0 {
label = "cubieboard2:blue:usr"; label = "cubieboard2:blue:usr";
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
}; };
green { led-1 {
label = "cubieboard2:green:usr"; label = "cubieboard2:green:usr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
}; };
@ -115,13 +115,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -161,6 +157,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&ohci0 { &ohci0 {
status = "okay"; status = "okay";
}; };
@ -173,14 +175,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_ahci_5v { &reg_ahci_5v {
status = "okay"; status = "okay";
}; };
@ -236,9 +230,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -75,22 +75,22 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
blue { led-0 {
label = "cubietruck:blue:usr"; label = "cubietruck:blue:usr";
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
}; };
orange { led-1 {
label = "cubietruck:orange:usr"; label = "cubietruck:orange:usr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
}; };
white { led-2 {
label = "cubietruck:white:usr"; label = "cubietruck:white:usr";
gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>;
}; };
green { led-3 {
label = "cubietruck:green:usr"; label = "cubietruck:green:usr";
gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>;
}; };
@ -150,13 +150,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -194,6 +190,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;

View File

@ -100,19 +100,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii";
phy-supply = <&reg_gmac_vdd>; phy-supply = <&reg_gmac_vdd>;
/* phy reset config */
snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
snps,reset-active-low;
/* wait 1s after reset, otherwise fail to read phy id */
snps,reset-delays-us = <0 10000 1000000>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -146,6 +137,16 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
reset-gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */
reset-assert-us = <10000>;
/* wait 1s after reset, otherwise fail to read phy id */
reset-deassert-us = <1000000>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;

View File

@ -62,12 +62,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
red { led-0 {
label = "i12_tvbox:red:usr"; label = "i12_tvbox:red:usr";
gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; gpios = <&pio 7 9 GPIO_ACTIVE_LOW>;
}; };
blue { led-1 {
label = "i12_tvbox:blue:usr"; label = "i12_tvbox:blue:usr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
}; };
@ -115,14 +115,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -145,6 +141,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;

View File

@ -49,7 +49,8 @@
/ { / {
model = "ICnova-A20 SWAC"; model = "ICnova-A20 SWAC";
compatible = "swac,icnova-a20-swac", "incircuit,icnova-a20", "allwinner,sun7i-a20"; compatible = "incircuit,icnova-a20-swac", "incircuit,icnova-a20",
"allwinner,sun7i-a20";
aliases { aliases {
serial0 = &uart0; serial0 = &uart0;
@ -75,13 +76,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -98,6 +95,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;

View File

@ -53,13 +53,13 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_itead_core>; pinctrl-0 = <&led_pins_itead_core>;
green { led-0 {
label = "itead_core:green:usr"; label = "itead_core:green:usr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
}; };
blue { led-1 {
label = "itead_core:blue:usr"; label = "itead_core:blue:usr";
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -97,10 +97,12 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
};
&gmac_mdio {
phy1: ethernet-phy@1 { phy1: ethernet-phy@1 {
reg = <1>; reg = <1>;
}; };

View File

@ -75,7 +75,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
green { led {
label = "lamobo_r1:green:usr"; label = "lamobo_r1:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
}; };
@ -123,8 +123,6 @@
phy-mode = "rgmii"; phy-mode = "rgmii";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
/delete-property/#address-cells;
/delete-property/#size-cells;
fixed-link { fixed-link {
speed = <1000>; speed = <1000>;
@ -229,14 +227,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
#include "axp209.dtsi" #include "axp209.dtsi"
&ac_power_supply { &ac_power_supply {
@ -322,9 +312,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;

View File

@ -64,7 +64,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
blue { led {
label = "m3:blue:usr"; label = "m3:blue:usr";
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
}; };
@ -82,13 +82,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -111,6 +107,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;

View File

@ -75,7 +75,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
green { led {
label = "a20-olimex-som-evb:green:usr"; label = "a20-olimex-som-evb:green:usr";
gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -111,13 +111,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -202,6 +198,12 @@
}; };
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;

View File

@ -46,19 +46,19 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
stat { led-0 {
label = "a20-som204-evb:green:stat"; label = "a20-som204-evb:green:stat";
gpios = <&pio 8 0 GPIO_ACTIVE_HIGH>; gpios = <&pio 8 0 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
}; };
led1 { led-1 {
label = "a20-som204-evb:green:led1"; label = "a20-som204-evb:green:led1";
gpios = <&pio 8 10 GPIO_ACTIVE_HIGH>; gpios = <&pio 8 10 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
}; };
led2 { led-2 {
label = "a20-som204-evb:yellow:led2"; label = "a20-som204-evb:yellow:led2";
gpios = <&pio 8 11 GPIO_ACTIVE_HIGH>; gpios = <&pio 8 11 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -105,18 +105,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy3>; phy-handle = <&phy3>;
phy-mode = "rgmii"; phy-mode = "rgmii";
phy-supply = <&reg_vcc3v3>; phy-supply = <&reg_vcc3v3>;
snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>;
snps,reset-active-low;
snps,reset-delays-us = <0 10000 1000000>;
status = "okay"; status = "okay";
phy3: ethernet-phy@3 {
reg = <3>;
};
}; };
&hdmi { &hdmi {
@ -161,6 +153,16 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy3: ethernet-phy@3 {
reg = <3>;
reset-gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */
reset-assert-us = <10000>;
/* wait 1s after reset, otherwise fail to read phy id */
reset-deassert-us = <1000000>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -314,8 +316,8 @@
}; };
&usbphy { &usbphy {
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;

View File

@ -78,7 +78,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_olinuxinolime>; pinctrl-0 = <&led_pins_olinuxinolime>;
green { led {
label = "a20-olinuxino-lime:green:usr"; label = "a20-olinuxino-lime:green:usr";
gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -106,13 +106,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -149,6 +145,12 @@
}; };
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -174,18 +176,6 @@
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
}; };
&reg_ahci_5v { &reg_ahci_5v {
@ -217,10 +207,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;

View File

@ -75,7 +75,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_olinuxinolime>; pinctrl-0 = <&led_pins_olinuxinolime>;
green { led {
label = "a20-olinuxino-lime2:green:usr"; label = "a20-olinuxino-lime2:green:usr";
gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -111,13 +111,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -154,6 +150,12 @@
vref-supply = <&reg_vcc3v0>; vref-supply = <&reg_vcc3v0>;
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -174,23 +176,17 @@
}; };
&pio { &pio {
vcc-pa-supply = <&reg_vcc3v3>;
vcc-pc-supply = <&reg_vcc3v3>;
vcc-pe-supply = <&reg_ldo3>;
vcc-pf-supply = <&reg_vcc3v3>;
vcc-pg-supply = <&reg_ldo4>;
led_pins_olinuxinolime: led-pins { led_pins_olinuxinolime: led-pins {
pins = "PH2"; pins = "PH2";
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
}; };
&reg_ahci_5v { &reg_ahci_5v {
@ -200,6 +196,14 @@
#include "axp209.dtsi" #include "axp209.dtsi"
&ac_power_supply {
status = "okay";
};
&battery_power_supply {
status = "okay";
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -267,10 +271,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;

View File

@ -82,7 +82,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&led_pins_olinuxino>; pinctrl-0 = <&led_pins_olinuxino>;
green { led {
label = "a20-olinuxino-micro:green:usr"; label = "a20-olinuxino-micro:green:usr";
gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
default-state = "on"; default-state = "on";
@ -118,13 +118,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>; pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -215,6 +211,12 @@
}; };
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -252,18 +254,6 @@
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PH5";
function = "gpio_in";
bias-pull-down;
};
}; };
#include "axp209.dtsi" #include "axp209.dtsi"
@ -355,10 +345,8 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;

View File

@ -75,12 +75,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
green { led-0 {
label = "orangepi:green:usr"; label = "orangepi:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */ gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */
}; };
blue { led-1 {
label = "orangepi:blue:usr"; label = "orangepi:blue:usr";
gpios = <&pio 7 25 GPIO_ACTIVE_HIGH>; /* PH25 */ gpios = <&pio 7 25 GPIO_ACTIVE_HIGH>; /* PH25 */
}; };
@ -120,14 +120,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -158,6 +154,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -176,14 +178,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -239,9 +233,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;

View File

@ -64,7 +64,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
green { led {
label = "orangepi:green:usr"; label = "orangepi:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */ gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */
}; };
@ -96,14 +96,10 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -124,6 +120,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -135,14 +137,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -198,9 +192,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2015 Adam Sampson <ats@offog.org> * Copyright 2015-2020 Adam Sampson <ats@offog.org>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
@ -72,14 +72,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
/* Marked "LED3" on the PCB. */ led-3 {
usr1 {
label = "pcduino3-nano:green:usr1"; label = "pcduino3-nano:green:usr1";
gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */ gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */
}; };
/* Marked "LED4" on the PCB. */ led-4 {
usr2 {
label = "pcduino3-nano:green:usr2"; label = "pcduino3-nano:green:usr2";
gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */ gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */
}; };
@ -114,13 +112,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&hdmi { &hdmi {
@ -149,6 +143,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -168,14 +168,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_ahci_5v { &reg_ahci_5v {
gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
status = "okay"; status = "okay";
@ -226,9 +218,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb1_vbus>; usb2_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";

View File

@ -64,12 +64,12 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
tx { led-0 {
label = "pcduino3:green:tx"; label = "pcduino3:green:tx";
gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; gpios = <&pio 7 15 GPIO_ACTIVE_LOW>;
}; };
rx { led-1 {
label = "pcduino3:green:rx"; label = "pcduino3:green:rx";
gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; gpios = <&pio 7 16 GPIO_ACTIVE_LOW>;
}; };
@ -122,13 +122,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_mii_pins>; pinctrl-0 = <&gmac_mii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "mii"; phy-mode = "mii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -149,6 +145,12 @@
status = "okay"; status = "okay";
}; };
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -168,14 +170,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_ahci_5v { &reg_ahci_5v {
gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
@ -226,9 +220,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>; usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay"; status = "okay";

View File

@ -64,6 +64,7 @@
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>; default-brightness-level = <8>;
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
power-supply = <&reg_vcc3v3>;
}; };
chosen { chosen {
@ -156,14 +157,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&pwm { &pwm {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>; pinctrl-0 = <&pwm0_pin>;
@ -223,9 +216,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;

View File

@ -81,13 +81,9 @@
&gmac { &gmac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii";
status = "okay"; status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
}; };
&i2c0 { &i2c0 {
@ -110,6 +106,12 @@
#include "axp209.dtsi" #include "axp209.dtsi"
&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
@ -145,14 +147,6 @@
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH4";
function = "gpio_in";
bias-pull-up;
};
};
&reg_dcdc2 { &reg_dcdc2 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
@ -206,9 +200,7 @@
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_usb0_vbus>; usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;

View File

@ -47,6 +47,7 @@
#include <dt-bindings/dma/sun4i-a10.h> #include <dt-bindings/dma/sun4i-a10.h>
#include <dt-bindings/clock/sun7i-a20-ccu.h> #include <dt-bindings/clock/sun7i-a20-ccu.h>
#include <dt-bindings/reset/sun4i-a10-ccu.h> #include <dt-bindings/reset/sun4i-a10-ccu.h>
#include <dt-bindings/pinctrl/sun4i-a10.h>
/ { / {
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
@ -139,7 +140,7 @@
}; };
thermal-zones { thermal-zones {
cpu_thermal { cpu-thermal {
/* milliseconds */ /* milliseconds */
polling-delay-passive = <250>; polling-delay-passive = <250>;
polling-delay = <1000>; polling-delay = <1000>;
@ -180,7 +181,7 @@
default-pool { default-pool {
compatible = "shared-dma-pool"; compatible = "shared-dma-pool";
size = <0x6000000>; size = <0x6000000>;
alloc-ranges = <0x4a000000 0x6000000>; alloc-ranges = <0x40000000 0x10000000>;
reusable; reusable;
linux,cma-default; linux,cma-default;
}; };
@ -333,7 +334,7 @@
#dma-cells = <2>; #dma-cells = <2>;
}; };
nfc: nand@1c03000 { nfc: nand-controller@1c03000 {
compatible = "allwinner,sun4i-a10-nand"; compatible = "allwinner,sun4i-a10-nand";
reg = <0x01c03000 0x1000>; reg = <0x01c03000 0x1000>;
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
@ -376,6 +377,16 @@
num-cs = <1>; num-cs = <1>;
}; };
csi0: csi@1c09000 {
compatible = "allwinner,sun7i-a20-csi0";
reg = <0x01c09000 0x1000>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
clock-names = "bus", "isp", "ram";
resets = <&ccu RST_CSI0>;
status = "disabled";
};
emac: ethernet@1c0b000 { emac: ethernet@1c0b000 {
compatible = "allwinner,sun4i-a10-emac"; compatible = "allwinner,sun4i-a10-emac";
reg = <0x01c0b000 0x1000>; reg = <0x01c0b000 0x1000>;
@ -394,11 +405,12 @@
}; };
tcon0: lcd-controller@1c0c000 { tcon0: lcd-controller@1c0c000 {
compatible = "allwinner,sun7i-a20-tcon"; compatible = "allwinner,sun7i-a20-tcon0",
"allwinner,sun7i-a20-tcon";
reg = <0x01c0c000 0x1000>; reg = <0x01c0c000 0x1000>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
resets = <&ccu RST_TCON0>; resets = <&ccu RST_TCON0>, <&ccu RST_LVDS>;
reset-names = "lcd"; reset-names = "lcd", "lvds";
clocks = <&ccu CLK_AHB_LCD0>, clocks = <&ccu CLK_AHB_LCD0>,
<&ccu CLK_TCON0_CH0>, <&ccu CLK_TCON0_CH0>,
<&ccu CLK_TCON0_CH1>; <&ccu CLK_TCON0_CH1>;
@ -406,6 +418,7 @@
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1";
clock-output-names = "tcon0-pixel-clock"; clock-output-names = "tcon0-pixel-clock";
#clock-cells = <0>;
dmas = <&dma SUN4I_DMA_DEDICATED 14>; dmas = <&dma SUN4I_DMA_DEDICATED 14>;
ports { ports {
@ -443,7 +456,8 @@
}; };
tcon1: lcd-controller@1c0d000 { tcon1: lcd-controller@1c0d000 {
compatible = "allwinner,sun7i-a20-tcon"; compatible = "allwinner,sun7i-a20-tcon1",
"allwinner,sun7i-a20-tcon";
reg = <0x01c0d000 0x1000>; reg = <0x01c0d000 0x1000>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
resets = <&ccu RST_TCON1>; resets = <&ccu RST_TCON1>;
@ -455,6 +469,7 @@
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1";
clock-output-names = "tcon1-pixel-clock"; clock-output-names = "tcon1-pixel-clock";
#clock-cells = <0>;
dmas = <&dma SUN4I_DMA_DEDICATED 15>; dmas = <&dma SUN4I_DMA_DEDICATED 15>;
ports { ports {
@ -586,13 +601,14 @@
phy-names = "usb"; phy-names = "usb";
extcon = <&usbphy 0>; extcon = <&usbphy 0>;
allwinner,sram = <&otg_sram 1>; allwinner,sram = <&otg_sram 1>;
dr_mode = "otg";
status = "disabled"; status = "disabled";
}; };
usbphy: phy@1c13400 { usbphy: phy@1c13400 {
#phy-cells = <1>; #phy-cells = <1>;
compatible = "allwinner,sun7i-a20-usb-phy"; compatible = "allwinner,sun7i-a20-usb-phy";
reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
reg-names = "phy_ctrl", "pmu1", "pmu2"; reg-names = "phy_ctrl", "pmu1", "pmu2";
clocks = <&ccu CLK_USB_PHY>; clocks = <&ccu CLK_USB_PHY>;
clock-names = "usb_phy"; clock-names = "usb_phy";
@ -716,6 +732,17 @@
status = "disabled"; status = "disabled";
}; };
csi1: csi@1c1d000 {
compatible = "allwinner,sun7i-a20-csi1",
"allwinner,sun4i-a10-csi1";
reg = <0x01c1d000 0x1000>;
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>;
clock-names = "bus", "ram";
resets = <&ccu RST_CSI1>;
status = "disabled";
};
spi3: spi@1c1f000 { spi3: spi@1c1f000 {
compatible = "allwinner,sun4i-a10-spi"; compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c1f000 0x1000>; reg = <0x01c1f000 0x1000>;
@ -751,21 +778,70 @@
#interrupt-cells = <3>; #interrupt-cells = <3>;
#gpio-cells = <3>; #gpio-cells = <3>;
/omit-if-no-ref/
can_pa_pins: can-pa-pins {
pins = "PA16", "PA17";
function = "can";
};
/omit-if-no-ref/
can_ph_pins: can-ph-pins { can_ph_pins: can-ph-pins {
pins = "PH20", "PH21"; pins = "PH20", "PH21";
function = "can"; function = "can";
}; };
/omit-if-no-ref/
clk_out_a_pin: clk-out-a-pin { clk_out_a_pin: clk-out-a-pin {
pins = "PI12"; pins = "PI12";
function = "clk_out_a"; function = "clk_out_a";
}; };
/omit-if-no-ref/
clk_out_b_pin: clk-out-b-pin { clk_out_b_pin: clk-out-b-pin {
pins = "PI13"; pins = "PI13";
function = "clk_out_b"; function = "clk_out_b";
}; };
/omit-if-no-ref/
csi0_8bits_pins: csi-8bits-pins {
pins = "PE0", "PE2", "PE3", "PE4", "PE5",
"PE6", "PE7", "PE8", "PE9", "PE10",
"PE11";
function = "csi0";
};
/omit-if-no-ref/
csi0_clk_pin: csi-clk-pin {
pins = "PE1";
function = "csi0";
};
/omit-if-no-ref/
csi1_8bits_pg_pins: csi1-8bits-pg-pins {
pins = "PG0", "PG2", "PG3", "PG4", "PG5",
"PG6", "PG7", "PG8", "PG9", "PG10",
"PG11";
function = "csi1";
};
/omit-if-no-ref/
csi1_24bits_ph_pins: csi1-24bits-ph-pins {
pins = "PH0", "PH1", "PH2", "PH3", "PH4",
"PH5", "PH6", "PH7", "PH8", "PH9",
"PH10", "PH11", "PH12", "PH13", "PH14",
"PH15", "PH16", "PH17", "PH18", "PH19",
"PH20", "PH21", "PH22", "PH23", "PH24",
"PH25", "PH26", "PH27";
function = "csi1";
};
/omit-if-no-ref/
csi1_clk_pg_pin: csi1-clk-pg-pin {
pins = "PG1";
function = "csi1";
};
/omit-if-no-ref/
emac_pa_pins: emac-pa-pins { emac_pa_pins: emac-pa-pins {
pins = "PA0", "PA1", "PA2", pins = "PA0", "PA1", "PA2",
"PA3", "PA4", "PA5", "PA6", "PA3", "PA4", "PA5", "PA6",
@ -775,6 +851,17 @@
function = "emac"; function = "emac";
}; };
/omit-if-no-ref/
emac_ph_pins: emac-ph-pins {
pins = "PH8", "PH9", "PH10", "PH11",
"PH14", "PH15", "PH16", "PH17",
"PH18", "PH19", "PH20", "PH21",
"PH22", "PH23", "PH24", "PH25",
"PH26";
function = "emac";
};
/omit-if-no-ref/
gmac_mii_pins: gmac-mii-pins { gmac_mii_pins: gmac-mii-pins {
pins = "PA0", "PA1", "PA2", pins = "PA0", "PA1", "PA2",
"PA3", "PA4", "PA5", "PA6", "PA3", "PA4", "PA5", "PA6",
@ -784,6 +871,7 @@
function = "gmac"; function = "gmac";
}; };
/omit-if-no-ref/
gmac_rgmii_pins: gmac-rgmii-pins { gmac_rgmii_pins: gmac-rgmii-pins {
pins = "PA0", "PA1", "PA2", pins = "PA0", "PA1", "PA2",
"PA3", "PA4", "PA5", "PA6", "PA3", "PA4", "PA5", "PA6",
@ -798,46 +886,69 @@
drive-strength = <40>; drive-strength = <40>;
}; };
/omit-if-no-ref/
i2c0_pins: i2c0-pins { i2c0_pins: i2c0-pins {
pins = "PB0", "PB1"; pins = "PB0", "PB1";
function = "i2c0"; function = "i2c0";
}; };
/omit-if-no-ref/
i2c1_pins: i2c1-pins { i2c1_pins: i2c1-pins {
pins = "PB18", "PB19"; pins = "PB18", "PB19";
function = "i2c1"; function = "i2c1";
}; };
/omit-if-no-ref/
i2c2_pins: i2c2-pins { i2c2_pins: i2c2-pins {
pins = "PB20", "PB21"; pins = "PB20", "PB21";
function = "i2c2"; function = "i2c2";
}; };
/omit-if-no-ref/
i2c3_pins: i2c3-pins { i2c3_pins: i2c3-pins {
pins = "PI0", "PI1"; pins = "PI0", "PI1";
function = "i2c3"; function = "i2c3";
}; };
/omit-if-no-ref/
ir0_rx_pin: ir0-rx-pin { ir0_rx_pin: ir0-rx-pin {
pins = "PB4"; pins = "PB4";
function = "ir0"; function = "ir0";
}; };
/omit-if-no-ref/
ir0_tx_pin: ir0-tx-pin { ir0_tx_pin: ir0-tx-pin {
pins = "PB3"; pins = "PB3";
function = "ir0"; function = "ir0";
}; };
/omit-if-no-ref/
ir1_rx_pin: ir1-rx-pin { ir1_rx_pin: ir1-rx-pin {
pins = "PB23"; pins = "PB23";
function = "ir1"; function = "ir1";
}; };
/omit-if-no-ref/
ir1_tx_pin: ir1-tx-pin { ir1_tx_pin: ir1-tx-pin {
pins = "PB22"; pins = "PB22";
function = "ir1"; function = "ir1";
}; };
/omit-if-no-ref/
lcd_lvds0_pins: lcd-lvds0-pins {
pins = "PD0", "PD1", "PD2", "PD3", "PD4",
"PD5", "PD6", "PD7", "PD8", "PD9";
function = "lvds0";
};
/omit-if-no-ref/
lcd_lvds1_pins: lcd-lvds1-pins {
pins = "PD10", "PD11", "PD12", "PD13", "PD14",
"PD15", "PD16", "PD17", "PD18", "PD19";
function = "lvds1";
};
/omit-if-no-ref/
mmc0_pins: mmc0-pins { mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", pins = "PF0", "PF1", "PF2",
"PF3", "PF4", "PF5"; "PF3", "PF4", "PF5";
@ -846,6 +957,7 @@
bias-pull-up; bias-pull-up;
}; };
/omit-if-no-ref/
mmc2_pins: mmc2-pins { mmc2_pins: mmc2-pins {
pins = "PC6", "PC7", "PC8", pins = "PC6", "PC7", "PC8",
"PC9", "PC10", "PC11"; "PC9", "PC10", "PC11";
@ -854,6 +966,7 @@
bias-pull-up; bias-pull-up;
}; };
/omit-if-no-ref/
mmc3_pins: mmc3-pins { mmc3_pins: mmc3-pins {
pins = "PI4", "PI5", "PI6", pins = "PI4", "PI5", "PI6",
"PI7", "PI8", "PI9"; "PI7", "PI8", "PI9";
@ -862,127 +975,206 @@
bias-pull-up; bias-pull-up;
}; };
/omit-if-no-ref/
ps2_0_pins: ps2-0-pins { ps2_0_pins: ps2-0-pins {
pins = "PI20", "PI21"; pins = "PI20", "PI21";
function = "ps2"; function = "ps2";
}; };
/omit-if-no-ref/
ps2_1_ph_pins: ps2-1-ph-pins { ps2_1_ph_pins: ps2-1-ph-pins {
pins = "PH12", "PH13"; pins = "PH12", "PH13";
function = "ps2"; function = "ps2";
}; };
/omit-if-no-ref/
pwm0_pin: pwm0-pin { pwm0_pin: pwm0-pin {
pins = "PB2"; pins = "PB2";
function = "pwm"; function = "pwm";
}; };
/omit-if-no-ref/
pwm1_pin: pwm1-pin { pwm1_pin: pwm1-pin {
pins = "PI3"; pins = "PI3";
function = "pwm"; function = "pwm";
}; };
/omit-if-no-ref/
spdif_tx_pin: spdif-tx-pin { spdif_tx_pin: spdif-tx-pin {
pins = "PB13"; pins = "PB13";
function = "spdif"; function = "spdif";
bias-pull-up; bias-pull-up;
}; };
/omit-if-no-ref/
spi0_pi_pins: spi0-pi-pins { spi0_pi_pins: spi0-pi-pins {
pins = "PI11", "PI12", "PI13"; pins = "PI11", "PI12", "PI13";
function = "spi0"; function = "spi0";
}; };
/omit-if-no-ref/
spi0_cs0_pi_pin: spi0-cs0-pi-pin { spi0_cs0_pi_pin: spi0-cs0-pi-pin {
pins = "PI10"; pins = "PI10";
function = "spi0"; function = "spi0";
}; };
/omit-if-no-ref/
spi0_cs1_pi_pin: spi0-cs1-pi-pin { spi0_cs1_pi_pin: spi0-cs1-pi-pin {
pins = "PI14"; pins = "PI14";
function = "spi0"; function = "spi0";
}; };
/omit-if-no-ref/
spi1_pi_pins: spi1-pi-pins { spi1_pi_pins: spi1-pi-pins {
pins = "PI17", "PI18", "PI19"; pins = "PI17", "PI18", "PI19";
function = "spi1"; function = "spi1";
}; };
/omit-if-no-ref/
spi1_cs0_pi_pin: spi1-cs0-pi-pin { spi1_cs0_pi_pin: spi1-cs0-pi-pin {
pins = "PI16"; pins = "PI16";
function = "spi1"; function = "spi1";
}; };
/omit-if-no-ref/
spi2_pb_pins: spi2-pb-pins { spi2_pb_pins: spi2-pb-pins {
pins = "PB15", "PB16", "PB17"; pins = "PB15", "PB16", "PB17";
function = "spi2"; function = "spi2";
}; };
/omit-if-no-ref/
spi2_cs0_pb_pin: spi2-cs0-pb-pin { spi2_cs0_pb_pin: spi2-cs0-pb-pin {
pins = "PB14"; pins = "PB14";
function = "spi2"; function = "spi2";
}; };
/omit-if-no-ref/
spi2_pc_pins: spi2-pc-pins { spi2_pc_pins: spi2-pc-pins {
pins = "PC20", "PC21", "PC22"; pins = "PC20", "PC21", "PC22";
function = "spi2"; function = "spi2";
}; };
/omit-if-no-ref/
spi2_cs0_pc_pin: spi2-cs0-pc-pin { spi2_cs0_pc_pin: spi2-cs0-pc-pin {
pins = "PC19"; pins = "PC19";
function = "spi2"; function = "spi2";
}; };
/omit-if-no-ref/
uart0_pb_pins: uart0-pb-pins { uart0_pb_pins: uart0-pb-pins {
pins = "PB22", "PB23"; pins = "PB22", "PB23";
function = "uart0"; function = "uart0";
}; };
/omit-if-no-ref/
uart0_pf_pins: uart0-pf-pins {
pins = "PF2", "PF4";
function = "uart0";
};
/omit-if-no-ref/
uart1_pa_pins: uart1-pa-pins {
pins = "PA10", "PA11";
function = "uart1";
};
/omit-if-no-ref/
uart1_cts_rts_pa_pins: uart1-cts-rts-pa-pins {
pins = "PA12", "PA13";
function = "uart1";
};
/omit-if-no-ref/
uart2_pa_pins: uart2-pa-pins {
pins = "PA2", "PA3";
function = "uart2";
};
/omit-if-no-ref/
uart2_cts_rts_pa_pins: uart2-cts-rts-pa-pins {
pins = "PA0", "PA1";
function = "uart2";
};
/omit-if-no-ref/
uart2_pi_pins: uart2-pi-pins { uart2_pi_pins: uart2-pi-pins {
pins = "PI18", "PI19"; pins = "PI18", "PI19";
function = "uart2"; function = "uart2";
}; };
/omit-if-no-ref/
uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins { uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins {
pins = "PI16", "PI17"; pins = "PI16", "PI17";
function = "uart2"; function = "uart2";
}; };
/omit-if-no-ref/
uart3_pg_pins: uart3-pg-pins { uart3_pg_pins: uart3-pg-pins {
pins = "PG6", "PG7"; pins = "PG6", "PG7";
function = "uart3"; function = "uart3";
}; };
/omit-if-no-ref/
uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins { uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins {
pins = "PG8", "PG9"; pins = "PG8", "PG9";
function = "uart3"; function = "uart3";
}; };
/omit-if-no-ref/
uart3_ph_pins: uart3-ph-pins { uart3_ph_pins: uart3-ph-pins {
pins = "PH0", "PH1"; pins = "PH0", "PH1";
function = "uart3"; function = "uart3";
}; };
/omit-if-no-ref/
uart3_cts_rts_ph_pins: uart3-cts-rts-ph-pins {
pins = "PH2", "PH3";
function = "uart3";
};
/omit-if-no-ref/
uart4_pg_pins: uart4-pg-pins { uart4_pg_pins: uart4-pg-pins {
pins = "PG10", "PG11"; pins = "PG10", "PG11";
function = "uart4"; function = "uart4";
}; };
/omit-if-no-ref/
uart4_ph_pins: uart4-ph-pins { uart4_ph_pins: uart4-ph-pins {
pins = "PH4", "PH5"; pins = "PH4", "PH5";
function = "uart4"; function = "uart4";
}; };
/omit-if-no-ref/
uart5_ph_pins: uart5-ph-pins {
pins = "PH6", "PH7";
function = "uart5";
};
/omit-if-no-ref/
uart5_pi_pins: uart5-pi-pins { uart5_pi_pins: uart5-pi-pins {
pins = "PI10", "PI11"; pins = "PI10", "PI11";
function = "uart5"; function = "uart5";
}; };
/omit-if-no-ref/
uart6_pa_pins: uart6-pa-pins {
pins = "PA12", "PA13";
function = "uart6";
};
/omit-if-no-ref/
uart6_pi_pins: uart6-pi-pins { uart6_pi_pins: uart6-pi-pins {
pins = "PI12", "PI13"; pins = "PI12", "PI13";
function = "uart6"; function = "uart6";
}; };
/omit-if-no-ref/
uart7_pa_pins: uart7-pa-pins {
pins = "PA14", "PA15";
function = "uart7";
};
/omit-if-no-ref/
uart7_pi_pins: uart7-pi-pins { uart7_pi_pins: uart7-pi-pins {
pins = "PI20", "PI21"; pins = "PI20", "PI21";
function = "uart7"; function = "uart7";
@ -1004,6 +1196,8 @@
wdt: watchdog@1c20c90 { wdt: watchdog@1c20c90 {
compatible = "allwinner,sun4i-a10-wdt"; compatible = "allwinner,sun4i-a10-wdt";
reg = <0x01c20c90 0x10>; reg = <0x01c20c90 0x10>;
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
}; };
rtc: rtc@1c20d00 { rtc: rtc@1c20d00 {
@ -1326,8 +1520,12 @@
snps,fixed-burst; snps,fixed-burst;
snps,force_sf_dma_mode; snps,force_sf_dma_mode;
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>; gmac_mdio: mdio {
compatible = "snps,dwmac-mdio";
#address-cells = <1>;
#size-cells = <0>;
};
}; };
hstimer@1c60000 { hstimer@1c60000 {
@ -1341,7 +1539,7 @@
}; };
gic: interrupt-controller@1c81000 { gic: interrupt-controller@1c81000 {
compatible = "arm,gic-400", "arm,cortex-a7-gic", "arm,cortex-a15-gic"; compatible = "arm,gic-400";
reg = <0x01c81000 0x1000>, reg = <0x01c81000 0x1000>,
<0x01c82000 0x2000>, <0x01c82000 0x2000>,
<0x01c84000 0x2000>, <0x01c84000 0x2000>,

View File

@ -42,8 +42,6 @@
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
#include "skeleton.dtsi"
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/sun8i-a23-a33-ccu.h> #include <dt-bindings/clock/sun8i-a23-a33-ccu.h>
@ -51,13 +49,15 @@
/ { / {
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
#address-cells = <1>;
#size-cells = <1>;
chosen { chosen {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
simplefb_lcd: framebuffer@0 { simplefb_lcd: framebuffer-lcd0 {
compatible = "allwinner,simple-framebuffer", compatible = "allwinner,simple-framebuffer",
"simple-framebuffer"; "simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0"; allwinner,pipeline = "de_be0-lcd0";
@ -68,6 +68,12 @@
}; };
}; };
de: display-engine {
/* compatible gets set in SoC specific dtsi file */
allwinner,pipelines = <&fe0>;
status = "disabled";
};
timer { timer {
compatible = "arm,armv7-timer"; compatible = "arm,armv7-timer";
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
@ -118,12 +124,34 @@
}; };
}; };
soc@1c00000 { soc {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
system-control@1c00000 {
compatible = "allwinner,sun8i-a23-system-control";
reg = <0x01c00000 0x30>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
sram_c: sram@1d00000 {
compatible = "mmio-sram";
reg = <0x01d00000 0x80000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x01d00000 0x80000>;
ve_sram: sram-section@0 {
compatible = "allwinner,sun8i-a23-sram-c1",
"allwinner,sun4i-a10-sram-c1";
reg = <0x000000 0x80000>;
};
};
};
dma: dma-controller@1c02000 { dma: dma-controller@1c02000 {
compatible = "allwinner,sun8i-a23-dma"; compatible = "allwinner,sun8i-a23-dma";
reg = <0x01c02000 0x1000>; reg = <0x01c02000 0x1000>;
@ -133,6 +161,60 @@
#dma-cells = <1>; #dma-cells = <1>;
}; };
nfc: nand-controller@1c03000 {
compatible = "allwinner,sun8i-a23-nand-controller";
reg = <0x01c03000 0x1000>;
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
clock-names = "ahb", "mod";
resets = <&ccu RST_BUS_NAND>;
reset-names = "ahb";
dmas = <&dma 5>;
dma-names = "rxtx";
pinctrl-names = "default";
pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
tcon0: lcd-controller@1c0c000 {
/* compatible gets set in SoC specific dtsi file */
reg = <0x01c0c000 0x1000>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&dma 12>;
clocks = <&ccu CLK_BUS_LCD>,
<&ccu CLK_LCD_CH0>,
<&ccu 13>;
clock-names = "ahb",
"tcon-ch0",
"lvds-alt";
clock-output-names = "tcon-pixel-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_LCD>,
<&ccu RST_BUS_LVDS>;
reset-names = "lcd",
"lvds";
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
tcon0_in: port@0 {
reg = <0>;
tcon0_in_drc0: endpoint {
remote-endpoint = <&drc0_out_tcon0>;
};
};
tcon0_out: port@1 {
reg = <1>;
};
};
};
mmc0: mmc@1c0f000 { mmc0: mmc@1c0f000 {
compatible = "allwinner,sun7i-a20-mmc"; compatible = "allwinner,sun7i-a20-mmc";
reg = <0x01c0f000 0x1000>; reg = <0x01c0f000 0x1000>;
@ -147,6 +229,8 @@
resets = <&ccu RST_BUS_MMC0>; resets = <&ccu RST_BUS_MMC0>;
reset-names = "ahb"; reset-names = "ahb";
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -190,21 +274,6 @@
#size-cells = <0>; #size-cells = <0>;
}; };
nfc: nand@1c03000 {
compatible = "allwinner,sun4i-a10-nand";
reg = <0x01c03000 0x1000>;
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
clock-names = "ahb", "mod";
resets = <&ccu RST_BUS_NAND>;
reset-names = "ahb";
pinctrl-names = "default";
pinctrl-0 = <&nand_pins &nand_pins_cs0 &nand_pins_rb0>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
usb_otg: usb@1c19000 { usb_otg: usb@1c19000 {
/* compatible gets set in SoC specific dtsi file */ /* compatible gets set in SoC specific dtsi file */
reg = <0x01c19000 0x0400>; reg = <0x01c19000 0x0400>;
@ -215,6 +284,7 @@
phys = <&usbphy 0>; phys = <&usbphy 0>;
phy-names = "usb"; phy-names = "usb";
extcon = <&usbphy 0>; extcon = <&usbphy 0>;
dr_mode = "otg";
status = "disabled"; status = "disabled";
}; };
@ -268,6 +338,7 @@
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
/* compatible gets set in SoC specific dtsi file */ /* compatible gets set in SoC specific dtsi file */
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupt-parent = <&r_intc>;
/* interrupts get set in SoC specific dtsi file */ /* interrupts get set in SoC specific dtsi file */
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>; clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
@ -276,22 +347,30 @@
#interrupt-cells = <3>; #interrupt-cells = <3>;
#gpio-cells = <3>; #gpio-cells = <3>;
uart0_pins_a: uart0@0 { i2c0_pins: i2c0-pins {
pins = "PF2", "PF4"; pins = "PH2", "PH3";
function = "uart0"; function = "i2c0";
}; };
uart1_pins_a: uart1@0 { i2c1_pins: i2c1-pins {
pins = "PG6", "PG7"; pins = "PH4", "PH5";
function = "uart1"; function = "i2c1";
}; };
uart1_pins_cts_rts_a: uart1-cts-rts@0 { i2c2_pins: i2c2-pins {
pins = "PG8", "PG9"; pins = "PE12", "PE13";
function = "uart1"; function = "i2c2";
}; };
mmc0_pins_a: mmc0@0 { lcd_rgb666_pins: lcd-rgb666-pins {
pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7",
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15",
"PD18", "PD19", "PD20", "PD21", "PD22", "PD23",
"PD24", "PD25", "PD26", "PD27";
function = "lcd0";
};
mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", pins = "PF0", "PF1", "PF2",
"PF3", "PF4", "PF5"; "PF3", "PF4", "PF5";
function = "mmc0"; function = "mmc0";
@ -299,7 +378,7 @@
bias-pull-up; bias-pull-up;
}; };
mmc1_pins_a: mmc1@0 { mmc1_pg_pins: mmc1-pg-pins {
pins = "PG0", "PG1", "PG2", pins = "PG0", "PG1", "PG2",
"PG3", "PG4", "PG5"; "PG3", "PG4", "PG5";
function = "mmc1"; function = "mmc1";
@ -307,7 +386,7 @@
bias-pull-up; bias-pull-up;
}; };
mmc2_8bit_pins: mmc2_8bit { mmc2_8bit_pins: mmc2-8bit-pins {
pins = "PC5", "PC6", "PC8", pins = "PC5", "PC6", "PC8",
"PC9", "PC10", "PC11", "PC9", "PC10", "PC11",
"PC12", "PC13", "PC14", "PC12", "PC13", "PC14",
@ -324,61 +403,53 @@
function = "nand0"; function = "nand0";
}; };
nand_pins_cs0: nand-pins-cs0 { nand_cs0_pin: nand-cs0-pin {
pins = "PC4"; pins = "PC4";
function = "nand0"; function = "nand0";
bias-pull-up; bias-pull-up;
}; };
nand_pins_cs1: nand-pins-cs1 { nand_cs1_pin: nand-cs1-pin {
pins = "PC3"; pins = "PC3";
function = "nand0"; function = "nand0";
bias-pull-up; bias-pull-up;
}; };
nand_pins_rb0: nand-pins-rb0 { nand_rb0_pin: nand-rb0-pin {
pins = "PC6"; pins = "PC6";
function = "nand0"; function = "nand0";
bias-pull-up; bias-pull-up;
}; };
nand_pins_rb1: nand-pins-rb1 { nand_rb1_pin: nand-rb1-pin {
pins = "PC7"; pins = "PC7";
function = "nand0"; function = "nand0";
bias-pull-up; bias-pull-up;
}; };
pwm0_pins: pwm0 { pwm0_pin: pwm0-pin {
pins = "PH0"; pins = "PH0";
function = "pwm0"; function = "pwm0";
}; };
i2c0_pins_a: i2c0@0 { uart0_pf_pins: uart0-pf-pins {
pins = "PH2", "PH3"; pins = "PF2", "PF4";
function = "i2c0"; function = "uart0";
}; };
i2c1_pins_a: i2c1@0 { uart1_pg_pins: uart1-pg-pins {
pins = "PH4", "PH5"; pins = "PG6", "PG7";
function = "i2c1"; function = "uart1";
}; };
i2c2_pins_a: i2c2@0 { uart1_cts_rts_pg_pins: uart1-cts-rts-pg-pins {
pins = "PE12", "PE13"; pins = "PG8", "PG9";
function = "i2c2"; function = "uart1";
};
lcd_rgb666_pins: lcd-rgb666@0 {
pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7",
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15",
"PD18", "PD19", "PD20", "PD21", "PD22", "PD23",
"PD24", "PD25", "PD26", "PD27";
function = "lcd0";
}; };
}; };
timer@1c20c00 { timer@1c20c00 {
compatible = "allwinner,sun4i-a10-timer"; compatible = "allwinner,sun8i-a23-timer";
reg = <0x01c20c00 0xa0>; reg = <0x01c20c00 0xa0>;
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
@ -389,6 +460,7 @@
compatible = "allwinner,sun6i-a31-wdt"; compatible = "allwinner,sun6i-a31-wdt";
reg = <0x01c20ca0 0x20>; reg = <0x01c20ca0 0x20>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
}; };
pwm: pwm@1c21400 { pwm: pwm@1c21400 {
@ -402,6 +474,7 @@
lradc: lradc@1c22800 { lradc: lradc@1c22800 {
compatible = "allwinner,sun4i-a10-lradc-keys"; compatible = "allwinner,sun4i-a10-lradc-keys";
reg = <0x01c22800 0x100>; reg = <0x01c22800 0x100>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
}; };
@ -477,6 +550,8 @@
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2C0>; clocks = <&ccu CLK_BUS_I2C0>;
resets = <&ccu RST_BUS_I2C0>; resets = <&ccu RST_BUS_I2C0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -488,6 +563,8 @@
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2C1>; clocks = <&ccu CLK_BUS_I2C1>;
resets = <&ccu RST_BUS_I2C1>; resets = <&ccu RST_BUS_I2C1>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -499,6 +576,8 @@
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2C2>; clocks = <&ccu CLK_BUS_I2C2>;
resets = <&ccu RST_BUS_I2C2>; resets = <&ccu RST_BUS_I2C2>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -532,7 +611,7 @@
}; };
gic: interrupt-controller@1c81000 { gic: interrupt-controller@1c81000 {
compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; compatible = "arm,gic-400";
reg = <0x01c81000 0x1000>, reg = <0x01c81000 0x1000>,
<0x01c82000 0x2000>, <0x01c82000 0x2000>,
<0x01c84000 0x2000>, <0x01c84000 0x2000>,
@ -542,20 +621,108 @@
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
}; };
fe0: display-frontend@1e00000 {
/* compatible gets set in SoC specific dtsi file */
reg = <0x01e00000 0x20000>;
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_DE_FE>, <&ccu CLK_DE_FE>,
<&ccu CLK_DRAM_DE_FE>;
clock-names = "ahb", "mod",
"ram";
resets = <&ccu RST_BUS_DE_FE>;
ports {
#address-cells = <1>;
#size-cells = <0>;
fe0_out: port@1 {
reg = <1>;
fe0_out_be0: endpoint {
remote-endpoint = <&be0_in_fe0>;
};
};
};
};
be0: display-backend@1e60000 {
/* compatible gets set in SoC specific dtsi file */
reg = <0x01e60000 0x10000>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>,
<&ccu CLK_DRAM_DE_BE>;
clock-names = "ahb", "mod",
"ram";
resets = <&ccu RST_BUS_DE_BE>;
ports {
#address-cells = <1>;
#size-cells = <0>;
be0_in: port@0 {
reg = <0>;
be0_in_fe0: endpoint {
remote-endpoint = <&fe0_out_be0>;
};
};
be0_out: port@1 {
reg = <1>;
be0_out_drc0: endpoint {
remote-endpoint = <&drc0_in_be0>;
};
};
};
};
drc0: drc@1e70000 {
/* compatible gets set in SoC specific dtsi file */
reg = <0x01e70000 0x10000>;
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_DRC>, <&ccu CLK_DRC>,
<&ccu CLK_DRAM_DRC>;
clock-names = "ahb", "mod", "ram";
resets = <&ccu RST_BUS_DRC>;
ports {
#address-cells = <1>;
#size-cells = <0>;
drc0_in: port@0 {
reg = <0>;
drc0_in_be0: endpoint {
remote-endpoint = <&be0_out_drc0>;
};
};
drc0_out: port@1 {
reg = <1>;
drc0_out_tcon0: endpoint {
remote-endpoint = <&tcon0_in_drc0>;
};
};
};
};
rtc: rtc@1f00000 { rtc: rtc@1f00000 {
compatible = "allwinner,sun6i-a31-rtc"; compatible = "allwinner,sun8i-a23-rtc";
reg = <0x01f00000 0x54>; reg = <0x01f00000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clock-output-names = "osc32k"; clock-output-names = "osc32k", "osc32k-out";
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
#clock-cells = <1>; #clock-cells = <1>;
}; };
nmi_intc: interrupt-controller@1f00c00 { r_intc: interrupt-controller@1f00c00 {
compatible = "allwinner,sun6i-a31-r-intc"; compatible = "allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x01f00c00 0x400>; reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
}; };
@ -624,9 +791,24 @@
status = "disabled"; status = "disabled";
}; };
r_i2c: i2c@1f02400 {
compatible = "allwinner,sun8i-a23-i2c",
"allwinner,sun6i-a31-i2c";
reg = <0x01f02400 0x400>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&r_i2c_pins>;
clocks = <&apb0_gates 6>;
resets = <&apb0_rst 6>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun8i-a23-r-pinctrl"; compatible = "allwinner,sun8i-a23-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>; clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
@ -634,18 +816,22 @@
gpio-controller; gpio-controller;
interrupt-controller; interrupt-controller;
#interrupt-cells = <3>; #interrupt-cells = <3>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <3>; #gpio-cells = <3>;
r_rsb_pins: r_rsb { r_i2c_pins: r-i2c-pins {
pins = "PL0", "PL1";
function = "s_i2c";
bias-pull-up;
};
r_rsb_pins: r-rsb-pins {
pins = "PL0", "PL1"; pins = "PL0", "PL1";
function = "s_rsb"; function = "s_rsb";
drive-strength = <20>; drive-strength = <20>;
bias-pull-up; bias-pull-up;
}; };
r_uart_pins_a: r_uart@0 { r_uart_pins_a: r-uart-pins {
pins = "PL2", "PL3"; pins = "PL2", "PL3";
function = "s_uart"; function = "s_uart";
}; };

View File

@ -65,14 +65,10 @@
}; };
&i2c0 { &i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay"; status = "okay";
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay"; status = "okay";
}; };
@ -80,21 +76,21 @@
vref-supply = <&reg_vcc3v0>; vref-supply = <&reg_vcc3v0>;
status = "okay"; status = "okay";
button@190 { button-190 {
label = "Volume Up"; label = "Volume Up";
linux,code = <KEY_VOLUMEUP>; linux,code = <KEY_VOLUMEUP>;
channel = <0>; channel = <0>;
voltage = <190000>; voltage = <190000>;
}; };
button@390 { button-390 {
label = "Volume Down"; label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>; linux,code = <KEY_VOLUMEDOWN>;
channel = <0>; channel = <0>;
voltage = <390000>; voltage = <390000>;
}; };
button@600 { button-600 {
label = "Home"; label = "Home";
linux,code = <KEY_HOME>; linux,code = <KEY_HOME>;
channel = <0>; channel = <0>;
@ -103,22 +99,12 @@
}; };
&mmc0 { &mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_evb>;
vmmc-supply = <&reg_vcc3v0>; vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */ cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
status = "okay"; status = "okay";
}; };
&pio {
mmc0_cd_pin_evb: mmc0_cd_pin@0 {
pins = "PB4";
function = "gpio_in";
bias-pull-up;
};
};
/* /*
* The RX line has a non-populated resistance. In order to use it, you * The RX line has a non-populated resistance. In order to use it, you
* need to solder R207 on the back of the board in order to close the * need to solder R207 on the back of the board in order to close the

Some files were not shown because too many files have changed in this diff Show More