From: Chris Morgan <[email protected]>

Update the sun50i-h616.dtsi file from upstream linux, and include the
fix for selecting the pinctrl for the r_i2c bus from mainline:

7c9ea4ab7617 ("arm64: dts: allwinner: h616: Add r_i2c pinctrl nodes")

Signed-off-by: Chris Morgan <[email protected]>
---
 arch/arm/dts/sun50i-h616.dtsi               | 98 ++++++++++++++++++++-
 include/dt-bindings/clock/sun50i-h616-ccu.h |  1 +
 include/dt-bindings/reset/sun50i-h616-ccu.h |  1 +
 3 files changed, 99 insertions(+), 1 deletion(-)

diff --git a/arch/arm/dts/sun50i-h616.dtsi b/arch/arm/dts/sun50i-h616.dtsi
index b2e85e52d1..e88c1fbac6 100644
--- a/arch/arm/dts/sun50i-h616.dtsi
+++ b/arch/arm/dts/sun50i-h616.dtsi
@@ -26,6 +26,14 @@
                        reg = <0>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
+                       i-cache-size = <0x8000>;
+                       i-cache-line-size = <64>;
+                       i-cache-sets = <256>;
+                       d-cache-size = <0x8000>;
+                       d-cache-line-size = <64>;
+                       d-cache-sets = <128>;
+                       next-level-cache = <&l2_cache>;
                };
 
                cpu1: cpu@1 {
@@ -34,6 +42,14 @@
                        reg = <1>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
+                       i-cache-size = <0x8000>;
+                       i-cache-line-size = <64>;
+                       i-cache-sets = <256>;
+                       d-cache-size = <0x8000>;
+                       d-cache-line-size = <64>;
+                       d-cache-sets = <128>;
+                       next-level-cache = <&l2_cache>;
                };
 
                cpu2: cpu@2 {
@@ -42,6 +58,14 @@
                        reg = <2>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
+                       i-cache-size = <0x8000>;
+                       i-cache-line-size = <64>;
+                       i-cache-sets = <256>;
+                       d-cache-size = <0x8000>;
+                       d-cache-line-size = <64>;
+                       d-cache-sets = <128>;
+                       next-level-cache = <&l2_cache>;
                };
 
                cpu3: cpu@3 {
@@ -50,6 +74,23 @@
                        reg = <3>;
                        enable-method = "psci";
                        clocks = <&ccu CLK_CPUX>;
+                       #cooling-cells = <2>;
+                       i-cache-size = <0x8000>;
+                       i-cache-line-size = <64>;
+                       i-cache-sets = <256>;
+                       d-cache-size = <0x8000>;
+                       d-cache-line-size = <64>;
+                       d-cache-sets = <128>;
+                       next-level-cache = <&l2_cache>;
+               };
+
+               l2_cache: l2-cache {
+                       compatible = "cache";
+                       cache-level = <2>;
+                       cache-unified;
+                       cache-size = <0x40000>;
+                       cache-line-size = <64>;
+                       cache-sets = <256>;
                };
        };
 
@@ -109,6 +150,16 @@
                #size-cells = <1>;
                ranges = <0x0 0x0 0x0 0x40000000>;
 
+               crypto: crypto@1904000 {
+                       compatible = "allwinner,sun50i-h616-crypto";
+                       reg = <0x01904000 0x800>;
+                       interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>,
+                                <&ccu CLK_MBUS_CE>, <&rtc CLK_IOSC>;
+                       clock-names = "bus", "mod", "ram", "trng";
+                       resets = <&ccu RST_BUS_CE>;
+               };
+
                syscon: syscon@3000000 {
                        compatible = "allwinner,sun50i-h616-system-control";
                        reg = <0x03000000 0x1000>;
@@ -156,6 +207,10 @@
                        ths_calibration: thermal-sensor-calibration@14 {
                                reg = <0x14 0x8>;
                        };
+
+                       cpu_speed_grade: cpu-speed-grade@0 {
+                               reg = <0x0 2>;
+                       };
                };
 
                watchdog: watchdog@30090a0 {
@@ -194,7 +249,7 @@
                        };
 
                        i2c0_pins: i2c0-pins {
-                               pins = "PI6", "PI7";
+                               pins = "PI5", "PI6";
                                function = "i2c0";
                        };
 
@@ -298,6 +353,15 @@
                        #interrupt-cells = <3>;
                };
 
+               iommu: iommu@30f0000 {
+                       compatible = "allwinner,sun50i-h616-iommu";
+                       reg = <0x030f0000 0x10000>;
+                       interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_IOMMU>;
+                       resets = <&ccu RST_BUS_IOMMU>;
+                       #iommu-cells = <1>;
+               };
+
                mmc0: mmc@4020000 {
                        compatible = "allwinner,sun50i-h616-mmc",
                                     "allwinner,sun50i-a100-mmc";
@@ -581,6 +645,17 @@
                        status = "disabled";
                };
 
+               gpadc: adc@5070000 {
+                       compatible = "allwinner,sun50i-h616-gpadc",
+                                    "allwinner,sun20i-d1-gpadc";
+                       reg = <0x05070000 0x400>;
+                       clocks = <&ccu CLK_BUS_GPADC>;
+                       resets = <&ccu RST_BUS_GPADC>;
+                       interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+                       #io-channel-cells = <1>;
+               };
+
                ths: thermal-sensor@5070400 {
                        compatible = "allwinner,sun50i-h616-ths";
                        reg = <0x05070400 0x400>;
@@ -594,6 +669,16 @@
                        #thermal-sensor-cells = <1>;
                };
 
+               lradc: lradc@5070800 {
+                       compatible = "allwinner,sun50i-h616-lradc",
+                                    "allwinner,sun50i-r329-lradc";
+                       reg = <0x05070800 0x400>;
+                       interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_KEYADC>;
+                       resets = <&ccu RST_BUS_KEYADC>;
+                       status = "disabled";
+               };
+
                usbotg: usb@5100000 {
                        compatible = "allwinner,sun50i-h616-musb",
                                     "allwinner,sun8i-h3-musb";
@@ -775,6 +860,15 @@
                        #reset-cells = <1>;
                };
 
+               nmi_intc: interrupt-controller@7010320 {
+                       compatible = "allwinner,sun50i-h616-nmi",
+                                    "allwinner,sun9i-a80-nmi";
+                       reg = <0x07010320 0xc>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
                r_pio: pinctrl@7022000 {
                        compatible = "allwinner,sun50i-h616-r-pinctrl";
                        reg = <0x07022000 0x400>;
@@ -820,6 +914,8 @@
                        dmas = <&dma 48>, <&dma 48>;
                        dma-names = "rx", "tx";
                        resets = <&r_ccu RST_R_APB2_I2C>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&r_i2c_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
diff --git a/include/dt-bindings/clock/sun50i-h616-ccu.h 
b/include/dt-bindings/clock/sun50i-h616-ccu.h
index 6f8f01e676..ebb146ab7f 100644
--- a/include/dt-bindings/clock/sun50i-h616-ccu.h
+++ b/include/dt-bindings/clock/sun50i-h616-ccu.h
@@ -112,5 +112,6 @@
 #define CLK_HDCP               126
 #define CLK_BUS_HDCP           127
 #define CLK_PLL_SYSTEM_32K     128
+#define CLK_BUS_GPADC          129
 
 #endif /* _DT_BINDINGS_CLK_SUN50I_H616_H_ */
diff --git a/include/dt-bindings/reset/sun50i-h616-ccu.h 
b/include/dt-bindings/reset/sun50i-h616-ccu.h
index 1bd8bb0a11..ed177c04af 100644
--- a/include/dt-bindings/reset/sun50i-h616-ccu.h
+++ b/include/dt-bindings/reset/sun50i-h616-ccu.h
@@ -66,5 +66,6 @@
 #define RST_BUS_TVE0           57
 #define RST_BUS_HDCP           58
 #define RST_BUS_KEYADC         59
+#define RST_BUS_GPADC          60
 
 #endif /* _DT_BINDINGS_RESET_SUN50I_H616_H_ */
-- 
2.34.1

Reply via email to