Commit 0d310a37 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'sunxi-dt-for-5.13-1' of...

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

Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
  - New secondary interrupt controller binding to support the wake-up
  - Use the RSB bus instead of I2C for the PMIC on the H6
  - HDMI support for the BananaPi M2-Zero
  - New board: Topwise A721

* tag 'sunxi-dt-for-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: dts: sun8i: h3: beelink-x2: Add power button
  arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC connection
  ARM: dts: sunxi: h2-plus-bananapi-m2-zero: Add HDMI out
  ARM: dts: sun4i: Add support for Topwise A721 tablet
  dt-bindings: arm: Add Topwise A721
  arm64: dts: allwinner: Move wakeup-capable IRQs to r_intc
  arm64: dts: allwinner: Use the new r_intc binding
  ARM: dts: sunxi: Move wakeup-capable IRQs to r_intc
  ARM: dts: sunxi: h3/h5: Add r_intc node
  ARM: dts: sunxi: Use the new r_intc binding

Link: https://lore.kernel.org/r/8a3e3271-bebe-4d27-a9e7-7b7a6311a38d.lettre@localhostSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 85af259b d580e6f0
...@@ -802,6 +802,11 @@ properties: ...@@ -802,6 +802,11 @@ properties:
- const: tbs-biometrics,a711 - const: tbs-biometrics,a711
- const: allwinner,sun8i-a83t - const: allwinner,sun8i-a83t
- description: Topwise A721 Tablet
items:
- const: topwise,a721
- const: allwinner,sun4i-a10
- description: Utoo P66 - description: Utoo P66
items: items:
- const: utoo,p66 - const: utoo,p66
......
...@@ -1111,7 +1111,8 @@ dtb-$(CONFIG_MACH_SUN4I) += \ ...@@ -1111,7 +1111,8 @@ dtb-$(CONFIG_MACH_SUN4I) += \
sun4i-a10-olinuxino-lime.dtb \ sun4i-a10-olinuxino-lime.dtb \
sun4i-a10-pcduino.dtb \ sun4i-a10-pcduino.dtb \
sun4i-a10-pcduino2.dtb \ sun4i-a10-pcduino2.dtb \
sun4i-a10-pov-protab2-ips9.dtb sun4i-a10-pov-protab2-ips9.dtb \
sun4i-a10-topwise-a721.dtb
dtb-$(CONFIG_MACH_SUN5I) += \ dtb-$(CONFIG_MACH_SUN5I) += \
sun5i-a10s-auxtek-t003.dtb \ sun5i-a10s-auxtek-t003.dtb \
sun5i-a10s-auxtek-t004.dtb \ sun5i-a10s-auxtek-t004.dtb \
......
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2020 Pascal Roeleven <dev@pascalroeleven.nl>
*/
/dts-v1/;
#include "sun4i-a10.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pwm/pwm.h>
/ {
model = "Topwise A721";
compatible = "topwise,a721", "allwinner,sun4i-a10";
aliases {
serial0 = &uart0;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 100000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_vbat>;
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
brightness-levels = <0 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>;
};
chosen {
stdout-path = "serial0:115200n8";
};
panel {
compatible = "starry,kr070pe2t";
backlight = <&backlight>;
power-supply = <&reg_lcd_power>;
port {
panel_input: endpoint {
remote-endpoint = <&tcon0_out_panel>;
};
};
};
reg_lcd_power: reg-lcd-power {
compatible = "regulator-fixed";
regulator-name = "reg-lcd-power";
gpio = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
enable-active-high;
};
reg_vbat: reg-vbat {
compatible = "regulator-fixed";
regulator-name = "vbat";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
};
};
&codec {
status = "okay";
};
&cpu0 {
cpu-supply = <&reg_dcdc2>;
};
&de {
status = "okay";
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&i2c0 {
status = "okay";
axp209: pmic@34 {
reg = <0x34>;
interrupts = <0>;
};
};
#include "axp209.dtsi"
&ac_power_supply {
status = "okay";
};
&battery_power_supply {
status = "okay";
};
&i2c1 {
status = "okay";
accelerometer@4c {
compatible = "fsl,mma7660";
reg = <0x4c>;
};
};
&i2c2 {
status = "okay";
touchscreen@38 {
compatible = "edt,edt-ft5406";
reg = <0x38>;
interrupt-parent = <&pio>;
interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>;
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
vcc-supply = <&reg_vcc3v3>;
};
};
&lradc {
vref-supply = <&reg_ldo2>;
status = "okay";
button-571 {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
channel = <0>;
voltage = <571428>;
};
button-761 {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
channel = <0>;
voltage = <761904>;
};
};
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH01 */
status = "okay";
};
&ohci0 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&otg_sram {
status = "okay";
};
&pio {
vcc-pb-supply = <&reg_vcc3v3>;
vcc-pf-supply = <&reg_vcc3v3>;
vcc-ph-supply = <&reg_vcc3v3>;
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>;
status = "okay";
};
&reg_dcdc2 {
regulator-always-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1400000>;
regulator-name = "vdd-cpu";
};
&reg_dcdc3 {
regulator-always-on;
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1250000>;
regulator-name = "vdd-int-dll";
};
&reg_ldo1 {
regulator-name = "vdd-rtc";
};
&reg_ldo2 {
regulator-always-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "avcc";
};
&reg_usb0_vbus {
status = "okay";
};
&reg_usb1_vbus {
status = "okay";
};
&reg_usb2_vbus {
status = "okay";
};
&tcon0_out {
tcon0_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usb_power_supply {
status = "okay";
};
&usbphy {
usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
usb0_vbus-supply = <&reg_usb0_vbus>;
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay";
};
...@@ -227,7 +227,7 @@ axp22x: pmic@68 { ...@@ -227,7 +227,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
}; };
......
...@@ -116,7 +116,7 @@ axp22x: pmic@68 { ...@@ -116,7 +116,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -116,7 +116,7 @@ axp22x: pmic@68 { ...@@ -116,7 +116,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -611,6 +611,7 @@ ccu: clock@1c20000 { ...@@ -611,6 +611,7 @@ ccu: clock@1c20000 {
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
compatible = "allwinner,sun6i-a31-pinctrl"; compatible = "allwinner,sun6i-a31-pinctrl";
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
...@@ -802,6 +803,7 @@ i2s1: i2s@1c22400 { ...@@ -802,6 +803,7 @@ i2s1: i2s@1c22400 {
lradc: lradc@1c22800 { lradc: lradc@1c22800 {
compatible = "allwinner,sun4i-a10-lradc-keys"; compatible = "allwinner,sun4i-a10-lradc-keys";
reg = <0x01c22800 0x100>; reg = <0x01c22800 0x100>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
}; };
...@@ -1299,6 +1301,7 @@ rtc: rtc@1f00000 { ...@@ -1299,6 +1301,7 @@ rtc: rtc@1f00000 {
#clock-cells = <1>; #clock-cells = <1>;
compatible = "allwinner,sun6i-a31-rtc"; compatible = "allwinner,sun6i-a31-rtc";
reg = <0x01f00000 0x54>; reg = <0x01f00000 0x54>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc32k>; clocks = <&osc32k>;
...@@ -1308,7 +1311,7 @@ rtc: rtc@1f00000 { ...@@ -1308,7 +1311,7 @@ rtc: rtc@1f00000 {
r_intc: interrupt-controller@1f00c00 { r_intc: interrupt-controller@1f00c00 {
compatible = "allwinner,sun6i-a31-r-intc"; compatible = "allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x01f00c00 0x400>; reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
}; };
...@@ -1383,6 +1386,7 @@ ir: ir@1f02000 { ...@@ -1383,6 +1386,7 @@ ir: ir@1f02000 {
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun6i-a31-r-pinctrl"; compatible = "allwinner,sun6i-a31-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>; clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>;
......
...@@ -159,7 +159,7 @@ axp22x: pmic@68 { ...@@ -159,7 +159,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
}; };
......
...@@ -79,7 +79,7 @@ axp22x: pmic@68 { ...@@ -79,7 +79,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -149,7 +149,7 @@ axp22x: pmic@68 { ...@@ -149,7 +149,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
......
...@@ -99,7 +99,7 @@ axp22x: pmic@68 { ...@@ -99,7 +99,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -80,7 +80,7 @@ axp22x: pmic@68 { ...@@ -80,7 +80,7 @@ axp22x: pmic@68 {
compatible = "x-powers,axp221"; compatible = "x-powers,axp221";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
drivevbus-supply = <&reg_vcc5v0>; drivevbus-supply = <&reg_vcc5v0>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
......
...@@ -338,6 +338,7 @@ ccu: clock@1c20000 { ...@@ -338,6 +338,7 @@ ccu: clock@1c20000 {
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
/* compatible gets set in SoC specific dtsi file */ /* compatible gets set in SoC specific dtsi file */
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupt-parent = <&r_intc>;
/* interrupts get set in SoC specific dtsi file */ /* interrupts get set in SoC specific dtsi file */
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>; clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
...@@ -473,6 +474,7 @@ pwm: pwm@1c21400 { ...@@ -473,6 +474,7 @@ pwm: pwm@1c21400 {
lradc: lradc@1c22800 { lradc: lradc@1c22800 {
compatible = "allwinner,sun4i-a10-lradc-keys"; compatible = "allwinner,sun4i-a10-lradc-keys";
reg = <0x01c22800 0x100>; reg = <0x01c22800 0x100>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
}; };
...@@ -709,6 +711,7 @@ drc0_out_tcon0: endpoint { ...@@ -709,6 +711,7 @@ drc0_out_tcon0: endpoint {
rtc: rtc@1f00000 { rtc: rtc@1f00000 {
compatible = "allwinner,sun8i-a23-rtc"; compatible = "allwinner,sun8i-a23-rtc";
reg = <0x01f00000 0x400>; reg = <0x01f00000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clock-output-names = "osc32k", "osc32k-out"; clock-output-names = "osc32k", "osc32k-out";
...@@ -719,7 +722,7 @@ rtc: rtc@1f00000 { ...@@ -719,7 +722,7 @@ rtc: rtc@1f00000 {
r_intc: interrupt-controller@1f00c00 { r_intc: interrupt-controller@1f00c00 {
compatible = "allwinner,sun6i-a31-r-intc"; compatible = "allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x01f00c00 0x400>; reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
}; };
...@@ -805,6 +808,7 @@ r_i2c: i2c@1f02400 { ...@@ -805,6 +808,7 @@ r_i2c: i2c@1f02400 {
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun8i-a23-r-pinctrl"; compatible = "allwinner,sun8i-a23-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>; clocks = <&apb0_gates 0>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
......
...@@ -99,7 +99,7 @@ axp22x: pmic@3a3 { ...@@ -99,7 +99,7 @@ axp22x: pmic@3a3 {
compatible = "x-powers,axp223"; compatible = "x-powers,axp223";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
......
...@@ -166,7 +166,7 @@ axp22x: pmic@3a3 { ...@@ -166,7 +166,7 @@ axp22x: pmic@3a3 {
compatible = "x-powers,axp223"; compatible = "x-powers,axp223";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
}; };
}; };
......
...@@ -122,7 +122,7 @@ axp81x: pmic@3a3 { ...@@ -122,7 +122,7 @@ axp81x: pmic@3a3 {
compatible = "x-powers,axp818", "x-powers,axp813"; compatible = "x-powers,axp818", "x-powers,axp813";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
swin-supply = <&reg_dcdc1>; swin-supply = <&reg_dcdc1>;
}; };
...@@ -142,7 +142,7 @@ ac100_codec: codec { ...@@ -142,7 +142,7 @@ ac100_codec: codec {
ac100_rtc: rtc { ac100_rtc: rtc {
compatible = "x-powers,ac100-rtc"; compatible = "x-powers,ac100-rtc";
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
clocks = <&ac100_codec>; clocks = <&ac100_codec>;
#clock-cells = <1>; #clock-cells = <1>;
clock-output-names = "cko1_rtc", clock-output-names = "cko1_rtc",
......
...@@ -203,7 +203,7 @@ axp81x: pmic@3a3 { ...@@ -203,7 +203,7 @@ axp81x: pmic@3a3 {
compatible = "x-powers,axp813"; compatible = "x-powers,axp813";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
fldoin-supply = <&reg_dcdc5>; fldoin-supply = <&reg_dcdc5>;
swin-supply = <&reg_dcdc1>; swin-supply = <&reg_dcdc1>;
...@@ -225,7 +225,7 @@ ac100_codec: codec { ...@@ -225,7 +225,7 @@ ac100_codec: codec {
ac100_rtc: rtc { ac100_rtc: rtc {
compatible = "x-powers,ac100-rtc"; compatible = "x-powers,ac100-rtc";
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
clocks = <&ac100_codec>; clocks = <&ac100_codec>;
#clock-cells = <1>; #clock-cells = <1>;
clock-output-names = "cko1_rtc", clock-output-names = "cko1_rtc",
......
...@@ -239,7 +239,7 @@ axp81x: pmic@3a3 { ...@@ -239,7 +239,7 @@ axp81x: pmic@3a3 {
compatible = "x-powers,axp818", "x-powers,axp813"; compatible = "x-powers,axp818", "x-powers,axp813";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
swin-supply = <&reg_dcdc1>; swin-supply = <&reg_dcdc1>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
...@@ -260,7 +260,7 @@ ac100_codec: codec { ...@@ -260,7 +260,7 @@ ac100_codec: codec {
ac100_rtc: rtc { ac100_rtc: rtc {
compatible = "x-powers,ac100-rtc"; compatible = "x-powers,ac100-rtc";
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
clocks = <&ac100_codec>; clocks = <&ac100_codec>;
#clock-cells = <1>; #clock-cells = <1>;
clock-output-names = "cko1_rtc", clock-output-names = "cko1_rtc",
......
...@@ -263,7 +263,7 @@ axp81x: pmic@3a3 { ...@@ -263,7 +263,7 @@ axp81x: pmic@3a3 {
compatible = "x-powers,axp813"; compatible = "x-powers,axp813";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
swin-supply = <&reg_dcdc1>; swin-supply = <&reg_dcdc1>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
...@@ -283,7 +283,7 @@ ac100_codec: codec { ...@@ -283,7 +283,7 @@ ac100_codec: codec {
ac100_rtc: rtc { ac100_rtc: rtc {
compatible = "x-powers,ac100-rtc"; compatible = "x-powers,ac100-rtc";
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
clocks = <&ac100_codec>; clocks = <&ac100_codec>;
#clock-cells = <1>; #clock-cells = <1>;
clock-output-names = "cko1_rtc", clock-output-names = "cko1_rtc",
......
...@@ -708,6 +708,7 @@ ccu: clock@1c20000 { ...@@ -708,6 +708,7 @@ ccu: clock@1c20000 {
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
compatible = "allwinner,sun8i-a83t-pinctrl"; compatible = "allwinner,sun8i-a83t-pinctrl";
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
...@@ -1111,7 +1112,7 @@ r_intc: interrupt-controller@1f00c00 { ...@@ -1111,7 +1112,7 @@ r_intc: interrupt-controller@1f00c00 {
compatible = "allwinner,sun8i-a83t-r-intc", compatible = "allwinner,sun8i-a83t-r-intc",
"allwinner,sun6i-a31-r-intc"; "allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x01f00c00 0x400>; reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
}; };
...@@ -1147,6 +1148,7 @@ r_cir: ir@1f02000 { ...@@ -1147,6 +1148,7 @@ r_cir: ir@1f02000 {
r_lradc: lradc@1f03c00 { r_lradc: lradc@1f03c00 {
compatible = "allwinner,sun8i-a83t-r-lradc"; compatible = "allwinner,sun8i-a83t-r-lradc";
reg = <0x01f03c00 0x100>; reg = <0x01f03c00 0x100>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
}; };
...@@ -1154,6 +1156,7 @@ r_lradc: lradc@1f03c00 { ...@@ -1154,6 +1156,7 @@ r_lradc: lradc@1f03c00 {
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>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>,
<&osc16Md512>; <&osc16Md512>;
......
...@@ -26,6 +26,17 @@ chosen { ...@@ -26,6 +26,17 @@ chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "c";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
...@@ -103,10 +114,24 @@ &cpu0 { ...@@ -103,10 +114,24 @@ &cpu0 {
cpu-supply = <&reg_vdd_cpux>; cpu-supply = <&reg_vdd_cpux>;
}; };
&de {
status = "okay";
};
&ehci0 { &ehci0 {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
......
...@@ -111,6 +111,17 @@ spdif_out: spdif-out { ...@@ -111,6 +111,17 @@ spdif_out: spdif-out {
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
compatible = "linux,spdif-dit"; compatible = "linux,spdif-dit";
}; };
r-gpio-keys {
compatible = "gpio-keys";
power {
label = "power";
linux,code = <KEY_POWER>;
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
wakeup-source;
};
};
}; };
&de { &de {
......
...@@ -164,7 +164,7 @@ axp22x: pmic@3a3 { ...@@ -164,7 +164,7 @@ axp22x: pmic@3a3 {
compatible = "x-powers,axp223"; compatible = "x-powers,axp223";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
......
...@@ -165,7 +165,7 @@ axp22x: pmic@3a3 { ...@@ -165,7 +165,7 @@ axp22x: pmic@3a3 {
compatible = "x-powers,axp223"; compatible = "x-powers,axp223";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
drivevbus-supply = <&reg_vcc5v0>; drivevbus-supply = <&reg_vcc5v0>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
......
...@@ -94,7 +94,7 @@ axp22x: pmic@3a3 { ...@@ -94,7 +94,7 @@ axp22x: pmic@3a3 {
compatible = "x-powers,axp223"; compatible = "x-powers,axp223";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
eldoin-supply = <&reg_dcdc1>; eldoin-supply = <&reg_dcdc1>;
drivevbus-supply = <&reg_vcc5v0>; drivevbus-supply = <&reg_vcc5v0>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
......
...@@ -395,6 +395,7 @@ ccu: clock@1c20000 { ...@@ -395,6 +395,7 @@ ccu: clock@1c20000 {
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
/* compatible is in per SoC .dtsi file */ /* compatible is in per SoC .dtsi file */
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>; clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>;
...@@ -852,6 +853,7 @@ hdmi_phy: hdmi-phy@1ef0000 { ...@@ -852,6 +853,7 @@ hdmi_phy: hdmi-phy@1ef0000 {
rtc: rtc@1f00000 { rtc: rtc@1f00000 {
/* compatible is in per SoC .dtsi file */ /* compatible is in per SoC .dtsi file */
reg = <0x01f00000 0x400>; reg = <0x01f00000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clock-output-names = "osc32k", "osc32k-out", "iosc"; clock-output-names = "osc32k", "osc32k-out", "iosc";
...@@ -859,6 +861,15 @@ rtc: rtc@1f00000 { ...@@ -859,6 +861,15 @@ rtc: rtc@1f00000 {
#clock-cells = <1>; #clock-cells = <1>;
}; };
r_intc: interrupt-controller@1f00c00 {
compatible = "allwinner,sun8i-h3-r-intc",
"allwinner,sun6i-a31-r-intc";
interrupt-controller;
#interrupt-cells = <3>;
reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
};
r_ccu: clock@1f01400 { r_ccu: clock@1f01400 {
compatible = "allwinner,sun8i-h3-r-ccu"; compatible = "allwinner,sun8i-h3-r-ccu";
reg = <0x01f01400 0x100>; reg = <0x01f01400 0x100>;
...@@ -900,6 +911,7 @@ r_i2c: i2c@1f02400 { ...@@ -900,6 +911,7 @@ r_i2c: i2c@1f02400 {
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun8i-h3-r-pinctrl"; compatible = "allwinner,sun8i-h3-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&rtc 0>; clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&rtc 0>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
......
...@@ -173,7 +173,7 @@ axp803: pmic@3a3 { ...@@ -173,7 +173,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };
......
...@@ -191,7 +191,7 @@ axp803: pmic@3a3 { ...@@ -191,7 +191,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };
......
...@@ -152,7 +152,7 @@ axp803: pmic@3a3 { ...@@ -152,7 +152,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -185,7 +185,7 @@ axp803: pmic@3a3 { ...@@ -185,7 +185,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };
......
...@@ -192,7 +192,7 @@ axp803: pmic@3a3 { ...@@ -192,7 +192,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
}; };
}; };
......
...@@ -139,7 +139,7 @@ axp803: pmic@3a3 { ...@@ -139,7 +139,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -245,7 +245,7 @@ axp803: pmic@3a3 { ...@@ -245,7 +245,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -296,7 +296,7 @@ axp803: pmic@3a3 { ...@@ -296,7 +296,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -266,7 +266,7 @@ axp803: pmic@3a3 { ...@@ -266,7 +266,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; x-powers,drive-vbus-en;
}; };
}; };
......
...@@ -45,7 +45,7 @@ axp803: pmic@3a3 { ...@@ -45,7 +45,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
......
...@@ -205,7 +205,7 @@ axp803: pmic@3a3 { ...@@ -205,7 +205,7 @@ axp803: pmic@3a3 {
compatible = "x-powers,axp803"; compatible = "x-powers,axp803";
reg = <0x3a3>; reg = <0x3a3>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
wakeup-source; wakeup-source;
}; };
}; };
......
...@@ -648,6 +648,7 @@ ccu: clock@1c20000 { ...@@ -648,6 +648,7 @@ ccu: clock@1c20000 {
pio: pinctrl@1c20800 { pio: pinctrl@1c20800 {
compatible = "allwinner,sun50i-a64-pinctrl"; compatible = "allwinner,sun50i-a64-pinctrl";
reg = <0x01c20800 0x400>; reg = <0x01c20800 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
...@@ -818,6 +819,7 @@ lradc: lradc@1c21800 { ...@@ -818,6 +819,7 @@ lradc: lradc@1c21800 {
compatible = "allwinner,sun50i-a64-lradc", compatible = "allwinner,sun50i-a64-lradc",
"allwinner,sun8i-a83t-r-lradc"; "allwinner,sun8i-a83t-r-lradc";
reg = <0x01c21800 0x400>; reg = <0x01c21800 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
}; };
...@@ -1208,6 +1210,7 @@ rtc: rtc@1f00000 { ...@@ -1208,6 +1210,7 @@ rtc: rtc@1f00000 {
compatible = "allwinner,sun50i-a64-rtc", compatible = "allwinner,sun50i-a64-rtc",
"allwinner,sun8i-h3-rtc"; "allwinner,sun8i-h3-rtc";
reg = <0x01f00000 0x400>; reg = <0x01f00000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clock-output-names = "osc32k", "osc32k-out", "iosc"; clock-output-names = "osc32k", "osc32k-out", "iosc";
...@@ -1219,7 +1222,7 @@ r_intc: interrupt-controller@1f00c00 { ...@@ -1219,7 +1222,7 @@ r_intc: interrupt-controller@1f00c00 {
compatible = "allwinner,sun50i-a64-r-intc", compatible = "allwinner,sun50i-a64-r-intc",
"allwinner,sun6i-a31-r-intc"; "allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x01f00c00 0x400>; reg = <0x01f00c00 0x400>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
}; };
...@@ -1279,6 +1282,7 @@ r_pwm: pwm@1f03800 { ...@@ -1279,6 +1282,7 @@ r_pwm: pwm@1f03800 {
r_pio: pinctrl@1f02c00 { r_pio: pinctrl@1f02c00 {
compatible = "allwinner,sun50i-a64-r-pinctrl"; compatible = "allwinner,sun50i-a64-r-pinctrl";
reg = <0x01f02c00 0x400>; reg = <0x01f02c00 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
clock-names = "apb", "hosc", "losc"; clock-names = "apb", "hosc", "losc";
......
...@@ -150,14 +150,30 @@ &pio { ...@@ -150,14 +150,30 @@ &pio {
vcc-pg-supply = <&reg_aldo1>; vcc-pg-supply = <&reg_aldo1>;
}; };
&r_i2c { &r_ir {
linux,rc-map-name = "rc-beelink-gs1";
status = "okay";
};
&r_pio {
/*
* FIXME: We can't add that supply for now since it would
* create a circular dependency between pinctrl, the regulator
* and the RSB Bus.
*
* vcc-pl-supply = <&reg_aldo1>;
*/
vcc-pm-supply = <&reg_aldo1>;
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
...@@ -273,22 +289,6 @@ sw { ...@@ -273,22 +289,6 @@ sw {
}; };
}; };
&r_ir {
linux,rc-map-name = "rc-beelink-gs1";
status = "okay";
};
&r_pio {
/*
* PL0 and PL1 are used for PMIC I2C
* don't enable the pl-supply else
* it will fail at boot
*
* vcc-pl-supply = <&reg_aldo1>;
*/
vcc-pm-supply = <&reg_aldo1>;
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };
......
...@@ -175,14 +175,18 @@ &pio { ...@@ -175,14 +175,18 @@ &pio {
vcc-pg-supply = <&reg_vcc_wifi_io>; vcc-pg-supply = <&reg_vcc_wifi_io>;
}; };
&r_i2c { &r_ir {
status = "okay";
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
...@@ -291,10 +295,6 @@ sw { ...@@ -291,10 +295,6 @@ sw {
}; };
}; };
&r_ir {
status = "okay";
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };
......
...@@ -112,14 +112,22 @@ &pio { ...@@ -112,14 +112,22 @@ &pio {
vcc-pg-supply = <&reg_aldo1>; vcc-pg-supply = <&reg_aldo1>;
}; };
&r_i2c { &r_ir {
status = "okay";
};
&r_pio {
vcc-pm-supply = <&reg_bldo3>;
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
...@@ -232,14 +240,6 @@ sw { ...@@ -232,14 +240,6 @@ sw {
}; };
}; };
&r_ir {
status = "okay";
};
&r_pio {
vcc-pm-supply = <&reg_bldo3>;
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };
......
...@@ -168,7 +168,7 @@ axp805: pmic@36 { ...@@ -168,7 +168,7 @@ axp805: pmic@36 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x36>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
x-powers,self-working-mode; x-powers,self-working-mode;
...@@ -281,7 +281,7 @@ pcf8563: rtc@51 { ...@@ -281,7 +281,7 @@ pcf8563: rtc@51 {
compatible = "nxp,pcf8563"; compatible = "nxp,pcf8563";
reg = <0x51>; reg = <0x51>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
#clock-cells = <0>; #clock-cells = <0>;
}; };
}; };
......
...@@ -294,6 +294,7 @@ pwm: pwm@300a000 { ...@@ -294,6 +294,7 @@ pwm: pwm@300a000 {
pio: pinctrl@300b000 { pio: pinctrl@300b000 {
compatible = "allwinner,sun50i-h6-pinctrl"; compatible = "allwinner,sun50i-h6-pinctrl";
reg = <0x0300b000 0x400>; reg = <0x0300b000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
...@@ -902,6 +903,7 @@ tcon_tv_out_tcon_top: endpoint@1 { ...@@ -902,6 +903,7 @@ tcon_tv_out_tcon_top: endpoint@1 {
rtc: rtc@7000000 { rtc: rtc@7000000 {
compatible = "allwinner,sun50i-h6-rtc"; compatible = "allwinner,sun50i-h6-rtc";
reg = <0x07000000 0x400>; reg = <0x07000000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
clock-output-names = "osc32k", "osc32k-out", "iosc"; clock-output-names = "osc32k", "osc32k-out", "iosc";
...@@ -927,10 +929,9 @@ r_watchdog: watchdog@7020400 { ...@@ -927,10 +929,9 @@ r_watchdog: watchdog@7020400 {
}; };
r_intc: interrupt-controller@7021000 { r_intc: interrupt-controller@7021000 {
compatible = "allwinner,sun50i-h6-r-intc", compatible = "allwinner,sun50i-h6-r-intc";
"allwinner,sun6i-a31-r-intc";
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <3>;
reg = <0x07021000 0x400>; reg = <0x07021000 0x400>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
}; };
...@@ -938,6 +939,7 @@ r_intc: interrupt-controller@7021000 { ...@@ -938,6 +939,7 @@ r_intc: interrupt-controller@7021000 {
r_pio: pinctrl@7022000 { r_pio: pinctrl@7022000 {
compatible = "allwinner,sun50i-h6-r-pinctrl"; compatible = "allwinner,sun50i-h6-r-pinctrl";
reg = <0x07022000 0x400>; reg = <0x07022000 0x400>;
interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>; clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;
......
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