Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: exynos: add necessary clock controller inputs in Exynos5260

Exynos5260 bindings require to feed clock controllers with certain clock
inputs. The IO clocks are expected to be provided by the board. The
PHY clocks are usually followed by mux which can choose between the PHY
clock and main 24 MHz oscillator, so skip defining them and just use the
latter one.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20220102115356.75796-2-krzysztof.kozlowski@canonical.com

+149
+21
arch/arm/boot/dts/exynos5260-xyref5260.dts
··· 29 29 #clock-cells = <0>; 30 30 }; 31 31 32 + ioclk_pcm: clock-pcm-ext { 33 + compatible = "fixed-clock"; 34 + clock-frequency = <2048000>; 35 + clock-output-names = "ioclk_pcm_extclk"; 36 + #clock-cells = <0>; 37 + }; 38 + 39 + ioclk_i2s: clock-i2s-cd { 40 + compatible = "fixed-clock"; 41 + clock-frequency = <147456000>; 42 + clock-output-names = "ioclk_i2s_cdclk"; 43 + #clock-cells = <0>; 44 + }; 45 + 46 + ioclk_spdif: clock-spdif-ext { 47 + compatible = "fixed-clock"; 48 + clock-frequency = <49152000>; 49 + clock-output-names = "ioclk_spdif_extclk"; 50 + #clock-cells = <0>; 51 + }; 52 + 32 53 xrtcxti: xrtcxti { 33 54 compatible = "fixed-clock"; 34 55 clock-frequency = <32768>;
+128
arch/arm/boot/dts/exynos5260.dtsi
··· 113 113 compatible = "samsung,exynos5260-clock-top"; 114 114 reg = <0x10010000 0x10000>; 115 115 #clock-cells = <1>; 116 + clocks = <&fin_pll>, 117 + <&clock_mif MIF_DOUT_MEM_PLL>, 118 + <&clock_mif MIF_DOUT_BUS_PLL>, 119 + <&clock_mif MIF_DOUT_MEDIA_PLL>; 120 + clock-names = "fin_pll", 121 + "dout_mem_pll", 122 + "dout_bus_pll", 123 + "dout_media_pll"; 116 124 }; 117 125 118 126 clock_peri: clock-controller@10200000 { 119 127 compatible = "samsung,exynos5260-clock-peri"; 120 128 reg = <0x10200000 0x10000>; 121 129 #clock-cells = <1>; 130 + clocks = <&fin_pll>, 131 + <&ioclk_pcm>, 132 + <&ioclk_i2s>, 133 + <&ioclk_spdif>, 134 + <&fin_pll>, 135 + <&clock_top TOP_DOUT_ACLK_PERI_66>, 136 + <&clock_top TOP_DOUT_SCLK_PERI_UART0>, 137 + <&clock_top TOP_DOUT_SCLK_PERI_UART1>, 138 + <&clock_top TOP_DOUT_SCLK_PERI_UART2>, 139 + <&clock_top TOP_DOUT_SCLK_PERI_SPI0_B>, 140 + <&clock_top TOP_DOUT_SCLK_PERI_SPI1_B>, 141 + <&clock_top TOP_DOUT_SCLK_PERI_SPI2_B>, 142 + <&clock_top TOP_DOUT_ACLK_PERI_AUD>; 143 + clock-names = "fin_pll", 144 + "ioclk_pcm_extclk", 145 + "ioclk_i2s_cdclk", 146 + "ioclk_spdif_extclk", 147 + "phyclk_hdmi_phy_ref_cko", 148 + "dout_aclk_peri_66", 149 + "dout_sclk_peri_uart0", 150 + "dout_sclk_peri_uart1", 151 + "dout_sclk_peri_uart2", 152 + "dout_sclk_peri_spi0_b", 153 + "dout_sclk_peri_spi1_b", 154 + "dout_sclk_peri_spi2_b", 155 + "dout_aclk_peri_aud"; 122 156 }; 123 157 124 158 clock_egl: clock-controller@10600000 { 125 159 compatible = "samsung,exynos5260-clock-egl"; 126 160 reg = <0x10600000 0x10000>; 127 161 #clock-cells = <1>; 162 + clocks = <&fin_pll>, 163 + <&clock_mif MIF_DOUT_BUS_PLL>; 164 + clock-names = "fin_pll", 165 + "dout_bus_pll"; 128 166 }; 129 167 130 168 clock_kfc: clock-controller@10700000 { 131 169 compatible = "samsung,exynos5260-clock-kfc"; 132 170 reg = <0x10700000 0x10000>; 133 171 #clock-cells = <1>; 172 + clocks = <&fin_pll>, 173 + <&clock_mif MIF_DOUT_MEDIA_PLL>; 174 + clock-names = "fin_pll", 175 + "dout_media_pll"; 134 176 }; 135 177 136 178 clock_g2d: clock-controller@10a00000 { 137 179 compatible = "samsung,exynos5260-clock-g2d"; 138 180 reg = <0x10A00000 0x10000>; 139 181 #clock-cells = <1>; 182 + clocks = <&fin_pll>, 183 + <&clock_top TOP_DOUT_ACLK_G2D_333>; 184 + clock-names = "fin_pll", 185 + "dout_aclk_g2d_333"; 140 186 }; 141 187 142 188 clock_mif: clock-controller@10ce0000 { 143 189 compatible = "samsung,exynos5260-clock-mif"; 144 190 reg = <0x10CE0000 0x10000>; 145 191 #clock-cells = <1>; 192 + clocks = <&fin_pll>; 193 + clock-names = "fin_pll"; 146 194 }; 147 195 148 196 clock_mfc: clock-controller@11090000 { 149 197 compatible = "samsung,exynos5260-clock-mfc"; 150 198 reg = <0x11090000 0x10000>; 151 199 #clock-cells = <1>; 200 + clocks = <&fin_pll>, 201 + <&clock_top TOP_DOUT_ACLK_MFC_333>; 202 + clock-names = "fin_pll", 203 + "dout_aclk_mfc_333"; 152 204 }; 153 205 154 206 clock_g3d: clock-controller@11830000 { 155 207 compatible = "samsung,exynos5260-clock-g3d"; 156 208 reg = <0x11830000 0x10000>; 157 209 #clock-cells = <1>; 210 + clocks = <&fin_pll>; 211 + clock-names = "fin_pll"; 158 212 }; 159 213 160 214 clock_fsys: clock-controller@122e0000 { 161 215 compatible = "samsung,exynos5260-clock-fsys"; 162 216 reg = <0x122E0000 0x10000>; 163 217 #clock-cells = <1>; 218 + clocks = <&fin_pll>, 219 + <&fin_pll>, 220 + <&fin_pll>, 221 + <&fin_pll>, 222 + <&fin_pll>, 223 + <&fin_pll>, 224 + <&clock_top TOP_DOUT_ACLK_FSYS_200>; 225 + clock-names = "fin_pll", 226 + "phyclk_usbhost20_phy_phyclock", 227 + "phyclk_usbhost20_phy_freeclk", 228 + "phyclk_usbhost20_phy_clk48mohci", 229 + "phyclk_usbdrd30_udrd30_pipe_pclk", 230 + "phyclk_usbdrd30_udrd30_phyclock", 231 + "dout_aclk_fsys_200"; 164 232 }; 165 233 166 234 clock_aud: clock-controller@128c0000 { 167 235 compatible = "samsung,exynos5260-clock-aud"; 168 236 reg = <0x128C0000 0x10000>; 169 237 #clock-cells = <1>; 238 + clocks = <&fin_pll>, 239 + <&clock_top TOP_FOUT_AUD_PLL>, 240 + <&ioclk_i2s>, 241 + <&ioclk_pcm>; 242 + clock-names = "fin_pll", 243 + "fout_aud_pll", 244 + "ioclk_i2s_cdclk", 245 + "ioclk_pcm_extclk"; 170 246 }; 171 247 172 248 clock_isp: clock-controller@133c0000 { 173 249 compatible = "samsung,exynos5260-clock-isp"; 174 250 reg = <0x133C0000 0x10000>; 175 251 #clock-cells = <1>; 252 + clocks = <&fin_pll>, 253 + <&clock_top TOP_DOUT_ACLK_ISP1_266>, 254 + <&clock_top TOP_DOUT_ACLK_ISP1_400>, 255 + <&clock_top TOP_MOUT_ACLK_ISP1_266>; 256 + clock-names = "fin_pll", 257 + "dout_aclk_isp1_266", 258 + "dout_aclk_isp1_400", 259 + "mout_aclk_isp1_266"; 176 260 }; 177 261 178 262 clock_gscl: clock-controller@13f00000 { 179 263 compatible = "samsung,exynos5260-clock-gscl"; 180 264 reg = <0x13F00000 0x10000>; 181 265 #clock-cells = <1>; 266 + clocks = <&fin_pll>, 267 + <&clock_top TOP_DOUT_ACLK_GSCL_400>, 268 + <&clock_top TOP_DOUT_ACLK_GSCL_333>; 269 + clock-names = "fin_pll", 270 + "dout_aclk_gscl_400", 271 + "dout_aclk_gscl_333"; 182 272 }; 183 273 184 274 clock_disp: clock-controller@14550000 { 185 275 compatible = "samsung,exynos5260-clock-disp"; 186 276 reg = <0x14550000 0x10000>; 187 277 #clock-cells = <1>; 278 + clocks = <&fin_pll>, 279 + <&fin_pll>, 280 + <&fin_pll>, 281 + <&fin_pll>, 282 + <&fin_pll>, 283 + <&fin_pll>, 284 + <&fin_pll>, 285 + <&fin_pll>, 286 + <&fin_pll>, 287 + <&fin_pll>, 288 + <&fin_pll>, 289 + <&fin_pll>, 290 + <&fin_pll>, 291 + <&fin_pll>, 292 + <&ioclk_spdif>, 293 + <&clock_top TOP_DOUT_ACLK_PERI_AUD>, 294 + <&clock_top TOP_DOUT_ACLK_DISP_222>, 295 + <&clock_top TOP_DOUT_SCLK_DISP_PIXEL>, 296 + <&clock_top TOP_DOUT_ACLK_DISP_333>; 297 + clock-names = "fin_pll", 298 + "phyclk_dptx_phy_ch3_txd_clk", 299 + "phyclk_dptx_phy_ch2_txd_clk", 300 + "phyclk_dptx_phy_ch1_txd_clk", 301 + "phyclk_dptx_phy_ch0_txd_clk", 302 + "phyclk_hdmi_phy_tmds_clko", 303 + "phyclk_hdmi_phy_ref_clko", 304 + "phyclk_hdmi_phy_pixel_clko", 305 + "phyclk_hdmi_link_o_tmds_clkhi", 306 + "phyclk_mipi_dphy_4l_m_txbyte_clkhs", 307 + "phyclk_dptx_phy_o_ref_clk_24m", 308 + "phyclk_dptx_phy_clk_div2", 309 + "phyclk_mipi_dphy_4l_m_rxclkesc0", 310 + "phyclk_hdmi_phy_ref_cko", 311 + "ioclk_spdif_extclk", 312 + "dout_aclk_peri_aud", 313 + "dout_aclk_disp_222", 314 + "dout_sclk_disp_pixel", 315 + "dout_aclk_disp_333"; 188 316 }; 189 317 190 318 gic: interrupt-controller@10481000 {