diff options
| -rw-r--r-- | arch/arm/boot/dts/sun8i-a23.dtsi | 125 |
1 files changed, 120 insertions, 5 deletions
diff --git a/arch/arm/boot/dts/sun8i-a23.dtsi b/arch/arm/boot/dts/sun8i-a23.dtsi index ac5f69afb595..79c40834bc0a 100644 --- a/arch/arm/boot/dts/sun8i-a23.dtsi +++ b/arch/arm/boot/dts/sun8i-a23.dtsi | |||
| @@ -64,6 +64,121 @@ | |||
| 64 | clock-frequency = <32768>; | 64 | clock-frequency = <32768>; |
| 65 | clock-output-names = "osc32k"; | 65 | clock-output-names = "osc32k"; |
| 66 | }; | 66 | }; |
| 67 | |||
| 68 | pll1: clk@01c20000 { | ||
| 69 | #clock-cells = <0>; | ||
| 70 | compatible = "allwinner,sun8i-a23-pll1-clk"; | ||
| 71 | reg = <0x01c20000 0x4>; | ||
| 72 | clocks = <&osc24M>; | ||
| 73 | clock-output-names = "pll1"; | ||
| 74 | }; | ||
| 75 | |||
| 76 | /* dummy clock until actually implemented */ | ||
| 77 | pll6: pll6_clk { | ||
| 78 | #clock-cells = <0>; | ||
| 79 | compatible = "fixed-clock"; | ||
| 80 | clock-frequency = <600000000>; | ||
| 81 | clock-output-names = "pll6"; | ||
| 82 | }; | ||
| 83 | |||
| 84 | cpu: cpu_clk@01c20050 { | ||
| 85 | #clock-cells = <0>; | ||
| 86 | compatible = "allwinner,sun4i-a10-cpu-clk"; | ||
| 87 | reg = <0x01c20050 0x4>; | ||
| 88 | |||
| 89 | /* | ||
| 90 | * PLL1 is listed twice here. | ||
| 91 | * While it looks suspicious, it's actually documented | ||
| 92 | * that way both in the datasheet and in the code from | ||
| 93 | * Allwinner. | ||
| 94 | */ | ||
| 95 | clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll1>; | ||
| 96 | clock-output-names = "cpu"; | ||
| 97 | }; | ||
| 98 | |||
| 99 | axi: axi_clk@01c20050 { | ||
| 100 | #clock-cells = <0>; | ||
| 101 | compatible = "allwinner,sun8i-a23-axi-clk"; | ||
| 102 | reg = <0x01c20050 0x4>; | ||
| 103 | clocks = <&cpu>; | ||
| 104 | clock-output-names = "axi"; | ||
| 105 | }; | ||
| 106 | |||
| 107 | ahb1_mux: ahb1_mux_clk@01c20054 { | ||
| 108 | #clock-cells = <0>; | ||
| 109 | compatible = "allwinner,sun6i-a31-ahb1-mux-clk"; | ||
| 110 | reg = <0x01c20054 0x4>; | ||
| 111 | clocks = <&osc32k>, <&osc24M>, <&axi>, <&pll6>; | ||
| 112 | clock-output-names = "ahb1_mux"; | ||
| 113 | }; | ||
| 114 | |||
| 115 | ahb1: ahb1_clk@01c20054 { | ||
| 116 | #clock-cells = <0>; | ||
| 117 | compatible = "allwinner,sun4i-a10-ahb-clk"; | ||
| 118 | reg = <0x01c20054 0x4>; | ||
| 119 | clocks = <&ahb1_mux>; | ||
| 120 | clock-output-names = "ahb1"; | ||
| 121 | }; | ||
| 122 | |||
| 123 | apb1: apb1_clk@01c20054 { | ||
| 124 | #clock-cells = <0>; | ||
| 125 | compatible = "allwinner,sun4i-a10-apb0-clk"; | ||
| 126 | reg = <0x01c20054 0x4>; | ||
| 127 | clocks = <&ahb1>; | ||
| 128 | clock-output-names = "apb1"; | ||
| 129 | }; | ||
| 130 | |||
| 131 | ahb1_gates: clk@01c20060 { | ||
| 132 | #clock-cells = <1>; | ||
| 133 | compatible = "allwinner,sun8i-a23-ahb1-gates-clk"; | ||
| 134 | reg = <0x01c20060 0x8>; | ||
| 135 | clocks = <&ahb1>; | ||
| 136 | clock-output-names = "ahb1_mipidsi", "ahb1_dma", | ||
| 137 | "ahb1_mmc0", "ahb1_mmc1", "ahb1_mmc2", | ||
| 138 | "ahb1_nand", "ahb1_sdram", | ||
| 139 | "ahb1_hstimer", "ahb1_spi0", | ||
| 140 | "ahb1_spi1", "ahb1_otg", "ahb1_ehci", | ||
| 141 | "ahb1_ohci", "ahb1_ve", "ahb1_lcd", | ||
| 142 | "ahb1_csi", "ahb1_be", "ahb1_fe", | ||
| 143 | "ahb1_gpu", "ahb1_spinlock", | ||
| 144 | "ahb1_drc"; | ||
| 145 | }; | ||
| 146 | |||
| 147 | apb1_gates: clk@01c20068 { | ||
| 148 | #clock-cells = <1>; | ||
| 149 | compatible = "allwinner,sun8i-a23-apb1-gates-clk"; | ||
| 150 | reg = <0x01c20068 0x4>; | ||
| 151 | clocks = <&apb1>; | ||
| 152 | clock-output-names = "apb1_codec", "apb1_pio", | ||
| 153 | "apb1_daudio0", "apb1_daudio1"; | ||
| 154 | }; | ||
| 155 | |||
| 156 | apb2_mux: apb2_mux_clk@01c20058 { | ||
| 157 | #clock-cells = <0>; | ||
| 158 | compatible = "allwinner,sun4i-a10-apb1-mux-clk"; | ||
| 159 | reg = <0x01c20058 0x4>; | ||
| 160 | clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>; | ||
| 161 | clock-output-names = "apb2_mux"; | ||
| 162 | }; | ||
| 163 | |||
| 164 | apb2: apb2_clk@01c20058 { | ||
| 165 | #clock-cells = <0>; | ||
| 166 | compatible = "allwinner,sun6i-a31-apb2-div-clk"; | ||
| 167 | reg = <0x01c20058 0x4>; | ||
| 168 | clocks = <&apb2_mux>; | ||
| 169 | clock-output-names = "apb2"; | ||
| 170 | }; | ||
| 171 | |||
| 172 | apb2_gates: clk@01c2006c { | ||
| 173 | #clock-cells = <1>; | ||
| 174 | compatible = "allwinner,sun8i-a23-apb2-gates-clk"; | ||
| 175 | reg = <0x01c2006c 0x4>; | ||
| 176 | clocks = <&apb2>; | ||
| 177 | clock-output-names = "apb2_i2c0", "apb2_i2c1", | ||
| 178 | "apb2_i2c2", "apb2_uart0", | ||
| 179 | "apb2_uart1", "apb2_uart2", | ||
| 180 | "apb2_uart3", "apb2_uart4"; | ||
| 181 | }; | ||
| 67 | }; | 182 | }; |
| 68 | 183 | ||
| 69 | soc@01c00000 { | 184 | soc@01c00000 { |
| @@ -92,7 +207,7 @@ | |||
| 92 | interrupts = <0 0 4>; | 207 | interrupts = <0 0 4>; |
| 93 | reg-shift = <2>; | 208 | reg-shift = <2>; |
| 94 | reg-io-width = <4>; | 209 | reg-io-width = <4>; |
| 95 | clocks = <&osc24M>; | 210 | clocks = <&apb2_gates 16>; |
| 96 | status = "disabled"; | 211 | status = "disabled"; |
| 97 | }; | 212 | }; |
| 98 | 213 | ||
| @@ -102,7 +217,7 @@ | |||
| 102 | interrupts = <0 1 4>; | 217 | interrupts = <0 1 4>; |
| 103 | reg-shift = <2>; | 218 | reg-shift = <2>; |
| 104 | reg-io-width = <4>; | 219 | reg-io-width = <4>; |
| 105 | clocks = <&osc24M>; | 220 | clocks = <&apb2_gates 17>; |
| 106 | status = "disabled"; | 221 | status = "disabled"; |
| 107 | }; | 222 | }; |
| 108 | 223 | ||
| @@ -112,7 +227,7 @@ | |||
| 112 | interrupts = <0 2 4>; | 227 | interrupts = <0 2 4>; |
| 113 | reg-shift = <2>; | 228 | reg-shift = <2>; |
| 114 | reg-io-width = <4>; | 229 | reg-io-width = <4>; |
| 115 | clocks = <&osc24M>; | 230 | clocks = <&apb2_gates 18>; |
| 116 | status = "disabled"; | 231 | status = "disabled"; |
| 117 | }; | 232 | }; |
| 118 | 233 | ||
| @@ -122,7 +237,7 @@ | |||
| 122 | interrupts = <0 3 4>; | 237 | interrupts = <0 3 4>; |
| 123 | reg-shift = <2>; | 238 | reg-shift = <2>; |
| 124 | reg-io-width = <4>; | 239 | reg-io-width = <4>; |
| 125 | clocks = <&osc24M>; | 240 | clocks = <&apb2_gates 19>; |
| 126 | status = "disabled"; | 241 | status = "disabled"; |
| 127 | }; | 242 | }; |
| 128 | 243 | ||
| @@ -132,7 +247,7 @@ | |||
| 132 | interrupts = <0 4 4>; | 247 | interrupts = <0 4 4>; |
| 133 | reg-shift = <2>; | 248 | reg-shift = <2>; |
| 134 | reg-io-width = <4>; | 249 | reg-io-width = <4>; |
| 135 | clocks = <&osc24M>; | 250 | clocks = <&apb2_gates 20>; |
| 136 | status = "disabled"; | 251 | status = "disabled"; |
| 137 | }; | 252 | }; |
| 138 | 253 | ||
