Commit f5d6e8c0 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'sunxi-dt-for-5.2' of...

Merge tag 'sunxi-dt-for-5.2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Allwinner DT changes for 5.2

This PR is pretty significant, but it been mostly about:
  - Fixing the DTC warnings in most of our DT. We're now down to 2
    warnings, from several thousands.
  - Fixing a good number of minor issues, typos, and so on thanks to the DT
    validation tools
  - Describe the MBUS controller and the special DMA RAM mapping on the A13
  - Add support for the LRADC on the A83t
  - Add support for the I2C bus used for the PMIC on the A33
  - Start using the DT annotation /omit-if-no-ref/ on our pinctrl nodes

* tag 'sunxi-dt-for-5.2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (65 commits)
  ARM: dts: sun8i: a83t: Enable USB OTG controller on some boards
  ARM: dtsi: axp81x: add USB power supply node
  ARM: dts: sun5i: Reorder pinctrl nodes
  ARM: dts: sun6i: i7: Remove useless property
  ARM: dts: sun4i: lime: Fix the USB PHY ID detect GPIO properties
  ARM: dts: sun4i: protab2: Remove stale pinctrl-names entry
  ARM: dts: sunxi: Remove useless phy-names from EHCI and OHCI
  ARM: dts: sun8i: v40: bananapi-m2-berry: Sort device node dereferences.
  ARM: dts: sun5i: Add the MBUS controller
  dt-bindings: sunxi: Add compatible for OrangePi 3 board
  ARM: dts: sun8i: a83t: Add I2C2 pinmux setting for PE pins
  dt-bindings: arm: sunxi: Add Beelink GS1 board
  ARM: dts: sun8i: tbs-a711: Add support for volume keys input
  ARM: dts: sunxi: Add R_LRADC support for A83T
  ARM: dts: sunxi: Improve A33 NAND transfers by using DMA
  ARM: dts: sun8i: tbs-a711: Enable UART2 (for NEO-6M GPS module)
  ARM: dts: sunxi: Remove useless pinctrl nodes
  ARM: dts: sunxi: Remove pinctrl groups setting bias
  ARM: dts: sunxi: Remove useless address and size cells
  ARM: dts: sunxi: Conform to DT spec for NAND controller
  ...
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 14d55a3d 6e0c67e3
Allwinner sunXi Platforms Device Tree Bindings
Each device tree must specify which Allwinner SoC it uses,
using one of the following compatible strings:
allwinner,sun4i-a10
allwinner,sun5i-a10s
allwinner,sun5i-a13
allwinner,sun5i-r8
allwinner,sun6i-a31
allwinner,sun7i-a20
allwinner,sun8i-a23
allwinner,sun8i-a33
allwinner,sun8i-a83t
allwinner,sun8i-h2-plus
allwinner,sun8i-h3
allwinner,sun8i-r40
allwinner,sun8i-t3
allwinner,sun8i-v3s
allwinner,sun9i-a80
allwinner,sun50i-a64
allwinner,suniv-f1c100s
nextthing,gr8
This diff is collapsed.
...@@ -171,4 +171,8 @@ reg_drivevbus: drivevbus { ...@@ -171,4 +171,8 @@ reg_drivevbus: drivevbus {
status = "disabled"; status = "disabled";
}; };
}; };
usb_power_supply: usb-power-supply {
compatible = "x-powers,axp813-usb-power-supply";
};
}; };
...@@ -131,20 +131,6 @@ &otg_sram { ...@@ -131,20 +131,6 @@ &otg_sram {
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 @@ &usb_otg { ...@@ -165,10 +151,8 @@ &usb_otg {
}; };
&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";
......
...@@ -184,12 +184,6 @@ led_pins_cubieboard: led-pins { ...@@ -184,12 +184,6 @@ led_pins_cubieboard: led-pins {
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 @@ &usb_otg { ...@@ -254,9 +248,7 @@ &usb_otg {
}; };
&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";
......
...@@ -158,20 +158,6 @@ &otg_sram { ...@@ -158,20 +158,6 @@ &otg_sram {
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 +209,8 @@ &usb_otg { ...@@ -223,10 +209,8 @@ &usb_otg {
}; };
&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";
......
...@@ -86,20 +86,6 @@ &otg_sram { ...@@ -86,20 +86,6 @@ &otg_sram {
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 @@ &usb_otg { ...@@ -121,10 +107,8 @@ &usb_otg {
}; };
&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";
......
...@@ -164,20 +164,6 @@ &otg_sram { ...@@ -164,20 +164,6 @@ &otg_sram {
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 +219,8 @@ &usb_otg { ...@@ -233,10 +219,8 @@ &usb_otg {
}; };
&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>;
......
...@@ -150,20 +150,6 @@ &otg_sram { ...@@ -150,20 +150,6 @@ &otg_sram {
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 @@ &usb_otg { ...@@ -209,10 +195,8 @@ &usb_otg {
}; };
&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";
......
...@@ -61,8 +61,6 @@ chosen { ...@@ -61,8 +61,6 @@ chosen {
gpio-keys { gpio-keys {
compatible = "gpio-keys-polled"; compatible = "gpio-keys-polled";
pinctrl-names = "default";
pinctrl-0 = <&key_pins_inet9f>;
poll-interval = <20>; poll-interval = <20>;
left-joystick-left { left-joystick-left {
...@@ -70,7 +68,7 @@ left-joystick-left { ...@@ -70,7 +68,7 @@ left-joystick-left {
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 {
...@@ -78,7 +76,7 @@ left-joystick-right { ...@@ -78,7 +76,7 @@ left-joystick-right {
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 {
...@@ -86,7 +84,7 @@ left-joystick-up { ...@@ -86,7 +84,7 @@ left-joystick-up {
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 {
...@@ -94,7 +92,7 @@ left-joystick-down { ...@@ -94,7 +92,7 @@ left-joystick-down {
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 {
...@@ -102,7 +100,7 @@ right-joystick-left { ...@@ -102,7 +100,7 @@ right-joystick-left {
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 {
...@@ -110,7 +108,7 @@ right-joystick-right { ...@@ -110,7 +108,7 @@ right-joystick-right {
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 {
...@@ -118,7 +116,7 @@ right-joystick-up { ...@@ -118,7 +116,7 @@ right-joystick-up {
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 {
...@@ -126,7 +124,7 @@ right-joystick-down { ...@@ -126,7 +124,7 @@ right-joystick-down {
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 {
...@@ -134,7 +132,7 @@ dpad-left { ...@@ -134,7 +132,7 @@ dpad-left {
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 {
...@@ -142,7 +140,7 @@ dpad-right { ...@@ -142,7 +140,7 @@ dpad-right {
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 {
...@@ -150,7 +148,7 @@ dpad-up { ...@@ -150,7 +148,7 @@ dpad-up {
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 {
...@@ -158,55 +156,55 @@ dpad-down { ...@@ -158,55 +156,55 @@ dpad-down {
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 */
}; };
}; };
}; };
...@@ -306,30 +304,6 @@ &otg_sram { ...@@ -306,30 +304,6 @@ &otg_sram {
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>;
...@@ -375,10 +349,8 @@ &usb_otg { ...@@ -375,10 +349,8 @@ &usb_otg {
}; };
&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";
......
...@@ -148,14 +148,6 @@ &otg_sram { ...@@ -148,14 +148,6 @@ &otg_sram {
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 @@ &usb_otg { ...@@ -183,9 +175,7 @@ &usb_otg {
}; };
&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";
......
...@@ -186,18 +186,6 @@ led_pins_olinuxinolime: led-pin { ...@@ -186,18 +186,6 @@ led_pins_olinuxinolime: led-pin {
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 @@ &usb_otg { ...@@ -229,10 +217,8 @@ &usb_otg {
}; };
&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>;
......
...@@ -154,14 +154,6 @@ &otg_sram { ...@@ -154,14 +154,6 @@ &otg_sram {
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 {
...@@ -201,9 +193,7 @@ &usb_otg { ...@@ -201,9 +193,7 @@ &usb_otg {
}; };
&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";
......
...@@ -146,20 +146,6 @@ &otg_sram { ...@@ -146,20 +146,6 @@ &otg_sram {
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 +197,8 @@ &usb_otg { ...@@ -211,10 +197,8 @@ &usb_otg {
}; };
&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";
......
...@@ -267,7 +267,7 @@ dma: dma-controller@1c02000 { ...@@ -267,7 +267,7 @@ dma: dma-controller@1c02000 {
#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>;
...@@ -342,6 +342,7 @@ tcon0: lcd-controller@1c0c000 { ...@@ -342,6 +342,7 @@ tcon0: lcd-controller@1c0c000 {
"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 {
...@@ -391,6 +392,7 @@ tcon1: lcd-controller@1c0d000 { ...@@ -391,6 +392,7 @@ tcon1: lcd-controller@1c0d000 {
"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 {
...@@ -494,13 +496,14 @@ usb_otg: usb@1c13000 { ...@@ -494,13 +496,14 @@ usb_otg: usb@1c13000 {
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";
...@@ -517,7 +520,6 @@ ehci0: usb@1c14000 { ...@@ -517,7 +520,6 @@ ehci0: usb@1c14000 {
interrupts = <39>; interrupts = <39>;
clocks = <&ccu CLK_AHB_EHCI0>; clocks = <&ccu CLK_AHB_EHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -527,7 +529,6 @@ ohci0: usb@1c14400 { ...@@ -527,7 +529,6 @@ ohci0: usb@1c14400 {
interrupts = <64>; interrupts = <64>;
clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>; clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -607,7 +608,6 @@ ehci1: usb@1c1c000 { ...@@ -607,7 +608,6 @@ ehci1: usb@1c1c000 {
interrupts = <40>; interrupts = <40>;
clocks = <&ccu CLK_AHB_EHCI1>; clocks = <&ccu CLK_AHB_EHCI1>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -617,7 +617,6 @@ ohci1: usb@1c1c400 { ...@@ -617,7 +617,6 @@ ohci1: usb@1c1c400 {
interrupts = <65>; interrupts = <65>;
clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>; clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
......
...@@ -119,12 +119,6 @@ &otg_sram { ...@@ -119,12 +119,6 @@ &otg_sram {
}; };
&pio { &pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PG12";
function = "gpio_in";
bias-pull-up;
};
led_pins_t004: led-pin { led_pins_t004: led-pin {
pins = "PB2"; pins = "PB2";
function = "gpio_out"; function = "gpio_out";
...@@ -149,9 +143,7 @@ &usb_otg { ...@@ -149,9 +143,7 @@ &usb_otg {
}; };
&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";
}; };
...@@ -218,12 +218,6 @@ led_pins_olinuxino: led-pin { ...@@ -218,12 +218,6 @@ led_pins_olinuxino: led-pin {
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PG12";
function = "gpio_in";
bias-pull-up;
};
}; };
&reg_usb0_vbus { &reg_usb0_vbus {
...@@ -271,9 +265,7 @@ &usb_otg { ...@@ -271,9 +265,7 @@ &usb_otg {
}; };
&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";
......
...@@ -127,20 +127,6 @@ &otg_sram { ...@@ -127,20 +127,6 @@ &otg_sram {
status = "okay"; status = "okay";
}; };
&pio {
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
};
&pwm { &pwm {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>; pinctrl-0 = <&pwm0_pin>;
...@@ -195,10 +181,8 @@ &usb_otg { ...@@ -195,10 +181,8 @@ &usb_otg {
}; };
&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";
......
...@@ -124,14 +124,6 @@ &otg_sram { ...@@ -124,14 +124,6 @@ &otg_sram {
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
};
#include "axp209.dtsi" #include "axp209.dtsi"
&reg_dcdc2 { &reg_dcdc2 {
...@@ -182,9 +174,7 @@ &usb_otg { ...@@ -182,9 +174,7 @@ &usb_otg {
}; };
&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_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>;
......
...@@ -206,9 +206,8 @@ &usb_otg { ...@@ -206,9 +206,8 @@ &usb_otg {
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */ usb0_vbus_det-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
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_vcc5v0>; usb1_vbus-supply = <&reg_vcc5v0>;
status = "okay"; status = "okay";
......
...@@ -109,18 +109,6 @@ led_pins_olinuxinom: led-pin { ...@@ -109,18 +109,6 @@ led_pins_olinuxinom: led-pin {
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
}; };
&reg_usb0_vbus { &reg_usb0_vbus {
...@@ -145,10 +133,8 @@ &usb_otg { ...@@ -145,10 +133,8 @@ &usb_otg {
}; };
&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";
......
...@@ -74,8 +74,6 @@ power { ...@@ -74,8 +74,6 @@ power {
bridge { bridge {
compatible = "dumb-vga-dac"; compatible = "dumb-vga-dac";
#address-cells = <1>;
#size-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
...@@ -204,18 +202,6 @@ led_pins_olinuxino: led-pin { ...@@ -204,18 +202,6 @@ led_pins_olinuxino: led-pin {
function = "gpio_out"; function = "gpio_out";
drive-strength = <20>; drive-strength = <20>;
}; };
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PG2";
function = "gpio_in";
bias-pull-up;
};
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
}; };
&reg_usb0_vbus { &reg_usb0_vbus {
...@@ -253,10 +239,8 @@ &usb_otg { ...@@ -253,10 +239,8 @@ &usb_otg {
}; };
&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";
......
...@@ -53,16 +53,9 @@ panel: panel { ...@@ -53,16 +53,9 @@ panel: panel {
power-supply = <&reg_vcc3v3>; power-supply = <&reg_vcc3v3>;
enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */ enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */
backlight = <&backlight>; backlight = <&backlight>;
#address-cells = <1>;
#size-cells = <0>;
port@0 { port {
reg = <0>; panel_input: endpoint {
#address-cells = <1>;
#size-cells = <0>;
panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_lcd>; remote-endpoint = <&tcon0_out_lcd>;
}; };
}; };
......
...@@ -58,13 +58,11 @@ chosen { ...@@ -58,13 +58,11 @@ chosen {
/delete-property/stdout-path; /delete-property/stdout-path;
}; };
i2c_lcd: i2c-gpio { 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>;
}; };
}; };
...@@ -94,14 +92,6 @@ mmccard: mmccard@0 { ...@@ -94,14 +92,6 @@ mmccard: mmccard@0 {
}; };
}; };
&pio {
i2c_lcd_pins: i2c-lcd-pin {
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 */
}; };
......
...@@ -133,8 +133,6 @@ &nfc { ...@@ -133,8 +133,6 @@ &nfc {
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";
...@@ -233,7 +231,7 @@ &usb_power_supply { ...@@ -233,7 +231,7 @@ &usb_power_supply {
}; };
&usbphy { &usbphy {
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>;
usb1_vbus-supply = <&reg_vcc5v0>; usb1_vbus-supply = <&reg_vcc5v0>;
status = "okay"; status = "okay";
......
...@@ -325,8 +325,8 @@ &usb_power_supply { ...@@ -325,8 +325,8 @@ &usb_power_supply {
}; };
&usbphy { &usbphy {
usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */ usb0_id_det-gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ usb0_vbus_det-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";
......
...@@ -84,9 +84,7 @@ mmc0_pwrseq: mmc0_pwrseq { ...@@ -84,9 +84,7 @@ mmc0_pwrseq: mmc0_pwrseq {
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>;
}; };
}; };
...@@ -173,14 +171,6 @@ &otg_sram { ...@@ -173,14 +171,6 @@ &otg_sram {
status = "okay"; status = "okay";
}; };
&pio {
chip_w1_pin: chip-w1-pin {
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>;
...@@ -279,7 +269,7 @@ &usb_power_supply { ...@@ -279,7 +269,7 @@ &usb_power_supply {
&usbphy { &usbphy {
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>;
......
...@@ -132,20 +132,6 @@ &otg_sram { ...@@ -132,20 +132,6 @@ &otg_sram {
status = "okay"; status = "okay";
}; };
&pio {
usb0_vbus_detect_pin: usb0-vbus-detect-pin {
pins = "PG1";
function = "gpio_in";
bias-pull-down;
};
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PG2";
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,10 +184,8 @@ &usb_power_supply { ...@@ -198,10 +184,8 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -127,6 +127,7 @@ soc { ...@@ -127,6 +127,7 @@ soc {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
dma-ranges;
ranges; ranges;
system-control@1c00000 { system-control@1c00000 {
...@@ -181,6 +182,14 @@ ve_sram: sram-section@0 { ...@@ -181,6 +182,14 @@ ve_sram: sram-section@0 {
}; };
}; };
mbus: dram-controller@1c01000 {
compatible = "allwinner,sun5i-a13-mbus";
reg = <0x01c01000 0x1000>;
clocks = <&ccu 99>;
dma-ranges = <0x00000000 0x40000000 0x20000000>;
#interconnect-cells = <1>;
};
dma: dma-controller@1c02000 { dma: dma-controller@1c02000 {
compatible = "allwinner,sun4i-a10-dma"; compatible = "allwinner,sun4i-a10-dma";
reg = <0x01c02000 0x1000>; reg = <0x01c02000 0x1000>;
...@@ -189,7 +198,7 @@ dma: dma-controller@1c02000 { ...@@ -189,7 +198,7 @@ dma: dma-controller@1c02000 {
#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>;
...@@ -238,11 +247,8 @@ tve0: tv-encoder@1c0a000 { ...@@ -238,11 +247,8 @@ tve0: tv-encoder@1c0a000 {
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>;
}; };
}; };
...@@ -278,6 +284,7 @@ tcon0: lcd-controller@1c0c000 { ...@@ -278,6 +284,7 @@ tcon0: lcd-controller@1c0c000 {
"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 {
...@@ -285,12 +292,9 @@ ports { ...@@ -285,12 +292,9 @@ ports {
#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>;
}; };
}; };
...@@ -365,13 +369,14 @@ usb_otg: usb@1c13000 { ...@@ -365,13 +369,14 @@ usb_otg: usb@1c13000 {
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";
...@@ -386,7 +391,6 @@ ehci0: usb@1c14000 { ...@@ -386,7 +391,6 @@ ehci0: usb@1c14000 {
interrupts = <39>; interrupts = <39>;
clocks = <&ccu CLK_AHB_EHCI>; clocks = <&ccu CLK_AHB_EHCI>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -396,7 +400,6 @@ ohci0: usb@1c14400 { ...@@ -396,7 +400,6 @@ ohci0: usb@1c14400 {
interrupts = <40>; interrupts = <40>;
clocks = <&ccu CLK_USB_OHCI>, <&ccu CLK_AHB_OHCI>; clocks = <&ccu CLK_USB_OHCI>, <&ccu CLK_AHB_OHCI>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -501,18 +504,18 @@ mmc0_pins: mmc0-pins { ...@@ -501,18 +504,18 @@ mmc0_pins: mmc0-pins {
bias-pull-up; bias-pull-up;
}; };
mmc2_8bit_pins: mmc2-8bit-pins { mmc2_4bit_pc_pins: mmc2-4bit-pc-pins {
pins = "PC6", "PC7", "PC8", "PC9", pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11", "PC12", "PC13", "PC10", "PC11";
"PC14", "PC15";
function = "mmc2"; function = "mmc2";
drive-strength = <30>; drive-strength = <30>;
bias-pull-up; bias-pull-up;
}; };
mmc2_4bit_pc_pins: mmc2-4bit-pc-pins { mmc2_8bit_pins: mmc2-8bit-pins {
pins = "PC6", "PC7", "PC8", "PC9", pins = "PC6", "PC7", "PC8", "PC9",
"PC10", "PC11"; "PC10", "PC11", "PC12", "PC13",
"PC14", "PC15";
function = "mmc2"; function = "mmc2";
drive-strength = <30>; drive-strength = <30>;
bias-pull-up; bias-pull-up;
...@@ -536,6 +539,11 @@ nand_rb0_pin: nand-rb0-pin { ...@@ -536,6 +539,11 @@ nand_rb0_pin: nand-rb0-pin {
function = "nand0"; function = "nand0";
}; };
pwm0_pin: pwm0-pin {
pins = "PB2";
function = "pwm";
};
spi2_pe_pins: spi2-pe-pins { spi2_pe_pins: spi2-pe-pins {
pins = "PE1", "PE2", "PE3"; pins = "PE1", "PE2", "PE3";
function = "spi2"; function = "spi2";
...@@ -575,11 +583,6 @@ uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins { ...@@ -575,11 +583,6 @@ uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins {
pins = "PG11", "PG12"; pins = "PG11", "PG12";
function = "uart3"; function = "uart3";
}; };
pwm0_pin: pwm0-pin {
pins = "PB2";
function = "pwm";
};
}; };
timer@1c20c00 { timer@1c20c00 {
...@@ -727,6 +730,8 @@ fe0: display-frontend@1e00000 { ...@@ -727,6 +730,8 @@ fe0: display-frontend@1e00000 {
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 {
...@@ -734,12 +739,9 @@ ports { ...@@ -734,12 +739,9 @@ ports {
#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>;
}; };
}; };
...@@ -755,6 +757,8 @@ be0: display-backend@1e60000 { ...@@ -755,6 +757,8 @@ be0: display-backend@1e60000 {
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-clocks = <&ccu CLK_DE_BE>;
...@@ -765,23 +769,17 @@ ports { ...@@ -765,23 +769,17 @@ ports {
#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>;
}; };
}; };
......
...@@ -63,10 +63,8 @@ chosen { ...@@ -63,10 +63,8 @@ chosen {
i2c_lcd: i2c { 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>;
}; };
}; };
...@@ -113,14 +111,6 @@ &mmc0 { ...@@ -113,14 +111,6 @@ &mmc0 {
status = "okay"; status = "okay";
}; };
&pio {
i2c_lcd_pins: i2c-lcd-pins {
pins = "PA23", "PA24";
function = "gpio_out";
bias-pull-up;
};
};
&reg_usb2_vbus { &reg_usb2_vbus {
gpio = <&pio 7 24 GPIO_ACTIVE_HIGH>; gpio = <&pio 7 24 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
......
...@@ -86,31 +86,23 @@ vga_con_in: endpoint { ...@@ -86,31 +86,23 @@ vga_con_in: endpoint {
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>;
}; };
}; };
...@@ -335,8 +327,8 @@ &usb_power_supply { ...@@ -335,8 +327,8 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -157,7 +157,6 @@ &reg_usb1_vbus { ...@@ -157,7 +157,6 @@ &reg_usb1_vbus {
&spdif { &spdif {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spdif_tx_pin>; pinctrl-0 = <&spdif_tx_pin>;
spdif-out = "okay";
status = "okay"; status = "okay";
}; };
......
...@@ -292,6 +292,7 @@ tcon0: lcd-controller@1c0c000 { ...@@ -292,6 +292,7 @@ tcon0: lcd-controller@1c0c000 {
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1";
clock-output-names = "tcon0-pixel-clock"; clock-output-names = "tcon0-pixel-clock";
#clock-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
...@@ -340,6 +341,7 @@ tcon1: lcd-controller@1c0d000 { ...@@ -340,6 +341,7 @@ tcon1: lcd-controller@1c0d000 {
"tcon-ch0", "tcon-ch0",
"tcon-ch1"; "tcon-ch1";
clock-output-names = "tcon1-pixel-clock"; clock-output-names = "tcon1-pixel-clock";
#clock-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
...@@ -491,8 +493,6 @@ hdmi_in_tcon1: endpoint@1 { ...@@ -491,8 +493,6 @@ hdmi_in_tcon1: endpoint@1 {
}; };
hdmi_out: port@1 { hdmi_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
...@@ -508,6 +508,7 @@ usb_otg: usb@1c19000 { ...@@ -508,6 +508,7 @@ usb_otg: usb@1c19000 {
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";
}; };
...@@ -542,7 +543,6 @@ ehci0: usb@1c1a000 { ...@@ -542,7 +543,6 @@ ehci0: usb@1c1a000 {
clocks = <&ccu CLK_AHB1_EHCI0>; clocks = <&ccu CLK_AHB1_EHCI0>;
resets = <&ccu RST_AHB1_EHCI0>; resets = <&ccu RST_AHB1_EHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -553,7 +553,6 @@ ohci0: usb@1c1a400 { ...@@ -553,7 +553,6 @@ ohci0: usb@1c1a400 {
clocks = <&ccu CLK_AHB1_OHCI0>, <&ccu CLK_USB_OHCI0>; clocks = <&ccu CLK_AHB1_OHCI0>, <&ccu CLK_USB_OHCI0>;
resets = <&ccu RST_AHB1_OHCI0>; resets = <&ccu RST_AHB1_OHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -564,7 +563,6 @@ ehci1: usb@1c1b000 { ...@@ -564,7 +563,6 @@ ehci1: usb@1c1b000 {
clocks = <&ccu CLK_AHB1_EHCI1>; clocks = <&ccu CLK_AHB1_EHCI1>;
resets = <&ccu RST_AHB1_EHCI1>; resets = <&ccu RST_AHB1_EHCI1>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -575,7 +573,6 @@ ohci1: usb@1c1b400 { ...@@ -575,7 +573,6 @@ ohci1: usb@1c1b400 {
clocks = <&ccu CLK_AHB1_OHCI1>, <&ccu CLK_USB_OHCI1>; clocks = <&ccu CLK_AHB1_OHCI1>, <&ccu CLK_USB_OHCI1>;
resets = <&ccu RST_AHB1_OHCI1>; resets = <&ccu RST_AHB1_OHCI1>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -1029,7 +1026,7 @@ spi3: spi@1c6b000 { ...@@ -1029,7 +1026,7 @@ spi3: spi@1c6b000 {
}; };
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>,
...@@ -1229,12 +1226,9 @@ be0_in_fe1: endpoint@1 { ...@@ -1229,12 +1226,9 @@ be0_in_fe1: endpoint@1 {
}; };
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>;
}; };
}; };
...@@ -1259,12 +1253,9 @@ ports { ...@@ -1259,12 +1253,9 @@ ports {
#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>;
}; };
}; };
...@@ -1380,7 +1371,6 @@ r_pio: pinctrl@1f02c00 { ...@@ -1380,7 +1371,6 @@ r_pio: pinctrl@1f02c00 {
gpio-controller; gpio-controller;
interrupt-controller; interrupt-controller;
#interrupt-cells = <3>; #interrupt-cells = <3>;
#size-cells = <0>;
#gpio-cells = <3>; #gpio-cells = <3>;
s_ir_rx_pin: s-ir-rx-pin { s_ir_rx_pin: s-ir-rx-pin {
......
...@@ -260,7 +260,7 @@ &usb_power_supply { ...@@ -260,7 +260,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -73,14 +73,6 @@ &mmc0 { ...@@ -73,14 +73,6 @@ &mmc0 {
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PA15";
function = "gpio_in";
bias-pull-up;
};
};
&p2wi { &p2wi {
status = "okay"; status = "okay";
...@@ -173,9 +165,7 @@ &usb_power_supply { ...@@ -173,9 +165,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -246,12 +246,6 @@ &pio { ...@@ -246,12 +246,6 @@ &pio {
"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 +323,7 @@ &usb_power_supply { ...@@ -329,9 +323,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -173,14 +173,6 @@ &otg_sram { ...@@ -173,14 +173,6 @@ &otg_sram {
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 +228,7 @@ &usb_otg { ...@@ -236,9 +228,7 @@ &usb_otg {
}; };
&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";
......
...@@ -229,14 +229,6 @@ &otg_sram { ...@@ -229,14 +229,6 @@ &otg_sram {
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 +314,7 @@ &usb_power_supply { ...@@ -322,9 +314,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -314,8 +314,8 @@ &usb_power_supply { ...@@ -314,8 +314,8 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -174,18 +174,6 @@ led_pins_olinuxinolime: led-pins { ...@@ -174,18 +174,6 @@ led_pins_olinuxinolime: led-pins {
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 +205,8 @@ &usb_otg { ...@@ -217,10 +205,8 @@ &usb_otg {
}; };
&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>;
......
...@@ -174,23 +174,17 @@ &otg_sram { ...@@ -174,23 +174,17 @@ &otg_sram {
}; };
&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 {
...@@ -267,10 +261,8 @@ &usb_otg { ...@@ -267,10 +261,8 @@ &usb_otg {
}; };
&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>;
......
...@@ -252,18 +252,6 @@ led_pins_olinuxino: led-pins { ...@@ -252,18 +252,6 @@ led_pins_olinuxino: led-pins {
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 +343,8 @@ &usb_power_supply { ...@@ -355,10 +343,8 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -176,14 +176,6 @@ &otg_sram { ...@@ -176,14 +176,6 @@ &otg_sram {
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 +231,7 @@ &usb_power_supply { ...@@ -239,9 +231,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -135,14 +135,6 @@ &otg_sram { ...@@ -135,14 +135,6 @@ &otg_sram {
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 +190,7 @@ &usb_power_supply { ...@@ -198,9 +190,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -168,14 +168,6 @@ &otg_sram { ...@@ -168,14 +168,6 @@ &otg_sram {
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 @@ &usb_otg { ...@@ -226,9 +218,7 @@ &usb_otg {
}; };
&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";
......
...@@ -168,14 +168,6 @@ &otg_sram { ...@@ -168,14 +168,6 @@ &otg_sram {
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 +218,7 @@ &usb_otg { ...@@ -226,9 +218,7 @@ &usb_otg {
}; };
&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";
......
...@@ -156,14 +156,6 @@ &otg_sram { ...@@ -156,14 +156,6 @@ &otg_sram {
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 +215,7 @@ &usb_power_supply { ...@@ -223,9 +215,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -145,14 +145,6 @@ &otg_sram { ...@@ -145,14 +145,6 @@ &otg_sram {
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 +198,7 @@ &usb_power_supply { ...@@ -206,9 +198,7 @@ &usb_power_supply {
}; };
&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>;
......
...@@ -333,7 +333,7 @@ dma: dma-controller@1c02000 { ...@@ -333,7 +333,7 @@ dma: dma-controller@1c02000 {
#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>;
...@@ -406,6 +406,7 @@ tcon0: lcd-controller@1c0c000 { ...@@ -406,6 +406,7 @@ tcon0: lcd-controller@1c0c000 {
"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 {
...@@ -455,6 +456,7 @@ tcon1: lcd-controller@1c0d000 { ...@@ -455,6 +456,7 @@ tcon1: lcd-controller@1c0d000 {
"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 +588,14 @@ usb_otg: usb@1c13000 { ...@@ -586,13 +588,14 @@ usb_otg: usb@1c13000 {
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";
...@@ -609,7 +612,6 @@ ehci0: usb@1c14000 { ...@@ -609,7 +612,6 @@ ehci0: usb@1c14000 {
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_AHB_EHCI0>; clocks = <&ccu CLK_AHB_EHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -619,7 +621,6 @@ ohci0: usb@1c14400 { ...@@ -619,7 +621,6 @@ ohci0: usb@1c14400 {
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>; clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -702,7 +703,6 @@ ehci1: usb@1c1c000 { ...@@ -702,7 +703,6 @@ ehci1: usb@1c1c000 {
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_AHB_EHCI1>; clocks = <&ccu CLK_AHB_EHCI1>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -712,7 +712,6 @@ ohci1: usb@1c1c400 { ...@@ -712,7 +712,6 @@ ohci1: usb@1c1c400 {
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>; clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -751,21 +750,31 @@ pio: pinctrl@1c20800 { ...@@ -751,21 +750,31 @@ pio: pinctrl@1c20800 {
#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/
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 +784,17 @@ emac_pa_pins: emac-pa-pins { ...@@ -775,6 +784,17 @@ emac_pa_pins: emac-pa-pins {
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 +804,7 @@ gmac_mii_pins: gmac-mii-pins { ...@@ -784,6 +804,7 @@ gmac_mii_pins: gmac-mii-pins {
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 +819,55 @@ gmac_rgmii_pins: gmac-rgmii-pins { ...@@ -798,46 +819,55 @@ gmac_rgmii_pins: gmac-rgmii-pins {
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/
mmc0_pins: mmc0-pins { mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", pins = "PF0", "PF1", "PF2",
"PF3", "PF4", "PF5"; "PF3", "PF4", "PF5";
...@@ -846,6 +876,7 @@ mmc0_pins: mmc0-pins { ...@@ -846,6 +876,7 @@ mmc0_pins: mmc0-pins {
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 +885,7 @@ mmc2_pins: mmc2-pins { ...@@ -854,6 +885,7 @@ mmc2_pins: mmc2-pins {
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 +894,206 @@ mmc3_pins: mmc3-pins { ...@@ -862,127 +894,206 @@ mmc3_pins: mmc3-pins {
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";
...@@ -1341,7 +1452,7 @@ hstimer@1c60000 { ...@@ -1341,7 +1452,7 @@ hstimer@1c60000 {
}; };
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>,
......
...@@ -161,14 +161,18 @@ dma: dma-controller@1c02000 { ...@@ -161,14 +161,18 @@ dma: dma-controller@1c02000 {
#dma-cells = <1>; #dma-cells = <1>;
}; };
nfc: nand@1c03000 { nfc: nand-controller@1c03000 {
compatible = "allwinner,sun4i-a10-nand"; compatible = "allwinner,sun8i-a23-nand-controller";
reg = <0x01c03000 0x1000>; reg = <0x01c03000 0x1000>;
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>; clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
clock-names = "ahb", "mod"; clock-names = "ahb", "mod";
resets = <&ccu RST_BUS_NAND>; resets = <&ccu RST_BUS_NAND>;
reset-names = "ahb"; reset-names = "ahb";
dmas = <&dma 5>;
dma-names = "rxtx";
pinctrl-names = "default";
pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -183,6 +187,7 @@ tcon0: lcd-controller@1c0c000 { ...@@ -183,6 +187,7 @@ tcon0: lcd-controller@1c0c000 {
clock-names = "ahb", clock-names = "ahb",
"tcon-ch0"; "tcon-ch0";
clock-output-names = "tcon-pixel-clock"; clock-output-names = "tcon-pixel-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_LCD>; resets = <&ccu RST_BUS_LCD>;
reset-names = "lcd"; reset-names = "lcd";
status = "disabled"; status = "disabled";
...@@ -192,19 +197,14 @@ ports { ...@@ -192,19 +197,14 @@ ports {
#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_drc0: endpoint@0 { tcon0_in_drc0: endpoint {
reg = <0>;
remote-endpoint = <&drc0_out_tcon0>; remote-endpoint = <&drc0_out_tcon0>;
}; };
}; };
tcon0_out: port@1 { tcon0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
...@@ -279,6 +279,7 @@ usb_otg: usb@1c19000 { ...@@ -279,6 +279,7 @@ usb_otg: usb@1c19000 {
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";
}; };
...@@ -306,7 +307,6 @@ ehci0: usb@1c1a000 { ...@@ -306,7 +307,6 @@ ehci0: usb@1c1a000 {
clocks = <&ccu CLK_BUS_EHCI>; clocks = <&ccu CLK_BUS_EHCI>;
resets = <&ccu RST_BUS_EHCI>; resets = <&ccu RST_BUS_EHCI>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -317,7 +317,6 @@ ohci0: usb@1c1a400 { ...@@ -317,7 +317,6 @@ ohci0: usb@1c1a400 {
clocks = <&ccu CLK_BUS_OHCI>, <&ccu CLK_USB_OHCI>; clocks = <&ccu CLK_BUS_OHCI>, <&ccu CLK_USB_OHCI>;
resets = <&ccu RST_BUS_OHCI>; resets = <&ccu RST_BUS_OHCI>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -396,25 +395,25 @@ nand_pins: nand-pins { ...@@ -396,25 +395,25 @@ nand_pins: nand-pins {
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;
...@@ -602,7 +601,7 @@ mali: gpu@1c40000 { ...@@ -602,7 +601,7 @@ mali: gpu@1c40000 {
}; };
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>,
...@@ -627,12 +626,9 @@ ports { ...@@ -627,12 +626,9 @@ ports {
#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>;
}; };
}; };
...@@ -654,23 +650,17 @@ ports { ...@@ -654,23 +650,17 @@ ports {
#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_drc0: endpoint@0 { be0_out_drc0: endpoint {
reg = <0>;
remote-endpoint = <&drc0_in_be0>; remote-endpoint = <&drc0_in_be0>;
}; };
}; };
...@@ -694,23 +684,17 @@ ports { ...@@ -694,23 +684,17 @@ ports {
#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>;
}; };
}; };
drc0_out: port@1 { drc0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
drc0_out_tcon0: endpoint@0 { drc0_out_tcon0: endpoint {
reg = <0>;
remote-endpoint = <&tcon0_in_drc0>; remote-endpoint = <&tcon0_in_drc0>;
}; };
}; };
...@@ -799,6 +783,20 @@ r_uart: serial@1f02800 { ...@@ -799,6 +783,20 @@ r_uart: serial@1f02800 {
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>;
...@@ -811,6 +809,12 @@ r_pio: pinctrl@1f02c00 { ...@@ -811,6 +809,12 @@ r_pio: pinctrl@1f02c00 {
#interrupt-cells = <3>; #interrupt-cells = <3>;
#gpio-cells = <3>; #gpio-cells = <3>;
r_i2c_pins: r-i2c-pins {
pins = "PL0", "PL1";
function = "s_i2c";
bias-pull-up;
};
r_rsb_pins: r-rsb-pins { r_rsb_pins: r-rsb-pins {
pins = "PL0", "PL1"; pins = "PL0", "PL1";
function = "s_rsb"; function = "s_rsb";
......
...@@ -65,3 +65,9 @@ &codec { ...@@ -65,3 +65,9 @@ &codec {
&panel { &panel {
compatible = "bananapi,s070wv20-ct16", "simple-panel"; compatible = "bananapi,s070wv20-ct16", "simple-panel";
}; };
&tcon0_out {
tcon0_out_lcd: endpoint {
remote-endpoint = <&panel_input>;
};
};
...@@ -48,3 +48,10 @@ / { ...@@ -48,3 +48,10 @@ / {
model = "Q8 A33 Tablet"; model = "Q8 A33 Tablet";
compatible = "allwinner,q8-a33", "allwinner,sun8i-a33"; compatible = "allwinner,q8-a33", "allwinner,sun8i-a33";
}; };
&tcon0_out {
tcon0_out_lcd: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};
...@@ -63,16 +63,9 @@ chosen { ...@@ -63,16 +63,9 @@ chosen {
panel { panel {
compatible = "netron-dy,e231732"; compatible = "netron-dy,e231732";
#address-cells = <1>;
#size-cells = <0>;
port@0 { port {
reg = <0>; panel_input: endpoint {
#address-cells = <1>;
#size-cells = <0>;
panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_panel>; remote-endpoint = <&tcon0_out_panel>;
}; };
}; };
......
...@@ -265,19 +265,12 @@ dsi: dsi@1ca0000 { ...@@ -265,19 +265,12 @@ dsi: dsi@1ca0000 {
phys = <&dphy>; phys = <&dphy>;
phy-names = "dphy"; phy-names = "dphy";
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
ports { port {
#address-cells = <1>; dsi_in_tcon0: endpoint {
#size-cells = <0>; remote-endpoint = <&tcon0_out_dsi>;
port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
dsi_in_tcon0: endpoint {
remote-endpoint = <&tcon0_out_dsi>;
};
}; };
}; };
}; };
...@@ -420,6 +413,9 @@ &tcon0 { ...@@ -420,6 +413,9 @@ &tcon0 {
}; };
&tcon0_out { &tcon0_out {
#address-cells = <1>;
#size-cells = <0>;
tcon0_out_dsi: endpoint@1 { tcon0_out_dsi: endpoint@1 {
reg = <1>; reg = <1>;
remote-endpoint = <&dsi_in_tcon0>; remote-endpoint = <&dsi_in_tcon0>;
......
...@@ -389,7 +389,19 @@ bluetooth { ...@@ -389,7 +389,19 @@ bluetooth {
}; };
}; };
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usb_power_supply {
status = "okay";
};
&usbphy { &usbphy {
usb0_id_det-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_drivevbus>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay"; status = "okay";
}; };
...@@ -420,7 +420,19 @@ bluetooth { ...@@ -420,7 +420,19 @@ bluetooth {
}; };
}; };
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usb_power_supply {
status = "okay";
};
&usbphy { &usbphy {
usb0_id_det-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_drivevbus>;
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";
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h> #include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/input/input.h>
/ { / {
model = "TBS A711 Tablet"; model = "TBS A711 Tablet";
...@@ -98,6 +99,13 @@ panel_input: endpoint { ...@@ -98,6 +99,13 @@ panel_input: endpoint {
}; };
}; };
reg_gps: reg-gps {
compatible = "regulator-fixed";
regulator-name = "gps";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
reg_vbat: reg-vbat { reg_vbat: reg-vbat {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vbat"; regulator-name = "vbat";
...@@ -156,6 +164,18 @@ &ehci1 { ...@@ -156,6 +164,18 @@ &ehci1 {
status = "okay"; status = "okay";
}; };
&i2c1 {
clock-frequency = <400000>;
status = "okay";
accelerometer@18 {
compatible = "bosch,bma250";
reg = <0x18>;
interrupt-parent = <&pio>;
interrupts = <7 10 IRQ_TYPE_EDGE_RISING>; /* PH10 / EINT10 */
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_dcdc1>; vmmc-supply = <&reg_dcdc1>;
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -200,6 +220,25 @@ &pwm { ...@@ -200,6 +220,25 @@ &pwm {
status = "okay"; status = "okay";
}; };
&r_lradc {
vref-supply = <&reg_aldo2>;
status = "okay";
button@210 {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
channel = <0>;
voltage = <210000>;
};
button@410 {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
channel = <0>;
voltage = <410000>;
};
};
&r_rsb { &r_rsb {
status = "okay"; status = "okay";
...@@ -391,8 +430,7 @@ &tcon0 { ...@@ -391,8 +430,7 @@ &tcon0 {
}; };
&tcon0_out { &tcon0_out {
tcon0_out_lcd: endpoint@0 { tcon0_out_lcd: endpoint {
reg = <0>;
remote-endpoint = <&panel_input>; remote-endpoint = <&panel_input>;
}; };
}; };
...@@ -407,7 +445,34 @@ &uart0 { ...@@ -407,7 +445,34 @@ &uart0 {
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
uart-has-rtscts;
status = "okay";
bluetooth {
compatible = "brcm,bcm20702a1";
clocks = <&ac100_rtc 1>;
clock-names = "lpo";
vbat-supply = <&reg_vbat>;
vddio-supply = <&reg_dldo1>;
device-wakeup-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
host-wakeup-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
shutdown-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
max-speed = <1500000>;
};
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pb_pins>;
status = "okay"; status = "okay";
gnss {
compatible = "u-blox,neo-6m";
v-bckp-supply = <&reg_rtc_ldo>;
vcc-supply = <&reg_gps>;
current-speed = <9600>;
};
}; };
&usb_otg { &usb_otg {
...@@ -418,7 +483,7 @@ &usb_otg { ...@@ -418,7 +483,7 @@ &usb_otg {
&usbphy { &usbphy {
usb0_id_det-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ usb0_id_det-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
usb0_vbus-supply = <&reg_drivevbus>; usb0_vbus-supply = <&reg_drivevbus>;
usb1_vbus_supply = <&reg_vmain>; usb1_vbus-supply = <&reg_vmain>;
usb2_vbus_supply = <&reg_vmain>; usb2_vbus-supply = <&reg_vmain>;
status = "okay"; status = "okay";
}; };
...@@ -61,79 +61,91 @@ cpus { ...@@ -61,79 +61,91 @@ cpus {
#size-cells = <0>; #size-cells = <0>;
cpu0: cpu@0 { cpu0: cpu@0 {
clocks = <&ccu CLK_C0CPUX>;
clock-names = "cpu";
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C0CPUX>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
cci-control-port = <&cci_control0>; cci-control-port = <&cci_control0>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <0>; reg = <0>;
#cooling-cells = <2>;
}; };
cpu@1 { cpu@1 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C0CPUX>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
cci-control-port = <&cci_control0>; cci-control-port = <&cci_control0>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <1>; reg = <1>;
#cooling-cells = <2>;
}; };
cpu@2 { cpu@2 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C0CPUX>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
cci-control-port = <&cci_control0>; cci-control-port = <&cci_control0>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <2>; reg = <2>;
#cooling-cells = <2>;
}; };
cpu@3 { cpu@3 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C0CPUX>;
operating-points-v2 = <&cpu0_opp_table>; operating-points-v2 = <&cpu0_opp_table>;
cci-control-port = <&cci_control0>; cci-control-port = <&cci_control0>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <3>; reg = <3>;
#cooling-cells = <2>;
}; };
cpu100: cpu@100 { cpu100: cpu@100 {
clocks = <&ccu CLK_C1CPUX>;
clock-names = "cpu";
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C1CPUX>;
operating-points-v2 = <&cpu1_opp_table>; operating-points-v2 = <&cpu1_opp_table>;
cci-control-port = <&cci_control1>; cci-control-port = <&cci_control1>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <0x100>; reg = <0x100>;
#cooling-cells = <2>;
}; };
cpu@101 { cpu@101 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C1CPUX>;
operating-points-v2 = <&cpu1_opp_table>; operating-points-v2 = <&cpu1_opp_table>;
cci-control-port = <&cci_control1>; cci-control-port = <&cci_control1>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <0x101>; reg = <0x101>;
#cooling-cells = <2>;
}; };
cpu@102 { cpu@102 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C1CPUX>;
operating-points-v2 = <&cpu1_opp_table>; operating-points-v2 = <&cpu1_opp_table>;
cci-control-port = <&cci_control1>; cci-control-port = <&cci_control1>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <0x102>; reg = <0x102>;
#cooling-cells = <2>;
}; };
cpu@103 { cpu@103 {
compatible = "arm,cortex-a7"; compatible = "arm,cortex-a7";
device_type = "cpu"; device_type = "cpu";
clocks = <&ccu CLK_C1CPUX>;
operating-points-v2 = <&cpu1_opp_table>; operating-points-v2 = <&cpu1_opp_table>;
cci-control-port = <&cci_control1>; cci-control-port = <&cci_control1>;
enable-method = "allwinner,sun8i-a83t-smp"; enable-method = "allwinner,sun8i-a83t-smp";
reg = <0x103>; reg = <0x103>;
#cooling-cells = <2>;
}; };
}; };
...@@ -333,6 +345,11 @@ mixer0_out_tcon0: endpoint@0 { ...@@ -333,6 +345,11 @@ mixer0_out_tcon0: endpoint@0 {
reg = <0>; reg = <0>;
remote-endpoint = <&tcon0_in_mixer0>; remote-endpoint = <&tcon0_in_mixer0>;
}; };
mixer0_out_tcon1: endpoint@1 {
reg = <1>;
remote-endpoint = <&tcon1_in_mixer0>;
};
}; };
}; };
}; };
...@@ -351,9 +368,17 @@ ports { ...@@ -351,9 +368,17 @@ ports {
#size-cells = <0>; #size-cells = <0>;
mixer1_out: port@1 { mixer1_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
mixer1_out_tcon1: endpoint { mixer1_out_tcon0: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_in_mixer1>;
};
mixer1_out_tcon1: endpoint@1 {
reg = <1>;
remote-endpoint = <&tcon1_in_mixer1>; remote-endpoint = <&tcon1_in_mixer1>;
}; };
}; };
...@@ -420,6 +445,7 @@ tcon0: lcd-controller@1c0c000 { ...@@ -420,6 +445,7 @@ tcon0: lcd-controller@1c0c000 {
clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>; clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
clock-names = "ahb", "tcon-ch0"; clock-names = "ahb", "tcon-ch0";
clock-output-names = "tcon-pixel-clock"; clock-output-names = "tcon-pixel-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>; resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
reset-names = "lcd", "lvds"; reset-names = "lcd", "lvds";
...@@ -436,11 +462,14 @@ tcon0_in_mixer0: endpoint@0 { ...@@ -436,11 +462,14 @@ tcon0_in_mixer0: endpoint@0 {
reg = <0>; reg = <0>;
remote-endpoint = <&mixer0_out_tcon0>; remote-endpoint = <&mixer0_out_tcon0>;
}; };
tcon0_in_mixer1: endpoint@1 {
reg = <1>;
remote-endpoint = <&mixer1_out_tcon0>;
};
}; };
tcon0_out: port@1 { tcon0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
...@@ -460,9 +489,17 @@ ports { ...@@ -460,9 +489,17 @@ ports {
#size-cells = <0>; #size-cells = <0>;
tcon1_in: port@0 { tcon1_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
tcon1_in_mixer1: endpoint { tcon1_in_mixer0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mixer0_out_tcon1>;
};
tcon1_in_mixer1: endpoint@1 {
reg = <1>;
remote-endpoint = <&mixer1_out_tcon1>; remote-endpoint = <&mixer1_out_tcon1>;
}; };
}; };
...@@ -557,6 +594,7 @@ usb_otg: usb@1c19000 { ...@@ -557,6 +594,7 @@ usb_otg: usb@1c19000 {
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";
}; };
...@@ -594,7 +632,6 @@ ehci0: usb@1c1a000 { ...@@ -594,7 +632,6 @@ ehci0: usb@1c1a000 {
clocks = <&ccu CLK_BUS_EHCI0>; clocks = <&ccu CLK_BUS_EHCI0>;
resets = <&ccu RST_BUS_EHCI0>; resets = <&ccu RST_BUS_EHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -606,7 +643,6 @@ ohci0: usb@1c1a400 { ...@@ -606,7 +643,6 @@ ohci0: usb@1c1a400 {
clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>; clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>;
resets = <&ccu RST_BUS_OHCI0>; resets = <&ccu RST_BUS_OHCI0>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -618,7 +654,6 @@ ehci1: usb@1c1b000 { ...@@ -618,7 +654,6 @@ ehci1: usb@1c1b000 {
clocks = <&ccu CLK_BUS_EHCI1>; clocks = <&ccu CLK_BUS_EHCI1>;
resets = <&ccu RST_BUS_EHCI1>; resets = <&ccu RST_BUS_EHCI1>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -671,6 +706,12 @@ i2c1_pins: i2c1-pins { ...@@ -671,6 +706,12 @@ i2c1_pins: i2c1-pins {
function = "i2c1"; function = "i2c1";
}; };
/omit-if-no-ref/
i2c2_pe_pins: i2c2-pe-pins {
pins = "PE14", "PE15";
function = "i2c2";
};
i2c2_ph_pins: i2c2-ph-pins { i2c2_ph_pins: i2c2-ph-pins {
pins = "PH4", "PH5"; pins = "PH4", "PH5";
function = "i2c2"; function = "i2c2";
...@@ -742,6 +783,12 @@ uart1_rts_cts_pins: uart1-rts-cts-pins { ...@@ -742,6 +783,12 @@ uart1_rts_cts_pins: uart1-rts-cts-pins {
pins = "PG8", "PG9"; pins = "PG8", "PG9";
function = "uart1"; function = "uart1";
}; };
/omit-if-no-ref/
uart2_pb_pins: uart2-pb-pins {
pins = "PB0", "PB1";
function = "uart2";
};
}; };
timer@1c20c00 { timer@1c20c00 {
...@@ -847,6 +894,39 @@ uart1: serial@1c28400 { ...@@ -847,6 +894,39 @@ uart1: serial@1c28400 {
status = "disabled"; status = "disabled";
}; };
uart2: serial@1c28800 {
compatible = "snps,dw-apb-uart";
reg = <0x01c28800 0x400>;
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART2>;
resets = <&ccu RST_BUS_UART2>;
status = "disabled";
};
uart3: serial@1c28c00 {
compatible = "snps,dw-apb-uart";
reg = <0x01c28c00 0x400>;
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART3>;
resets = <&ccu RST_BUS_UART3>;
status = "disabled";
};
uart4: serial@1c29000 {
compatible = "snps,dw-apb-uart";
reg = <0x01c29000 0x400>;
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART4>;
resets = <&ccu RST_BUS_UART4>;
status = "disabled";
};
i2c0: i2c@1c2ac00 { i2c0: i2c@1c2ac00 {
compatible = "allwinner,sun8i-a83t-i2c", compatible = "allwinner,sun8i-a83t-i2c",
"allwinner,sun6i-a31-i2c"; "allwinner,sun6i-a31-i2c";
...@@ -907,7 +987,7 @@ mdio: mdio { ...@@ -907,7 +987,7 @@ mdio: mdio {
}; };
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>,
...@@ -998,6 +1078,13 @@ r_cir: ir@1f02000 { ...@@ -998,6 +1078,13 @@ r_cir: ir@1f02000 {
status = "disabled"; status = "disabled";
}; };
r_lradc: lradc@1f03c00 {
compatible = "allwinner,sun8i-a83t-r-lradc";
reg = <0x01f03c00 0x100>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun8i-a83t-r-pinctrl"; compatible = "allwinner,sun8i-a83t-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
......
...@@ -59,8 +59,6 @@ chosen { ...@@ -59,8 +59,6 @@ chosen {
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_npi>, <&leds_r_npi>;
status { status {
label = "nanopi:blue:status"; label = "nanopi:blue:status";
...@@ -78,8 +76,6 @@ pwr { ...@@ -78,8 +76,6 @@ pwr {
r_gpio_keys { r_gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
input-name = "k1"; input-name = "k1";
pinctrl-names = "default";
pinctrl-0 = <&sw_r_npi>;
k1 { k1 {
label = "k1"; label = "k1";
...@@ -104,25 +100,6 @@ &ohci3 { ...@@ -104,25 +100,6 @@ &ohci3 {
status = "okay"; status = "okay";
}; };
&pio {
leds_npi: led_pins {
pins = "PA10";
function = "gpio_out";
};
};
&r_pio {
leds_r_npi: led_pins {
pins = "PL10";
function = "gpio_out";
};
sw_r_npi: key_pins {
pins = "PL3";
function = "gpio_in";
};
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pins_a>;
......
...@@ -75,8 +75,6 @@ hdmi_con_in: endpoint { ...@@ -75,8 +75,6 @@ hdmi_con_in: endpoint {
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_opc>, <&leds_r_opc>;
status_led { status_led {
label = "orangepi:red:status"; label = "orangepi:red:status";
...@@ -92,8 +90,6 @@ pwr_led { ...@@ -92,8 +90,6 @@ pwr_led {
r_gpio_keys { r_gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&sw_r_opc>;
sw2 { sw2 {
label = "sw2"; label = "sw2";
...@@ -110,8 +106,6 @@ sw4 { ...@@ -110,8 +106,6 @@ sw4 {
wifi_pwrseq: wifi_pwrseq { wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple"; compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_pwrseq_pin_orangepi>;
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */
}; };
}; };
...@@ -179,30 +173,6 @@ rtl8189: sdio_wifi@1 { ...@@ -179,30 +173,6 @@ rtl8189: sdio_wifi@1 {
}; };
}; };
&pio {
leds_opc: led_pins {
pins = "PA15";
function = "gpio_out";
};
};
&r_pio {
leds_r_opc: led_pins {
pins = "PL10";
function = "gpio_out";
};
sw_r_opc: key_pins {
pins = "PL3", "PL4";
function = "gpio_in";
};
wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin {
pins = "PL7";
function = "gpio_out";
};
};
&reg_usb1_vbus { &reg_usb1_vbus {
gpio = <&pio 6 13 GPIO_ACTIVE_HIGH>; gpio = <&pio 6 13 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
......
...@@ -74,8 +74,6 @@ hdmi_con_in: endpoint { ...@@ -74,8 +74,6 @@ hdmi_con_in: endpoint {
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_opc>, <&leds_r_opc>;
pwr_led { pwr_led {
label = "orangepi:green:pwr"; label = "orangepi:green:pwr";
...@@ -91,8 +89,6 @@ status_led { ...@@ -91,8 +89,6 @@ status_led {
r_gpio_keys { r_gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&sw_r_opc>;
sw4 { sw4 {
label = "sw4"; label = "sw4";
...@@ -160,25 +156,6 @@ &ohci2 { ...@@ -160,25 +156,6 @@ &ohci2 {
status = "okay"; status = "okay";
}; };
&pio {
leds_opc: led_pins {
pins = "PA15";
function = "gpio_out";
};
};
&r_pio {
leds_r_opc: led_pins {
pins = "PL10";
function = "gpio_out";
};
sw_r_opc: key_pins {
pins = "PL3";
function = "gpio_in";
};
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pins_a>;
......
...@@ -73,8 +73,6 @@ hdmi_con_in: endpoint { ...@@ -73,8 +73,6 @@ hdmi_con_in: endpoint {
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_opc>, <&leds_r_opc>;
pwr_led { pwr_led {
label = "orangepi:green:pwr"; label = "orangepi:green:pwr";
...@@ -90,8 +88,6 @@ status_led { ...@@ -90,8 +88,6 @@ status_led {
r_gpio_keys { r_gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&sw_r_opc>;
sw4 { sw4 {
label = "sw4"; label = "sw4";
...@@ -166,25 +162,6 @@ &ohci1 { ...@@ -166,25 +162,6 @@ &ohci1 {
status = "okay"; status = "okay";
}; };
&pio {
leds_opc: led_pins {
pins = "PA15";
function = "gpio_out";
};
};
&r_pio {
leds_r_opc: led_pins {
pins = "PL10";
function = "gpio_out";
};
sw_r_opc: key_pins {
pins = "PL3";
function = "gpio_in";
};
};
&reg_usb0_vbus { &reg_usb0_vbus {
gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
status = "okay"; status = "okay";
......
...@@ -73,8 +73,6 @@ hdmi_con_in: endpoint { ...@@ -73,8 +73,6 @@ hdmi_con_in: endpoint {
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_opc>, <&leds_r_opc>;
pwr_led { pwr_led {
label = "orangepi:green:pwr"; label = "orangepi:green:pwr";
...@@ -90,8 +88,6 @@ status_led { ...@@ -90,8 +88,6 @@ status_led {
r_gpio_keys { r_gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&sw_r_opc>;
sw4 { sw4 {
label = "sw4"; label = "sw4";
...@@ -179,13 +175,6 @@ &ohci3 { ...@@ -179,13 +175,6 @@ &ohci3 {
status = "okay"; status = "okay";
}; };
&pio {
leds_opc: led_pins {
pins = "PA15";
function = "gpio_out";
};
};
&r_i2c { &r_i2c {
status = "okay"; status = "okay";
...@@ -210,18 +199,6 @@ reg_vdd_cpux: regulator@65 { ...@@ -210,18 +199,6 @@ reg_vdd_cpux: regulator@65 {
}; };
}; };
&r_pio {
leds_r_opc: led_pins {
pins = "PL10";
function = "gpio_out";
};
sw_r_opc: key_pins {
pins = "PL3";
function = "gpio_in";
};
};
&reg_usb0_vbus { &reg_usb0_vbus {
gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
status = "okay"; status = "okay";
......
...@@ -63,8 +63,6 @@ reg_gmac_3v3: gmac-3v3 { ...@@ -63,8 +63,6 @@ reg_gmac_3v3: gmac-3v3 {
reg_usb3_vbus: usb3-vbus { reg_usb3_vbus: usb3-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&usb3_vbus_pin_a>;
regulator-name = "usb3-vbus"; regulator-name = "usb3-vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
...@@ -116,13 +114,6 @@ &mmc2_8bit_pins { ...@@ -116,13 +114,6 @@ &mmc2_8bit_pins {
bias-pull-up; bias-pull-up;
}; };
&pio {
usb3_vbus_pin_a: usb3_vbus_pin {
pins = "PG11";
function = "gpio_out";
};
};
&r_i2c { &r_i2c {
status = "okay"; status = "okay";
......
...@@ -54,16 +54,9 @@ panel: panel { ...@@ -54,16 +54,9 @@ panel: panel {
backlight = <&backlight>; backlight = <&backlight>;
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
power-supply = <&reg_dc1sw>; power-supply = <&reg_dc1sw>;
#address-cells = <1>;
#size-cells = <0>;
port@0 { port {
reg = <0>; panel_input: endpoint {
#address-cells = <1>;
#size-cells = <0>;
panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_lcd>; remote-endpoint = <&tcon0_out_lcd>;
}; };
}; };
...@@ -120,13 +113,6 @@ &tcon0 { ...@@ -120,13 +113,6 @@ &tcon0 {
status = "okay"; status = "okay";
}; };
&tcon0_out {
tcon0_out_lcd: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};
&usbphy { &usbphy {
usb1_vbus-supply = <&reg_dldo1>; usb1_vbus-supply = <&reg_dldo1>;
}; };
...@@ -34,8 +34,6 @@ &nfc { ...@@ -34,8 +34,6 @@ &nfc {
/* 2Gb Macronix MX30LF2G18AC (3V) */ /* 2Gb Macronix MX30LF2G18AC (3V) */
nand@0 { nand@0 {
#address-cells = <1>;
#size-cells = <1>;
reg = <0>; reg = <0>;
allwinner,rb = <0>; allwinner,rb = <0>;
nand-ecc-mode = "hw"; nand-ecc-mode = "hw";
......
...@@ -158,14 +158,6 @@ &ohci0 { ...@@ -158,14 +158,6 @@ &ohci0 {
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_det: usb0-id-detect-pin {
pins = "PD10";
function = "gpio_in";
bias-pull-up;
};
};
&r_rsb { &r_rsb {
status = "okay"; status = "okay";
...@@ -314,10 +306,8 @@ &usb_power_supply { ...@@ -314,10 +306,8 @@ &usb_power_supply {
&usbphy { &usbphy {
status = "okay"; status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&usb0_id_det>;
usb0_vbus-supply = <&reg_drivevbus>; usb0_vbus-supply = <&reg_drivevbus>;
usb0_id_det-gpios = <&pio 3 10 GPIO_ACTIVE_HIGH>; /* PD10 */ usb0_id_det-gpios = <&pio 3 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PD10 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb1_vbus-supply = <&reg_usb1_vbus>; usb1_vbus-supply = <&reg_usb1_vbus>;
}; };
...@@ -273,7 +273,6 @@ ehci1: usb@1c19000 { ...@@ -273,7 +273,6 @@ ehci1: usb@1c19000 {
clocks = <&ccu CLK_BUS_EHCI1>; clocks = <&ccu CLK_BUS_EHCI1>;
resets = <&ccu RST_BUS_EHCI1>; resets = <&ccu RST_BUS_EHCI1>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -285,7 +284,6 @@ ohci1: usb@1c19400 { ...@@ -285,7 +284,6 @@ ohci1: usb@1c19400 {
<&ccu CLK_USB_OHCI1>; <&ccu CLK_USB_OHCI1>;
resets = <&ccu RST_BUS_OHCI1>; resets = <&ccu RST_BUS_OHCI1>;
phys = <&usbphy 1>; phys = <&usbphy 1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -296,7 +294,6 @@ ehci2: usb@1c1c000 { ...@@ -296,7 +294,6 @@ ehci2: usb@1c1c000 {
clocks = <&ccu CLK_BUS_EHCI2>; clocks = <&ccu CLK_BUS_EHCI2>;
resets = <&ccu RST_BUS_EHCI2>; resets = <&ccu RST_BUS_EHCI2>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -308,7 +305,6 @@ ohci2: usb@1c1c400 { ...@@ -308,7 +305,6 @@ ohci2: usb@1c1c400 {
<&ccu CLK_USB_OHCI2>; <&ccu CLK_USB_OHCI2>;
resets = <&ccu RST_BUS_OHCI2>; resets = <&ccu RST_BUS_OHCI2>;
phys = <&usbphy 2>; phys = <&usbphy 2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -562,9 +558,7 @@ ahci: sata@1c18000 { ...@@ -562,9 +558,7 @@ ahci: sata@1c18000 {
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>; clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>;
resets = <&ccu RST_BUS_SATA>; resets = <&ccu RST_BUS_SATA>;
resets-name = "ahci"; reset-names = "ahci";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled"; status = "disabled";
}; };
...@@ -614,12 +608,9 @@ ports { ...@@ -614,12 +608,9 @@ ports {
#size-cells = <0>; #size-cells = <0>;
tcon_top_mixer0_in: port@0 { tcon_top_mixer0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
tcon_top_mixer0_in_mixer0: endpoint@0 { tcon_top_mixer0_in_mixer0: endpoint {
reg = <0>;
remote-endpoint = <&mixer0_out_tcon_top>; remote-endpoint = <&mixer0_out_tcon_top>;
}; };
}; };
......
...@@ -86,14 +86,6 @@ &mmc0 { ...@@ -86,14 +86,6 @@ &mmc0 {
status = "okay"; status = "okay";
}; };
&pio {
usb0_id_detect_pin: usb0-id-detect-pin {
pins = "PH8";
function = "gpio_in";
bias-pull-up;
};
};
&r_rsb { &r_rsb {
status = "okay"; status = "okay";
...@@ -224,9 +216,7 @@ &usb_power_supply { ...@@ -224,9 +216,7 @@ &usb_power_supply {
}; };
&usbphy { &usbphy {
pinctrl-names = "default"; usb0_id_det-gpios = <&pio 7 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH8 */
pinctrl-0 = <&usb0_id_detect_pin>;
usb0_id_det-gpio = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
usb0_vbus_power-supply = <&usb_power_supply>; usb0_vbus_power-supply = <&usb_power_supply>;
usb0_vbus-supply = <&reg_drivevbus>; usb0_vbus-supply = <&reg_drivevbus>;
status = "okay"; status = "okay";
......
...@@ -96,6 +96,6 @@ &usb_otg { ...@@ -96,6 +96,6 @@ &usb_otg {
}; };
&usbphy { &usbphy {
usb0_id_det-gpio = <&pio 5 6 GPIO_ACTIVE_HIGH>; usb0_id_det-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
...@@ -129,12 +129,9 @@ ports { ...@@ -129,12 +129,9 @@ ports {
#size-cells = <0>; #size-cells = <0>;
mixer0_out: port@1 { mixer0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
mixer0_out_tcon0: endpoint@0 { mixer0_out_tcon0: endpoint {
reg = <0>;
remote-endpoint = <&tcon0_in_mixer0>; remote-endpoint = <&tcon0_in_mixer0>;
}; };
}; };
...@@ -150,6 +147,7 @@ tcon0: lcd-controller@1c0c000 { ...@@ -150,6 +147,7 @@ tcon0: lcd-controller@1c0c000 {
clock-names = "ahb", clock-names = "ahb",
"tcon-ch0"; "tcon-ch0";
clock-output-names = "tcon-pixel-clock"; clock-output-names = "tcon-pixel-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_TCON0>; resets = <&ccu RST_BUS_TCON0>;
reset-names = "lcd"; reset-names = "lcd";
status = "disabled"; status = "disabled";
...@@ -159,12 +157,9 @@ ports { ...@@ -159,12 +157,9 @@ ports {
#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_mixer0: endpoint@0 { tcon0_in_mixer0: endpoint {
reg = <0>;
remote-endpoint = <&mixer0_out_tcon0>; remote-endpoint = <&mixer0_out_tcon0>;
}; };
}; };
...@@ -419,7 +414,7 @@ spi0: spi@1c68000 { ...@@ -419,7 +414,7 @@ spi0: spi@1c68000 {
}; };
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 0x1000>, <0x01c82000 0x1000>,
<0x01c84000 0x2000>, <0x01c84000 0x2000>,
......
...@@ -105,6 +105,24 @@ axp22x: pmic@34 { ...@@ -105,6 +105,24 @@ axp22x: pmic@34 {
#include "axp22x.dtsi" #include "axp22x.dtsi"
&mmc0 {
vmmc-supply = <&reg_dcdc1>;
bus-width = <4>;
cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
status = "okay";
};
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pg_pins>;
vmmc-supply = <&reg_dldo2>;
vqmmc-supply = <&reg_dldo1>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay";
};
&reg_aldo3 { &reg_aldo3 {
regulator-always-on; regulator-always-on;
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2700000>;
...@@ -152,24 +170,6 @@ &reg_dldo2 { ...@@ -152,24 +170,6 @@ &reg_dldo2 {
regulator-name = "vcc-wifi"; regulator-name = "vcc-wifi";
}; };
&mmc0 {
vmmc-supply = <&reg_dcdc1>;
bus-width = <4>;
cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
status = "okay";
};
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pg_pins>;
vmmc-supply = <&reg_dldo2>;
vqmmc-supply = <&reg_dldo1>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>; pinctrl-0 = <&uart0_pb_pins>;
......
...@@ -89,31 +89,23 @@ vga_con_in: endpoint { ...@@ -89,31 +89,23 @@ vga_con_in: endpoint {
vga-dac { vga-dac {
compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac"; compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
vdd-supply = <&reg_dcdc1>; vdd-supply = <&reg_dcdc1>;
#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>;
}; };
}; };
...@@ -502,8 +494,7 @@ &tcon0 { ...@@ -502,8 +494,7 @@ &tcon0 {
}; };
&tcon0_out { &tcon0_out {
tcon0_out_vga: endpoint@0 { tcon0_out_vga: endpoint {
reg = <0>;
remote-endpoint = <&vga_dac_in>; remote-endpoint = <&vga_dac_in>;
}; };
}; };
......
...@@ -82,7 +82,7 @@ led4 { ...@@ -82,7 +82,7 @@ led4 {
reg_usb1_vbus: usb1-vbus { reg_usb1_vbus: usb1-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default"; regulator-name = "usb1-vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
...@@ -91,7 +91,7 @@ reg_usb1_vbus: usb1-vbus { ...@@ -91,7 +91,7 @@ reg_usb1_vbus: usb1-vbus {
reg_usb3_vbus: usb3-vbus { reg_usb3_vbus: usb3-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default"; regulator-name = "usb3-vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
......
...@@ -289,7 +289,7 @@ de: display-engine { ...@@ -289,7 +289,7 @@ de: display-engine {
status = "disabled"; status = "disabled";
}; };
soc { soc@20000 {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -342,7 +342,6 @@ ehci0: usb@a00000 { ...@@ -342,7 +342,6 @@ ehci0: usb@a00000 {
clocks = <&usb_clocks CLK_BUS_HCI0>; clocks = <&usb_clocks CLK_BUS_HCI0>;
resets = <&usb_clocks RST_USB0_HCI>; resets = <&usb_clocks RST_USB0_HCI>;
phys = <&usbphy1>; phys = <&usbphy1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -354,7 +353,6 @@ ohci0: usb@a00400 { ...@@ -354,7 +353,6 @@ ohci0: usb@a00400 {
<&usb_clocks CLK_USB_OHCI0>; <&usb_clocks CLK_USB_OHCI0>;
resets = <&usb_clocks RST_USB0_HCI>; resets = <&usb_clocks RST_USB0_HCI>;
phys = <&usbphy1>; phys = <&usbphy1>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -376,7 +374,6 @@ ehci1: usb@a01000 { ...@@ -376,7 +374,6 @@ ehci1: usb@a01000 {
clocks = <&usb_clocks CLK_BUS_HCI1>; clocks = <&usb_clocks CLK_BUS_HCI1>;
resets = <&usb_clocks RST_USB1_HCI>; resets = <&usb_clocks RST_USB1_HCI>;
phys = <&usbphy2>; phys = <&usbphy2>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -406,7 +403,6 @@ ehci2: usb@a02000 { ...@@ -406,7 +403,6 @@ ehci2: usb@a02000 {
clocks = <&usb_clocks CLK_BUS_HCI2>; clocks = <&usb_clocks CLK_BUS_HCI2>;
resets = <&usb_clocks RST_USB2_HCI>; resets = <&usb_clocks RST_USB2_HCI>;
phys = <&usbphy3>; phys = <&usbphy3>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -418,7 +414,6 @@ ohci2: usb@a02400 { ...@@ -418,7 +414,6 @@ ohci2: usb@a02400 {
<&usb_clocks CLK_USB_OHCI2>; <&usb_clocks CLK_USB_OHCI2>;
resets = <&usb_clocks RST_USB2_HCI>; resets = <&usb_clocks RST_USB2_HCI>;
phys = <&usbphy3>; phys = <&usbphy3>;
phy-names = "usb";
status = "disabled"; status = "disabled";
}; };
...@@ -527,7 +522,7 @@ mmc_config_clk: clk@1c13000 { ...@@ -527,7 +522,7 @@ mmc_config_clk: clk@1c13000 {
}; };
gic: interrupt-controller@1c41000 { gic: interrupt-controller@1c41000 {
compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; compatible = "arm,gic-400";
reg = <0x01c41000 0x1000>, reg = <0x01c41000 0x1000>,
<0x01c42000 0x2000>, <0x01c42000 0x2000>,
<0x01c44000 0x2000>, <0x01c44000 0x2000>,
...@@ -596,12 +591,9 @@ ports { ...@@ -596,12 +591,9 @@ ports {
#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_deu0: endpoint@0 { fe0_out_deu0: endpoint {
reg = <0>;
remote-endpoint = <&deu0_in_fe0>; remote-endpoint = <&deu0_in_fe0>;
}; };
}; };
...@@ -623,12 +615,9 @@ ports { ...@@ -623,12 +615,9 @@ ports {
#size-cells = <0>; #size-cells = <0>;
fe1_out: port@1 { fe1_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
fe1_out_deu1: endpoint@0 { fe1_out_deu1: endpoint {
reg = <0>;
remote-endpoint = <&deu1_in_fe1>; remote-endpoint = <&deu1_in_fe1>;
}; };
}; };
...@@ -666,12 +655,9 @@ be0_in_deu1: endpoint@1 { ...@@ -666,12 +655,9 @@ be0_in_deu1: endpoint@1 {
}; };
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>;
}; };
}; };
...@@ -709,12 +695,9 @@ be1_in_deu1: endpoint@1 { ...@@ -709,12 +695,9 @@ be1_in_deu1: endpoint@1 {
}; };
be1_out: port@1 { be1_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
be1_out_drc1: endpoint@0 { be1_out_drc1: endpoint {
reg = <0>;
remote-endpoint = <&drc1_in_be1>; remote-endpoint = <&drc1_in_be1>;
}; };
}; };
...@@ -738,12 +721,9 @@ ports { ...@@ -738,12 +721,9 @@ ports {
#size-cells = <0>; #size-cells = <0>;
deu0_in: port@0 { deu0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
deu0_in_fe0: endpoint@0 { deu0_in_fe0: endpoint {
reg = <0>;
remote-endpoint = <&fe0_out_deu0>; remote-endpoint = <&fe0_out_deu0>;
}; };
}; };
...@@ -783,12 +763,9 @@ ports { ...@@ -783,12 +763,9 @@ ports {
#size-cells = <0>; #size-cells = <0>;
deu1_in: port@0 { deu1_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
deu1_in_fe1: endpoint@0 { deu1_in_fe1: endpoint {
reg = <0>;
remote-endpoint = <&fe1_out_deu1>; remote-endpoint = <&fe1_out_deu1>;
}; };
}; };
...@@ -828,23 +805,17 @@ ports { ...@@ -828,23 +805,17 @@ ports {
#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>;
}; };
}; };
drc0_out: port@1 { drc0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
drc0_out_tcon0: endpoint@0 { drc0_out_tcon0: endpoint {
reg = <0>;
remote-endpoint = <&tcon0_in_drc0>; remote-endpoint = <&tcon0_in_drc0>;
}; };
}; };
...@@ -868,23 +839,17 @@ ports { ...@@ -868,23 +839,17 @@ ports {
#size-cells = <0>; #size-cells = <0>;
drc1_in: port@0 { drc1_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
drc1_in_be1: endpoint@0 { drc1_in_be1: endpoint {
reg = <0>;
remote-endpoint = <&be1_out_drc1>; remote-endpoint = <&be1_out_drc1>;
}; };
}; };
drc1_out: port@1 { drc1_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
drc1_out_tcon1: endpoint@0 { drc1_out_tcon1: endpoint {
reg = <0>;
remote-endpoint = <&tcon1_in_drc1>; remote-endpoint = <&tcon1_in_drc1>;
}; };
}; };
...@@ -900,25 +865,21 @@ tcon0: lcd-controller@3c00000 { ...@@ -900,25 +865,21 @@ tcon0: lcd-controller@3c00000 {
resets = <&ccu RST_BUS_LCD0>, <&ccu RST_BUS_EDP>; resets = <&ccu RST_BUS_LCD0>, <&ccu RST_BUS_EDP>;
reset-names = "lcd", "edp"; reset-names = "lcd", "edp";
clock-output-names = "tcon0-pixel-clock"; clock-output-names = "tcon0-pixel-clock";
#clock-cells = <0>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#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_drc0: endpoint@0 { tcon0_in_drc0: endpoint {
reg = <0>;
remote-endpoint = <&drc0_out_tcon0>; remote-endpoint = <&drc0_out_tcon0>;
}; };
}; };
tcon0_out: port@1 { tcon0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
...@@ -938,19 +899,14 @@ ports { ...@@ -938,19 +899,14 @@ ports {
#size-cells = <0>; #size-cells = <0>;
tcon1_in: port@0 { tcon1_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
tcon1_in_drc1: endpoint@0 { tcon1_in_drc1: endpoint {
reg = <0>;
remote-endpoint = <&drc1_out_tcon1>; remote-endpoint = <&drc1_out_tcon1>;
}; };
}; };
tcon1_out: port@1 { tcon1_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
}; };
}; };
...@@ -997,15 +953,13 @@ pio: pinctrl@6000800 { ...@@ -997,15 +953,13 @@ pio: pinctrl@6000800 {
gpio-controller; gpio-controller;
interrupt-controller; interrupt-controller;
#interrupt-cells = <3>; #interrupt-cells = <3>;
#size-cells = <0>;
#gpio-cells = <3>; #gpio-cells = <3>;
gmac_rgmii_pins: gmac-rgmii-pins { gmac_rgmii_pins: gmac-rgmii-pins {
allwinner,pins = "PA0", "PA1", "PA2", "PA3", pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5",
"PA4", "PA5", "PA7", "PA8", "PA7", "PA8", "PA9", "PA10", "PA12",
"PA9", "PA10", "PA12", "PA13", "PA13", "PA15", "PA16", "PA17";
"PA15", "PA16", "PA17"; function = "gmac";
allwinner,function = "gmac";
/* /*
* data lines in RGMII mode use DDR mode * data lines in RGMII mode use DDR mode
* and need a higher signal drive strength * and need a higher signal drive strength
......
...@@ -89,6 +89,7 @@ static bool sunxi_core_is_cortex_a15(unsigned int core, unsigned int cluster) ...@@ -89,6 +89,7 @@ static bool sunxi_core_is_cortex_a15(unsigned int core, unsigned int cluster)
{ {
struct device_node *node; struct device_node *node;
int cpu = cluster * SUNXI_CPUS_PER_CLUSTER + core; int cpu = cluster * SUNXI_CPUS_PER_CLUSTER + core;
bool is_compatible;
node = of_cpu_device_node_get(cpu); node = of_cpu_device_node_get(cpu);
...@@ -107,7 +108,9 @@ static bool sunxi_core_is_cortex_a15(unsigned int core, unsigned int cluster) ...@@ -107,7 +108,9 @@ static bool sunxi_core_is_cortex_a15(unsigned int core, unsigned int cluster)
return false; return false;
} }
return of_device_is_compatible(node, "arm,cortex-a15"); is_compatible = of_device_is_compatible(node, "arm,cortex-a15");
of_node_put(node);
return is_compatible;
} }
static int sunxi_cpu_power_switch_set(unsigned int cpu, unsigned int cluster, static int sunxi_cpu_power_switch_set(unsigned int cpu, unsigned int cluster,
......
...@@ -50,6 +50,7 @@ static void __init sun6i_smp_prepare_cpus(unsigned int max_cpus) ...@@ -50,6 +50,7 @@ static void __init sun6i_smp_prepare_cpus(unsigned int max_cpus)
} }
prcm_membase = of_iomap(node, 0); prcm_membase = of_iomap(node, 0);
of_node_put(node);
if (!prcm_membase) { if (!prcm_membase) {
pr_err("Couldn't map A31 PRCM registers\n"); pr_err("Couldn't map A31 PRCM registers\n");
return; return;
...@@ -63,6 +64,7 @@ static void __init sun6i_smp_prepare_cpus(unsigned int max_cpus) ...@@ -63,6 +64,7 @@ static void __init sun6i_smp_prepare_cpus(unsigned int max_cpus)
} }
cpucfg_membase = of_iomap(node, 0); cpucfg_membase = of_iomap(node, 0);
of_node_put(node);
if (!cpucfg_membase) if (!cpucfg_membase)
pr_err("Couldn't map A31 CPU config registers\n"); pr_err("Couldn't map A31 CPU config registers\n");
...@@ -133,6 +135,7 @@ static void __init sun8i_smp_prepare_cpus(unsigned int max_cpus) ...@@ -133,6 +135,7 @@ static void __init sun8i_smp_prepare_cpus(unsigned int max_cpus)
} }
prcm_membase = of_iomap(node, 0); prcm_membase = of_iomap(node, 0);
of_node_put(node);
if (!prcm_membase) { if (!prcm_membase) {
pr_err("Couldn't map A23 PRCM registers\n"); pr_err("Couldn't map A23 PRCM registers\n");
return; return;
...@@ -146,6 +149,7 @@ static void __init sun8i_smp_prepare_cpus(unsigned int max_cpus) ...@@ -146,6 +149,7 @@ static void __init sun8i_smp_prepare_cpus(unsigned int max_cpus)
} }
cpucfg_membase = of_iomap(node, 0); cpucfg_membase = of_iomap(node, 0);
of_node_put(node);
if (!cpucfg_membase) if (!cpucfg_membase)
pr_err("Couldn't map A23 CPU config registers\n"); pr_err("Couldn't map A23 CPU config registers\n");
......
...@@ -104,7 +104,7 @@ &codec { ...@@ -104,7 +104,7 @@ &codec {
}; };
&codec_analog { &codec_analog {
hpvcc-supply = <&reg_eldo1>; cpvdd-supply = <&reg_eldo1>;
status = "okay"; status = "okay";
}; };
......
...@@ -80,7 +80,7 @@ &codec { ...@@ -80,7 +80,7 @@ &codec {
}; };
&codec_analog { &codec_analog {
hpvcc-supply = <&reg_eldo1>; cpvdd-supply = <&reg_eldo1>;
status = "okay"; status = "okay";
}; };
......
...@@ -94,7 +94,7 @@ &codec { ...@@ -94,7 +94,7 @@ &codec {
}; };
&codec_analog { &codec_analog {
hpvcc-supply = <&reg_eldo1>; cpvdd-supply = <&reg_eldo1>;
status = "okay"; status = "okay";
}; };
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
&codec_analog { &codec_analog {
hpvcc-supply = <&reg_eldo1>; cpvdd-supply = <&reg_eldo1>;
}; };
&mmc0 { &mmc0 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment