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

Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dt

Merge "at91: dt for 3.17 #1" from Nicolas Ferre:

First DT update for 3.17:
- move of crystals DT definitions to the /clocks node
- addition of clock entries for sound for CCF enabled platforms
- addition of DMA and DMA + nand on at91sam9rl
- move to CCF for all not-converted-yet AT91 SoCs: at91rm9200, at91sam9260/9g20,
at91sam9g45 family and at91sam9263

* tag 'at91-dt' of git://github.com/at91linux/linux-at91: (43 commits)
ARM: at91/dt: usb_a9263: define crystals frequencies
ARM: at91/dt: tny_a9263: define crystals frequencies
ARM: at91/dt: sam9263ek: define crystals frequencies
ARM: at91: move at91sam9263 SoC to the CCF
ARM: at91/dt: sam9263: define clocks
ARM: at91: prepare common clk transition for sam9263
ARM: at91/dt: cosino define crystals frequencies
ARM: at91/dt: pm9g45: crystals frequencies
ARM: at91/dt: sam9m10g45ek: define crystals frequencies
ARM: at91: move at91sam9g45 SoC to the CCF
ARM: at91/dt: sam9g45: define clocks
ARM: at91: prepare common clk transition for sam9g45
ARM: at91/dt: kizbox: define main crystal frequency
ARM: at91/dt: animeo_ip: define crystals frequencies
ARM: at91/dt: ethernut5: define crystals frequencies
ARM: at91/dt: evk-pro3: define slow crytal frequency
ARM: at91/dt: aks-cdu: define slow crytal frequency
ARM: at91/dt: ge863-pro3: define main crystal frequency
ARM: at91/dt: mpa1600: define crytals frequencies
ARM: at91/dt: qil_a9260: define crystals frequencies
...

Signed-off-by: Olof Johansson <olof@lixom.net>

+1588 -107
+4 -1
Documentation/devicetree/bindings/arm/atmel-pmc.txt
··· 1 1 * Power Management Controller (PMC) 2 2 3 3 Required properties: 4 - - compatible: Should be "atmel,at91rm9200-pmc" 4 + - compatible: Should be "atmel,<chip>-pmc". 5 + <chip> can be: at91rm9200, at91sam9260, at91sam9g45, at91sam9n12, 6 + at91sam9x5, sama5d3 7 + 5 8 - reg: Should contain PMC registers location and length 6 9 7 10 Examples:
+6
arch/arm/boot/dts/aks-cdu.dts
··· 16 16 bootargs = "console=ttyS0,115200 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs"; 17 17 }; 18 18 19 + clocks { 20 + slow_xtal { 21 + clock-frequency = <32768>; 22 + }; 23 + }; 24 + 19 25 ahb { 20 26 apb { 21 27 usart0: serial@fffb0000 {
+8
arch/arm/boot/dts/animeo_ip.dts
··· 40 40 compatible = "atmel,osc", "fixed-clock"; 41 41 clock-frequency = <18432000>; 42 42 }; 43 + 44 + slow_xtal { 45 + clock-frequency = <32768>; 46 + }; 47 + 48 + main_xtal { 49 + clock-frequency = <18432000>; 50 + }; 43 51 }; 44 52 45 53 ahb {
+8
arch/arm/boot/dts/at91-ariag25.dts
··· 42 42 compatible = "atmel,osc", "fixed-clock"; 43 43 clock-frequency = <12000000>; 44 44 }; 45 + 46 + slow_xtal { 47 + clock-frequency = <32768>; 48 + }; 49 + 50 + main_xtal { 51 + clock-frequency = <12000000>; 52 + }; 45 53 }; 46 54 47 55 ahb {
+8
arch/arm/boot/dts/at91-cosino.dtsi
··· 34 34 compatible = "atmel,osc", "fixed-clock"; 35 35 clock-frequency = <12000000>; 36 36 }; 37 + 38 + slow_xtal { 39 + clock-frequency = <32768>; 40 + }; 41 + 42 + main_xtal { 43 + clock-frequency = <12000000>; 44 + }; 37 45 }; 38 46 39 47 ahb {
+8
arch/arm/boot/dts/at91-foxg20.dts
··· 31 31 compatible = "atmel,osc", "fixed-clock"; 32 32 clock-frequency = <18432000>; 33 33 }; 34 + 35 + slow_xtal { 36 + clock-frequency = <32768>; 37 + }; 38 + 39 + main_xtal { 40 + clock-frequency = <18432000>; 41 + }; 34 42 }; 35 43 36 44 ahb {
+8
arch/arm/boot/dts/at91-qil_a9260.dts
··· 28 28 compatible = "atmel,osc", "fixed-clock"; 29 29 clock-frequency = <12000000>; 30 30 }; 31 + 32 + slow_xtal { 33 + clock-frequency = <32768>; 34 + }; 35 + 36 + main_xtal { 37 + clock-frequency = <12000000>; 38 + }; 31 39 }; 32 40 33 41 ahb {
+7 -5
arch/arm/boot/dts/at91-sama5d3_xplained.dts
··· 21 21 reg = <0x20000000 0x10000000>; 22 22 }; 23 23 24 - slow_xtal { 25 - clock-frequency = <32768>; 26 - }; 24 + clocks { 25 + slow_xtal { 26 + clock-frequency = <32768>; 27 + }; 27 28 28 - main_xtal { 29 - clock-frequency = <12000000>; 29 + main_xtal { 30 + clock-frequency = <12000000>; 31 + }; 30 32 }; 31 33 32 34 ahb {
+304
arch/arm/boot/dts/at91rm9200.dtsi
··· 14 14 #include <dt-bindings/pinctrl/at91.h> 15 15 #include <dt-bindings/interrupt-controller/irq.h> 16 16 #include <dt-bindings/gpio/gpio.h> 17 + #include <dt-bindings/clock/at91.h> 17 18 18 19 / { 19 20 model = "Atmel AT91RM9200 family SoC"; ··· 52 51 reg = <0x20000000 0x04000000>; 53 52 }; 54 53 54 + clocks { 55 + slow_xtal: slow_xtal { 56 + compatible = "fixed-clock"; 57 + #clock-cells = <0>; 58 + clock-frequency = <0>; 59 + }; 60 + 61 + main_xtal: main_xtal { 62 + compatible = "fixed-clock"; 63 + #clock-cells = <0>; 64 + clock-frequency = <0>; 65 + }; 66 + }; 67 + 55 68 ahb { 56 69 compatible = "simple-bus"; 57 70 #address-cells = <1>; ··· 94 79 pmc: pmc@fffffc00 { 95 80 compatible = "atmel,at91rm9200-pmc"; 96 81 reg = <0xfffffc00 0x100>; 82 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 83 + interrupt-controller; 84 + #address-cells = <1>; 85 + #size-cells = <0>; 86 + #interrupt-cells = <1>; 87 + 88 + main_osc: main_osc { 89 + compatible = "atmel,at91rm9200-clk-main-osc"; 90 + #clock-cells = <0>; 91 + interrupts-extended = <&pmc AT91_PMC_MOSCS>; 92 + clocks = <&main_xtal>; 93 + }; 94 + 95 + main: mainck { 96 + compatible = "atmel,at91rm9200-clk-main"; 97 + #clock-cells = <0>; 98 + clocks = <&main_osc>; 99 + }; 100 + 101 + plla: pllack { 102 + compatible = "atmel,at91rm9200-clk-pll"; 103 + #clock-cells = <0>; 104 + interrupts-extended = <&pmc AT91_PMC_LOCKA>; 105 + clocks = <&main>; 106 + reg = <0>; 107 + atmel,clk-input-range = <1000000 32000000>; 108 + #atmel,pll-clk-output-range-cells = <3>; 109 + atmel,pll-clk-output-ranges = <80000000 160000000 0>, 110 + <150000000 180000000 2>; 111 + }; 112 + 113 + pllb: pllbck { 114 + compatible = "atmel,at91rm9200-clk-pll"; 115 + #clock-cells = <0>; 116 + interrupts-extended = <&pmc AT91_PMC_LOCKB>; 117 + clocks = <&main>; 118 + reg = <1>; 119 + atmel,clk-input-range = <1000000 32000000>; 120 + #atmel,pll-clk-output-range-cells = <3>; 121 + atmel,pll-clk-output-ranges = <80000000 160000000 0>, 122 + <150000000 180000000 2>; 123 + }; 124 + 125 + mck: masterck { 126 + compatible = "atmel,at91rm9200-clk-master"; 127 + #clock-cells = <0>; 128 + interrupts-extended = <&pmc AT91_PMC_MCKRDY>; 129 + clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 130 + atmel,clk-output-range = <0 80000000>; 131 + atmel,clk-divisors = <1 2 3 4>; 132 + }; 133 + 134 + usb: usbck { 135 + compatible = "atmel,at91rm9200-clk-usb"; 136 + #clock-cells = <0>; 137 + atmel,clk-divisors = <1 2>; 138 + clocks = <&pllb>; 139 + }; 140 + 141 + prog: progck { 142 + compatible = "atmel,at91rm9200-clk-programmable"; 143 + #address-cells = <1>; 144 + #size-cells = <0>; 145 + interrupt-parent = <&pmc>; 146 + clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 147 + 148 + prog0: prog0 { 149 + #clock-cells = <0>; 150 + reg = <0>; 151 + interrupts = <AT91_PMC_PCKRDY(0)>; 152 + }; 153 + 154 + prog1: prog1 { 155 + #clock-cells = <0>; 156 + reg = <1>; 157 + interrupts = <AT91_PMC_PCKRDY(1)>; 158 + }; 159 + 160 + prog2: prog2 { 161 + #clock-cells = <0>; 162 + reg = <2>; 163 + interrupts = <AT91_PMC_PCKRDY(2)>; 164 + }; 165 + 166 + prog3: prog3 { 167 + #clock-cells = <0>; 168 + reg = <3>; 169 + interrupts = <AT91_PMC_PCKRDY(3)>; 170 + }; 171 + }; 172 + 173 + systemck { 174 + compatible = "atmel,at91rm9200-clk-system"; 175 + #address-cells = <1>; 176 + #size-cells = <0>; 177 + 178 + udpck: udpck { 179 + #clock-cells = <0>; 180 + reg = <2>; 181 + clocks = <&usb>; 182 + }; 183 + 184 + uhpck: uhpck { 185 + #clock-cells = <0>; 186 + reg = <4>; 187 + clocks = <&usb>; 188 + }; 189 + 190 + pck0: pck0 { 191 + #clock-cells = <0>; 192 + reg = <8>; 193 + clocks = <&prog0>; 194 + }; 195 + 196 + pck1: pck1 { 197 + #clock-cells = <0>; 198 + reg = <9>; 199 + clocks = <&prog1>; 200 + }; 201 + 202 + pck2: pck2 { 203 + #clock-cells = <0>; 204 + reg = <10>; 205 + clocks = <&prog2>; 206 + }; 207 + 208 + pck3: pck3 { 209 + #clock-cells = <0>; 210 + reg = <11>; 211 + clocks = <&prog3>; 212 + }; 213 + }; 214 + 215 + periphck { 216 + compatible = "atmel,at91rm9200-clk-peripheral"; 217 + #address-cells = <1>; 218 + #size-cells = <0>; 219 + clocks = <&mck>; 220 + 221 + pioA_clk: pioA_clk { 222 + #clock-cells = <0>; 223 + reg = <2>; 224 + }; 225 + 226 + pioB_clk: pioB_clk { 227 + #clock-cells = <0>; 228 + reg = <3>; 229 + }; 230 + 231 + pioC_clk: pioC_clk { 232 + #clock-cells = <0>; 233 + reg = <4>; 234 + }; 235 + 236 + pioD_clk: pioD_clk { 237 + #clock-cells = <0>; 238 + reg = <5>; 239 + }; 240 + 241 + usart0_clk: usart0_clk { 242 + #clock-cells = <0>; 243 + reg = <6>; 244 + }; 245 + 246 + usart1_clk: usart1_clk { 247 + #clock-cells = <0>; 248 + reg = <7>; 249 + }; 250 + 251 + usart2_clk: usart2_clk { 252 + #clock-cells = <0>; 253 + reg = <8>; 254 + }; 255 + 256 + usart3_clk: usart3_clk { 257 + #clock-cells = <0>; 258 + reg = <9>; 259 + }; 260 + 261 + mci0_clk: mci0_clk { 262 + #clock-cells = <0>; 263 + reg = <10>; 264 + }; 265 + 266 + udc_clk: udc_clk { 267 + #clock-cells = <0>; 268 + reg = <11>; 269 + }; 270 + 271 + twi0_clk: twi0_clk { 272 + reg = <12>; 273 + #clock-cells = <0>; 274 + }; 275 + 276 + spi0_clk: spi0_clk { 277 + #clock-cells = <0>; 278 + reg = <13>; 279 + }; 280 + 281 + ssc0_clk: ssc0_clk { 282 + #clock-cells = <0>; 283 + reg = <14>; 284 + }; 285 + 286 + ssc1_clk: ssc1_clk { 287 + #clock-cells = <0>; 288 + reg = <15>; 289 + }; 290 + 291 + ssc2_clk: ssc2_clk { 292 + #clock-cells = <0>; 293 + reg = <16>; 294 + }; 295 + 296 + tc0_clk: tc0_clk { 297 + #clock-cells = <0>; 298 + reg = <17>; 299 + }; 300 + 301 + tc1_clk: tc1_clk { 302 + #clock-cells = <0>; 303 + reg = <18>; 304 + }; 305 + 306 + tc2_clk: tc2_clk { 307 + #clock-cells = <0>; 308 + reg = <19>; 309 + }; 310 + 311 + tc3_clk: tc3_clk { 312 + #clock-cells = <0>; 313 + reg = <20>; 314 + }; 315 + 316 + tc4_clk: tc4_clk { 317 + #clock-cells = <0>; 318 + reg = <21>; 319 + }; 320 + 321 + tc5_clk: tc5_clk { 322 + #clock-cells = <0>; 323 + reg = <22>; 324 + }; 325 + 326 + ohci_clk: ohci_clk { 327 + #clock-cells = <0>; 328 + reg = <23>; 329 + }; 330 + 331 + macb0_clk: macb0_clk { 332 + #clock-cells = <0>; 333 + reg = <24>; 334 + }; 335 + }; 97 336 }; 98 337 99 338 st: timer@fffffd00 { ··· 362 93 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 363 94 18 IRQ_TYPE_LEVEL_HIGH 0 364 95 19 IRQ_TYPE_LEVEL_HIGH 0>; 96 + clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>; 97 + clock-names = "t0_clk", "t1_clk", "t2_clk"; 365 98 }; 366 99 367 100 tcb1: timer@fffa4000 { ··· 372 101 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0 373 102 21 IRQ_TYPE_LEVEL_HIGH 0 374 103 22 IRQ_TYPE_LEVEL_HIGH 0>; 104 + clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>; 105 + clock-names = "t0_clk", "t1_clk", "t2_clk"; 375 106 }; 376 107 377 108 i2c0: i2c@fffb8000 { ··· 382 109 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>; 383 110 pinctrl-names = "default"; 384 111 pinctrl-0 = <&pinctrl_twi>; 112 + clocks = <&twi0_clk>; 385 113 #address-cells = <1>; 386 114 #size-cells = <0>; 387 115 status = "disabled"; ··· 392 118 compatible = "atmel,hsmci"; 393 119 reg = <0xfffb4000 0x4000>; 394 120 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; 121 + clocks = <&mci0_clk>; 122 + clock-names = "mci_clk"; 395 123 #address-cells = <1>; 396 124 #size-cells = <0>; 397 125 pinctrl-names = "default"; ··· 406 130 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; 407 131 pinctrl-names = "default"; 408 132 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 133 + clocks = <&ssc0_clk>; 134 + clock-names = "pclk"; 409 135 status = "disable"; 410 136 }; 411 137 ··· 417 139 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>; 418 140 pinctrl-names = "default"; 419 141 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 142 + clocks = <&ssc1_clk>; 143 + clock-names = "pclk"; 420 144 status = "disable"; 421 145 }; 422 146 ··· 428 148 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; 429 149 pinctrl-names = "default"; 430 150 pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>; 151 + clocks = <&ssc2_clk>; 152 + clock-names = "pclk"; 431 153 status = "disable"; 432 154 }; 433 155 ··· 440 158 phy-mode = "rmii"; 441 159 pinctrl-names = "default"; 442 160 pinctrl-0 = <&pinctrl_macb_rmii>; 161 + clocks = <&macb0_clk>; 162 + clock-names = "ether_clk"; 443 163 status = "disabled"; 444 164 }; 445 165 ··· 780 496 gpio-controller; 781 497 interrupt-controller; 782 498 #interrupt-cells = <2>; 499 + clocks = <&pioA_clk>; 783 500 }; 784 501 785 502 pioB: gpio@fffff600 { ··· 791 506 gpio-controller; 792 507 interrupt-controller; 793 508 #interrupt-cells = <2>; 509 + clocks = <&pioB_clk>; 794 510 }; 795 511 796 512 pioC: gpio@fffff800 { ··· 802 516 gpio-controller; 803 517 interrupt-controller; 804 518 #interrupt-cells = <2>; 519 + clocks = <&pioC_clk>; 805 520 }; 806 521 807 522 pioD: gpio@fffffa00 { ··· 813 526 gpio-controller; 814 527 interrupt-controller; 815 528 #interrupt-cells = <2>; 529 + clocks = <&pioD_clk>; 816 530 }; 817 531 }; 818 532 ··· 823 535 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 824 536 pinctrl-names = "default"; 825 537 pinctrl-0 = <&pinctrl_dbgu>; 538 + clocks = <&mck>; 539 + clock-names = "usart"; 826 540 status = "disabled"; 827 541 }; 828 542 ··· 836 546 atmel,use-dma-tx; 837 547 pinctrl-names = "default"; 838 548 pinctrl-0 = <&pinctrl_uart0>; 549 + clocks = <&usart0_clk>; 550 + clock-names = "usart"; 839 551 status = "disabled"; 840 552 }; 841 553 ··· 849 557 atmel,use-dma-tx; 850 558 pinctrl-names = "default"; 851 559 pinctrl-0 = <&pinctrl_uart1>; 560 + clocks = <&usart1_clk>; 561 + clock-names = "usart"; 852 562 status = "disabled"; 853 563 }; 854 564 ··· 862 568 atmel,use-dma-tx; 863 569 pinctrl-names = "default"; 864 570 pinctrl-0 = <&pinctrl_uart2>; 571 + clocks = <&usart2_clk>; 572 + clock-names = "usart"; 865 573 status = "disabled"; 866 574 }; 867 575 ··· 875 579 atmel,use-dma-tx; 876 580 pinctrl-names = "default"; 877 581 pinctrl-0 = <&pinctrl_uart3>; 582 + clocks = <&usart3_clk>; 583 + clock-names = "usart"; 878 584 status = "disabled"; 879 585 }; 880 586 ··· 884 586 compatible = "atmel,at91rm9200-udc"; 885 587 reg = <0xfffb0000 0x4000>; 886 588 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>; 589 + clocks = <&udc_clk>, <&udpck>; 590 + clock-names = "pclk", "hclk"; 887 591 status = "disabled"; 888 592 }; 889 593 ··· 897 597 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; 898 598 pinctrl-names = "default"; 899 599 pinctrl-0 = <&pinctrl_spi0>; 600 + clocks = <&spi0_clk>; 601 + clock-names = "spi_clk"; 900 602 status = "disabled"; 901 603 }; 902 604 }; ··· 924 622 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 925 623 reg = <0x00300000 0x100000>; 926 624 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>; 625 + clocks = <&usb>, <&ohci_clk>, <&ohci_clk>, <&uhpck>; 626 + clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; 927 627 status = "disabled"; 928 628 }; 929 629 };
+8
arch/arm/boot/dts/at91rm9200ek.dts
··· 25 25 compatible = "atmel,osc", "fixed-clock"; 26 26 clock-frequency = <18432000>; 27 27 }; 28 + 29 + slow_xtal { 30 + clock-frequency = <32768>; 31 + }; 32 + 33 + main_xtal { 34 + clock-frequency = <18432000>; 35 + }; 28 36 }; 29 37 30 38 ahb {
+313 -1
arch/arm/boot/dts/at91sam9260.dtsi
··· 12 12 #include <dt-bindings/pinctrl/at91.h> 13 13 #include <dt-bindings/interrupt-controller/irq.h> 14 14 #include <dt-bindings/gpio/gpio.h> 15 + #include <dt-bindings/clock/at91.h> 15 16 16 17 / { 17 18 model = "Atmel AT91SAM9260 family SoC"; ··· 49 48 reg = <0x20000000 0x04000000>; 50 49 }; 51 50 51 + clocks { 52 + slow_xtal: slow_xtal { 53 + compatible = "fixed-clock"; 54 + #clock-cells = <0>; 55 + clock-frequency = <0>; 56 + }; 57 + 58 + main_xtal: main_xtal { 59 + compatible = "fixed-clock"; 60 + #clock-cells = <0>; 61 + clock-frequency = <0>; 62 + }; 63 + 64 + adc_op_clk: adc_op_clk{ 65 + compatible = "fixed-clock"; 66 + #clock-cells = <0>; 67 + clock-frequency = <5000000>; 68 + }; 69 + }; 70 + 52 71 ahb { 53 72 compatible = "simple-bus"; 54 73 #address-cells = <1>; ··· 95 74 }; 96 75 97 76 pmc: pmc@fffffc00 { 98 - compatible = "atmel,at91rm9200-pmc"; 77 + compatible = "atmel,at91sam9260-pmc"; 99 78 reg = <0xfffffc00 0x100>; 79 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 80 + interrupt-controller; 81 + #address-cells = <1>; 82 + #size-cells = <0>; 83 + #interrupt-cells = <1>; 84 + 85 + main_osc: main_osc { 86 + compatible = "atmel,at91rm9200-clk-main-osc"; 87 + #clock-cells = <0>; 88 + interrupts-extended = <&pmc AT91_PMC_MOSCS>; 89 + clocks = <&main_xtal>; 90 + }; 91 + 92 + main: mainck { 93 + compatible = "atmel,at91rm9200-clk-main"; 94 + #clock-cells = <0>; 95 + clocks = <&main_osc>; 96 + }; 97 + 98 + slow_rc_osc: slow_rc_osc { 99 + compatible = "fixed-clock"; 100 + #clock-cells = <0>; 101 + clock-frequency = <32768>; 102 + clock-accuracy = <50000000>; 103 + }; 104 + 105 + clk32k: slck { 106 + compatible = "atmel,at91sam9260-clk-slow"; 107 + #clock-cells = <0>; 108 + clocks = <&slow_rc_osc>, <&slow_xtal>; 109 + }; 110 + 111 + plla: pllack { 112 + compatible = "atmel,at91rm9200-clk-pll"; 113 + #clock-cells = <0>; 114 + interrupts-extended = <&pmc AT91_PMC_LOCKA>; 115 + clocks = <&main>; 116 + reg = <0>; 117 + atmel,clk-input-range = <1000000 32000000>; 118 + #atmel,pll-clk-output-range-cells = <4>; 119 + atmel,pll-clk-output-ranges = <80000000 160000000 0 1>, 120 + <150000000 240000000 2 1>; 121 + }; 122 + 123 + pllb: pllbck { 124 + compatible = "atmel,at91rm9200-clk-pll"; 125 + #clock-cells = <0>; 126 + interrupts-extended = <&pmc AT91_PMC_LOCKB>; 127 + clocks = <&main>; 128 + reg = <1>; 129 + atmel,clk-input-range = <1000000 5000000>; 130 + #atmel,pll-clk-output-range-cells = <4>; 131 + atmel,pll-clk-output-ranges = <70000000 130000000 1 1>; 132 + }; 133 + 134 + mck: masterck { 135 + compatible = "atmel,at91rm9200-clk-master"; 136 + #clock-cells = <0>; 137 + interrupts-extended = <&pmc AT91_PMC_MCKRDY>; 138 + clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; 139 + atmel,clk-output-range = <0 105000000>; 140 + atmel,clk-divisors = <1 2 4 0>; 141 + }; 142 + 143 + usb: usbck { 144 + compatible = "atmel,at91rm9200-clk-usb"; 145 + #clock-cells = <0>; 146 + atmel,clk-divisors = <1 2 4 0>; 147 + clocks = <&pllb>; 148 + }; 149 + 150 + prog: progck { 151 + compatible = "atmel,at91rm9200-clk-programmable"; 152 + #address-cells = <1>; 153 + #size-cells = <0>; 154 + interrupt-parent = <&pmc>; 155 + clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; 156 + 157 + prog0: prog0 { 158 + #clock-cells = <0>; 159 + reg = <0>; 160 + interrupts = <AT91_PMC_PCKRDY(0)>; 161 + }; 162 + 163 + prog1: prog1 { 164 + #clock-cells = <0>; 165 + reg = <1>; 166 + interrupts = <AT91_PMC_PCKRDY(1)>; 167 + }; 168 + }; 169 + 170 + systemck { 171 + compatible = "atmel,at91rm9200-clk-system"; 172 + #address-cells = <1>; 173 + #size-cells = <0>; 174 + 175 + uhpck: uhpck { 176 + #clock-cells = <0>; 177 + reg = <6>; 178 + clocks = <&usb>; 179 + }; 180 + 181 + udpck: udpck { 182 + #clock-cells = <0>; 183 + reg = <7>; 184 + clocks = <&usb>; 185 + }; 186 + 187 + pck0: pck0 { 188 + #clock-cells = <0>; 189 + reg = <8>; 190 + clocks = <&prog0>; 191 + }; 192 + 193 + pck1: pck1 { 194 + #clock-cells = <0>; 195 + reg = <9>; 196 + clocks = <&prog1>; 197 + }; 198 + }; 199 + 200 + periphck { 201 + compatible = "atmel,at91rm9200-clk-peripheral"; 202 + #address-cells = <1>; 203 + #size-cells = <0>; 204 + clocks = <&mck>; 205 + 206 + pioA_clk: pioA_clk { 207 + #clock-cells = <0>; 208 + reg = <2>; 209 + }; 210 + 211 + pioB_clk: pioB_clk { 212 + #clock-cells = <0>; 213 + reg = <3>; 214 + }; 215 + 216 + pioC_clk: pioC_clk { 217 + #clock-cells = <0>; 218 + reg = <4>; 219 + }; 220 + 221 + adc_clk: adc_clk { 222 + #clock-cells = <0>; 223 + reg = <5>; 224 + }; 225 + 226 + usart0_clk: usart0_clk { 227 + #clock-cells = <0>; 228 + reg = <6>; 229 + }; 230 + 231 + usart1_clk: usart1_clk { 232 + #clock-cells = <0>; 233 + reg = <7>; 234 + }; 235 + 236 + usart2_clk: usart2_clk { 237 + #clock-cells = <0>; 238 + reg = <8>; 239 + }; 240 + 241 + mci0_clk: mci0_clk { 242 + #clock-cells = <0>; 243 + reg = <9>; 244 + }; 245 + 246 + udc_clk: udc_clk { 247 + #clock-cells = <0>; 248 + reg = <10>; 249 + }; 250 + 251 + twi0_clk: twi0_clk { 252 + reg = <11>; 253 + #clock-cells = <0>; 254 + }; 255 + 256 + spi0_clk: spi0_clk { 257 + #clock-cells = <0>; 258 + reg = <12>; 259 + }; 260 + 261 + spi1_clk: spi1_clk { 262 + #clock-cells = <0>; 263 + reg = <13>; 264 + }; 265 + 266 + ssc0_clk: ssc0_clk { 267 + #clock-cells = <0>; 268 + reg = <14>; 269 + }; 270 + 271 + tc0_clk: tc0_clk { 272 + #clock-cells = <0>; 273 + reg = <17>; 274 + }; 275 + 276 + tc1_clk: tc1_clk { 277 + #clock-cells = <0>; 278 + reg = <18>; 279 + }; 280 + 281 + tc2_clk: tc2_clk { 282 + #clock-cells = <0>; 283 + reg = <19>; 284 + }; 285 + 286 + ohci_clk: ohci_clk { 287 + #clock-cells = <0>; 288 + reg = <20>; 289 + }; 290 + 291 + macb0_clk: macb0_clk { 292 + #clock-cells = <0>; 293 + reg = <21>; 294 + }; 295 + 296 + isi_clk: isi_clk { 297 + #clock-cells = <0>; 298 + reg = <22>; 299 + }; 300 + 301 + usart3_clk: usart3_clk { 302 + #clock-cells = <0>; 303 + reg = <23>; 304 + }; 305 + 306 + uart0_clk: uart0_clk { 307 + #clock-cells = <0>; 308 + reg = <24>; 309 + }; 310 + 311 + uart1_clk: uart1_clk { 312 + #clock-cells = <0>; 313 + reg = <25>; 314 + }; 315 + 316 + tc3_clk: tc3_clk { 317 + #clock-cells = <0>; 318 + reg = <26>; 319 + }; 320 + 321 + tc4_clk: tc4_clk { 322 + #clock-cells = <0>; 323 + reg = <27>; 324 + }; 325 + 326 + tc5_clk: tc5_clk { 327 + #clock-cells = <0>; 328 + reg = <28>; 329 + }; 330 + }; 100 331 }; 101 332 102 333 rstc@fffffd00 { ··· 365 92 compatible = "atmel,at91sam9260-pit"; 366 93 reg = <0xfffffd30 0xf>; 367 94 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 95 + clocks = <&mck>; 368 96 }; 369 97 370 98 tcb0: timer@fffa0000 { ··· 374 100 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 375 101 18 IRQ_TYPE_LEVEL_HIGH 0 376 102 19 IRQ_TYPE_LEVEL_HIGH 0>; 103 + clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>; 104 + clock-names = "t0_clk", "t1_clk", "t2_clk"; 377 105 }; 378 106 379 107 tcb1: timer@fffdc000 { ··· 384 108 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0 385 109 27 IRQ_TYPE_LEVEL_HIGH 0 386 110 28 IRQ_TYPE_LEVEL_HIGH 0>; 111 + clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>; 112 + clock-names = "t0_clk", "t1_clk", "t2_clk"; 387 113 }; 388 114 389 115 pinctrl@fffff400 { ··· 721 443 gpio-controller; 722 444 interrupt-controller; 723 445 #interrupt-cells = <2>; 446 + clocks = <&pioA_clk>; 724 447 }; 725 448 726 449 pioB: gpio@fffff600 { ··· 732 453 gpio-controller; 733 454 interrupt-controller; 734 455 #interrupt-cells = <2>; 456 + clocks = <&pioB_clk>; 735 457 }; 736 458 737 459 pioC: gpio@fffff800 { ··· 743 463 gpio-controller; 744 464 interrupt-controller; 745 465 #interrupt-cells = <2>; 466 + clocks = <&pioC_clk>; 746 467 }; 747 468 }; 748 469 ··· 753 472 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 754 473 pinctrl-names = "default"; 755 474 pinctrl-0 = <&pinctrl_dbgu>; 475 + clocks = <&mck>; 476 + clock-names = "usart"; 756 477 status = "disabled"; 757 478 }; 758 479 ··· 766 483 atmel,use-dma-tx; 767 484 pinctrl-names = "default"; 768 485 pinctrl-0 = <&pinctrl_usart0>; 486 + clocks = <&usart0_clk>; 487 + clock-names = "usart"; 769 488 status = "disabled"; 770 489 }; 771 490 ··· 779 494 atmel,use-dma-tx; 780 495 pinctrl-names = "default"; 781 496 pinctrl-0 = <&pinctrl_usart1>; 497 + clocks = <&usart1_clk>; 498 + clock-names = "usart"; 782 499 status = "disabled"; 783 500 }; 784 501 ··· 792 505 atmel,use-dma-tx; 793 506 pinctrl-names = "default"; 794 507 pinctrl-0 = <&pinctrl_usart2>; 508 + clocks = <&usart2_clk>; 509 + clock-names = "usart"; 795 510 status = "disabled"; 796 511 }; 797 512 ··· 805 516 atmel,use-dma-tx; 806 517 pinctrl-names = "default"; 807 518 pinctrl-0 = <&pinctrl_usart3>; 519 + clocks = <&usart3_clk>; 520 + clock-names = "usart"; 808 521 status = "disabled"; 809 522 }; 810 523 ··· 818 527 atmel,use-dma-tx; 819 528 pinctrl-names = "default"; 820 529 pinctrl-0 = <&pinctrl_uart0>; 530 + clocks = <&uart0_clk>; 531 + clock-names = "usart"; 821 532 status = "disabled"; 822 533 }; 823 534 ··· 831 538 atmel,use-dma-tx; 832 539 pinctrl-names = "default"; 833 540 pinctrl-0 = <&pinctrl_uart1>; 541 + clocks = <&uart1_clk>; 542 + clock-names = "usart"; 834 543 status = "disabled"; 835 544 }; 836 545 ··· 842 547 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; 843 548 pinctrl-names = "default"; 844 549 pinctrl-0 = <&pinctrl_macb_rmii>; 550 + clocks = <&macb0_clk>, <&macb0_clk>; 551 + clock-names = "hclk", "pclk"; 845 552 status = "disabled"; 846 553 }; 847 554 ··· 851 554 compatible = "atmel,at91rm9200-udc"; 852 555 reg = <0xfffa4000 0x4000>; 853 556 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>; 557 + clocks = <&udc_clk>, <&udpck>; 558 + clock-names = "pclk", "hclk"; 854 559 status = "disabled"; 855 560 }; 856 561 ··· 862 563 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>; 863 564 #address-cells = <1>; 864 565 #size-cells = <0>; 566 + clocks = <&twi0_clk>; 865 567 status = "disabled"; 866 568 }; 867 569 ··· 873 573 #address-cells = <1>; 874 574 #size-cells = <0>; 875 575 pinctrl-names = "default"; 576 + clocks = <&mci0_clk>; 577 + clock-names = "mci_clk"; 876 578 status = "disabled"; 877 579 }; 878 580 ··· 884 582 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; 885 583 pinctrl-names = "default"; 886 584 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 585 + clocks = <&ssc0_clk>; 586 + clock-names = "pclk"; 887 587 status = "disabled"; 888 588 }; 889 589 ··· 897 593 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>; 898 594 pinctrl-names = "default"; 899 595 pinctrl-0 = <&pinctrl_spi0>; 596 + clocks = <&spi0_clk>; 597 + clock-names = "spi_clk"; 900 598 status = "disabled"; 901 599 }; 902 600 ··· 910 604 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; 911 605 pinctrl-names = "default"; 912 606 pinctrl-0 = <&pinctrl_spi1>; 607 + clocks = <&spi1_clk>; 608 + clock-names = "spi_clk"; 913 609 status = "disabled"; 914 610 }; 915 611 ··· 921 613 compatible = "atmel,at91sam9260-adc"; 922 614 reg = <0xfffe0000 0x100>; 923 615 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>; 616 + clocks = <&adc_clk>, <&adc_op_clk>; 617 + clock-names = "adc_clk", "adc_op_clk"; 924 618 atmel,adc-use-external-triggers; 925 619 atmel,adc-channels-used = <0xf>; 926 620 atmel,adc-vref = <3300>; ··· 990 680 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 991 681 reg = <0x00500000 0x100000>; 992 682 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>; 683 + clocks = <&usb>, <&ohci_clk>, <&ohci_clk>, <&uhpck>; 684 + clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; 993 685 status = "disabled"; 994 686 }; 995 687 };
+11 -9
arch/arm/boot/dts/at91sam9261.dtsi
··· 46 46 reg = <0x20000000 0x08000000>; 47 47 }; 48 48 49 - main_xtal: main_xtal { 50 - compatible = "fixed-clock"; 51 - #clock-cells = <0>; 52 - clock-frequency = <0>; 53 - }; 49 + clocks { 50 + main_xtal: main_xtal { 51 + compatible = "fixed-clock"; 52 + #clock-cells = <0>; 53 + clock-frequency = <0>; 54 + }; 54 55 55 - slow_xtal: slow_xtal { 56 - compatible = "fixed-clock"; 57 - #clock-cells = <0>; 58 - clock-frequency = <0>; 56 + slow_xtal: slow_xtal { 57 + compatible = "fixed-clock"; 58 + #clock-cells = <0>; 59 + clock-frequency = <0>; 60 + }; 59 61 }; 60 62 61 63 ahb {
+8 -8
arch/arm/boot/dts/at91sam9261ek.dts
··· 20 20 reg = <0x20000000 0x4000000>; 21 21 }; 22 22 23 - slow_xtal { 24 - clock-frequency = <32768>; 25 - }; 26 - 27 - main_xtal { 28 - clock-frequency = <18432000>; 29 - }; 30 - 31 23 clocks { 32 24 #address-cells = <1>; 33 25 #size-cells = <1>; ··· 27 35 28 36 main_clock: clock@0 { 29 37 compatible = "atmel,osc", "fixed-clock"; 38 + clock-frequency = <18432000>; 39 + }; 40 + 41 + slow_xtal { 42 + clock-frequency = <32768>; 43 + }; 44 + 45 + main_xtal { 30 46 clock-frequency = <18432000>; 31 47 }; 32 48 };
+311
arch/arm/boot/dts/at91sam9263.dtsi
··· 10 10 #include <dt-bindings/pinctrl/at91.h> 11 11 #include <dt-bindings/interrupt-controller/irq.h> 12 12 #include <dt-bindings/gpio/gpio.h> 13 + #include <dt-bindings/clock/at91.h> 13 14 14 15 / { 15 16 model = "Atmel AT91SAM9263 family SoC"; ··· 33 32 ssc1 = &ssc1; 34 33 pwm0 = &pwm0; 35 34 }; 35 + 36 36 cpus { 37 37 #address-cells = <0>; 38 38 #size-cells = <0>; ··· 46 44 47 45 memory { 48 46 reg = <0x20000000 0x08000000>; 47 + }; 48 + 49 + clocks { 50 + main_xtal: main_xtal { 51 + compatible = "fixed-clock"; 52 + #clock-cells = <0>; 53 + clock-frequency = <0>; 54 + }; 55 + 56 + slow_xtal: slow_xtal { 57 + compatible = "fixed-clock"; 58 + #clock-cells = <0>; 59 + clock-frequency = <0>; 60 + }; 49 61 }; 50 62 51 63 ahb { ··· 85 69 pmc: pmc@fffffc00 { 86 70 compatible = "atmel,at91rm9200-pmc"; 87 71 reg = <0xfffffc00 0x100>; 72 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 73 + interrupt-controller; 74 + #address-cells = <1>; 75 + #size-cells = <0>; 76 + #interrupt-cells = <1>; 77 + 78 + main_osc: main_osc { 79 + compatible = "atmel,at91rm9200-clk-main-osc"; 80 + #clock-cells = <0>; 81 + interrupts-extended = <&pmc AT91_PMC_MOSCS>; 82 + clocks = <&main_xtal>; 83 + }; 84 + 85 + main: mainck { 86 + compatible = "atmel,at91rm9200-clk-main"; 87 + #clock-cells = <0>; 88 + clocks = <&main_osc>; 89 + }; 90 + 91 + plla: pllack { 92 + compatible = "atmel,at91rm9200-clk-pll"; 93 + #clock-cells = <0>; 94 + interrupts-extended = <&pmc AT91_PMC_LOCKA>; 95 + clocks = <&main>; 96 + reg = <0>; 97 + atmel,clk-input-range = <1000000 32000000>; 98 + #atmel,pll-clk-output-range-cells = <4>; 99 + atmel,pll-clk-output-ranges = <80000000 200000000 0 1>, 100 + <190000000 240000000 2 1>; 101 + }; 102 + 103 + pllb: pllbck { 104 + compatible = "atmel,at91rm9200-clk-pll"; 105 + #clock-cells = <0>; 106 + interrupts-extended = <&pmc AT91_PMC_LOCKB>; 107 + clocks = <&main>; 108 + reg = <1>; 109 + atmel,clk-input-range = <1000000 5000000>; 110 + #atmel,pll-clk-output-range-cells = <4>; 111 + atmel,pll-clk-output-ranges = <70000000 130000000 1 1>; 112 + }; 113 + 114 + mck: masterck { 115 + compatible = "atmel,at91rm9200-clk-master"; 116 + #clock-cells = <0>; 117 + interrupts-extended = <&pmc AT91_PMC_MCKRDY>; 118 + clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 119 + atmel,clk-output-range = <0 120000000>; 120 + atmel,clk-divisors = <1 2 4 0>; 121 + }; 122 + 123 + usb: usbck { 124 + compatible = "atmel,at91rm9200-clk-usb"; 125 + #clock-cells = <0>; 126 + atmel,clk-divisors = <1 2 4 0>; 127 + clocks = <&pllb>; 128 + }; 129 + 130 + prog: progck { 131 + compatible = "atmel,at91rm9200-clk-programmable"; 132 + #address-cells = <1>; 133 + #size-cells = <0>; 134 + interrupt-parent = <&pmc>; 135 + clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 136 + 137 + prog0: prog0 { 138 + #clock-cells = <0>; 139 + reg = <0>; 140 + interrupts = <AT91_PMC_PCKRDY(0)>; 141 + }; 142 + 143 + prog1: prog1 { 144 + #clock-cells = <0>; 145 + reg = <1>; 146 + interrupts = <AT91_PMC_PCKRDY(1)>; 147 + }; 148 + 149 + prog2: prog2 { 150 + #clock-cells = <0>; 151 + reg = <2>; 152 + interrupts = <AT91_PMC_PCKRDY(2)>; 153 + }; 154 + 155 + prog3: prog3 { 156 + #clock-cells = <0>; 157 + reg = <3>; 158 + interrupts = <AT91_PMC_PCKRDY(3)>; 159 + }; 160 + }; 161 + 162 + systemck { 163 + compatible = "atmel,at91rm9200-clk-system"; 164 + #address-cells = <1>; 165 + #size-cells = <0>; 166 + 167 + uhpck: uhpck { 168 + #clock-cells = <0>; 169 + reg = <6>; 170 + clocks = <&usb>; 171 + }; 172 + 173 + udpck: udpck { 174 + #clock-cells = <0>; 175 + reg = <7>; 176 + clocks = <&usb>; 177 + }; 178 + 179 + pck0: pck0 { 180 + #clock-cells = <0>; 181 + reg = <8>; 182 + clocks = <&prog0>; 183 + }; 184 + 185 + pck1: pck1 { 186 + #clock-cells = <0>; 187 + reg = <9>; 188 + clocks = <&prog1>; 189 + }; 190 + 191 + pck2: pck2 { 192 + #clock-cells = <0>; 193 + reg = <10>; 194 + clocks = <&prog2>; 195 + }; 196 + 197 + pck3: pck3 { 198 + #clock-cells = <0>; 199 + reg = <11>; 200 + clocks = <&prog3>; 201 + }; 202 + }; 203 + 204 + periphck { 205 + compatible = "atmel,at91rm9200-clk-peripheral"; 206 + #address-cells = <1>; 207 + #size-cells = <0>; 208 + clocks = <&mck>; 209 + 210 + pioA_clk: pioA_clk { 211 + #clock-cells = <0>; 212 + reg = <2>; 213 + }; 214 + 215 + pioB_clk: pioB_clk { 216 + #clock-cells = <0>; 217 + reg = <3>; 218 + }; 219 + 220 + pioCDE_clk: pioCDE_clk { 221 + #clock-cells = <0>; 222 + reg = <4>; 223 + }; 224 + 225 + usart0_clk: usart0_clk { 226 + #clock-cells = <0>; 227 + reg = <7>; 228 + }; 229 + 230 + usart1_clk: usart1_clk { 231 + #clock-cells = <0>; 232 + reg = <8>; 233 + }; 234 + 235 + usart2_clk: usart2_clk { 236 + #clock-cells = <0>; 237 + reg = <9>; 238 + }; 239 + 240 + mci0_clk: mci0_clk { 241 + #clock-cells = <0>; 242 + reg = <10>; 243 + }; 244 + 245 + mci1_clk: mci1_clk { 246 + #clock-cells = <0>; 247 + reg = <11>; 248 + }; 249 + 250 + can_clk: can_clk { 251 + #clock-cells = <0>; 252 + reg = <12>; 253 + }; 254 + 255 + twi0_clk: twi0_clk { 256 + #clock-cells = <0>; 257 + reg = <13>; 258 + }; 259 + 260 + spi0_clk: spi0_clk { 261 + #clock-cells = <0>; 262 + reg = <14>; 263 + }; 264 + 265 + spi1_clk: spi1_clk { 266 + #clock-cells = <0>; 267 + reg = <15>; 268 + }; 269 + 270 + ssc0_clk: ssc0_clk { 271 + #clock-cells = <0>; 272 + reg = <16>; 273 + }; 274 + 275 + ssc1_clk: ssc1_clk { 276 + #clock-cells = <0>; 277 + reg = <17>; 278 + }; 279 + 280 + ac91_clk: ac97_clk { 281 + #clock-cells = <0>; 282 + reg = <18>; 283 + }; 284 + 285 + tcb_clk: tcb_clk { 286 + #clock-cells = <0>; 287 + reg = <19>; 288 + }; 289 + 290 + pwm_clk: pwm_clk { 291 + #clock-cells = <0>; 292 + reg = <20>; 293 + }; 294 + 295 + macb0_clk: macb0_clk { 296 + #clock-cells = <0>; 297 + reg = <21>; 298 + }; 299 + 300 + g2de_clk: g2de_clk { 301 + #clock-cells = <0>; 302 + reg = <23>; 303 + }; 304 + 305 + udc_clk: udc_clk { 306 + #clock-cells = <0>; 307 + reg = <24>; 308 + }; 309 + 310 + isi_clk: isi_clk { 311 + #clock-cells = <0>; 312 + reg = <25>; 313 + }; 314 + 315 + lcd_clk: lcd_clk { 316 + #clock-cells = <0>; 317 + reg = <26>; 318 + }; 319 + 320 + dma_clk: dma_clk { 321 + #clock-cells = <0>; 322 + reg = <27>; 323 + }; 324 + 325 + ohci_clk: ohci_clk { 326 + #clock-cells = <0>; 327 + reg = <29>; 328 + }; 329 + }; 88 330 }; 89 331 90 332 ramc: ramc@ffffe200 { ··· 355 81 compatible = "atmel,at91sam9260-pit"; 356 82 reg = <0xfffffd30 0xf>; 357 83 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 84 + clocks = <&mck>; 358 85 }; 359 86 360 87 tcb0: timer@fff7c000 { 361 88 compatible = "atmel,at91rm9200-tcb"; 362 89 reg = <0xfff7c000 0x100>; 363 90 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>; 91 + clocks = <&tcb_clk>; 92 + clock-names = "t0_clk"; 364 93 }; 365 94 366 95 rstc@fffffd00 { ··· 680 403 gpio-controller; 681 404 interrupt-controller; 682 405 #interrupt-cells = <2>; 406 + clocks = <&pioA_clk>; 683 407 }; 684 408 685 409 pioB: gpio@fffff400 { ··· 691 413 gpio-controller; 692 414 interrupt-controller; 693 415 #interrupt-cells = <2>; 416 + clocks = <&pioB_clk>; 694 417 }; 695 418 696 419 pioC: gpio@fffff600 { ··· 702 423 gpio-controller; 703 424 interrupt-controller; 704 425 #interrupt-cells = <2>; 426 + clocks = <&pioCDE_clk>; 705 427 }; 706 428 707 429 pioD: gpio@fffff800 { ··· 713 433 gpio-controller; 714 434 interrupt-controller; 715 435 #interrupt-cells = <2>; 436 + clocks = <&pioCDE_clk>; 716 437 }; 717 438 718 439 pioE: gpio@fffffa00 { ··· 724 443 gpio-controller; 725 444 interrupt-controller; 726 445 #interrupt-cells = <2>; 446 + clocks = <&pioCDE_clk>; 727 447 }; 728 448 }; 729 449 ··· 734 452 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 735 453 pinctrl-names = "default"; 736 454 pinctrl-0 = <&pinctrl_dbgu>; 455 + clocks = <&mck>; 456 + clock-names = "usart"; 737 457 status = "disabled"; 738 458 }; 739 459 ··· 747 463 atmel,use-dma-tx; 748 464 pinctrl-names = "default"; 749 465 pinctrl-0 = <&pinctrl_usart0>; 466 + clocks = <&usart0_clk>; 467 + clock-names = "usart"; 750 468 status = "disabled"; 751 469 }; 752 470 ··· 760 474 atmel,use-dma-tx; 761 475 pinctrl-names = "default"; 762 476 pinctrl-0 = <&pinctrl_usart1>; 477 + clocks = <&usart1_clk>; 478 + clock-names = "usart"; 763 479 status = "disabled"; 764 480 }; 765 481 ··· 773 485 atmel,use-dma-tx; 774 486 pinctrl-names = "default"; 775 487 pinctrl-0 = <&pinctrl_usart2>; 488 + clocks = <&usart2_clk>; 489 + clock-names = "usart"; 776 490 status = "disabled"; 777 491 }; 778 492 ··· 784 494 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; 785 495 pinctrl-names = "default"; 786 496 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 497 + clocks = <&ssc0_clk>; 498 + clock-names = "pclk"; 787 499 status = "disabled"; 788 500 }; 789 501 ··· 795 503 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>; 796 504 pinctrl-names = "default"; 797 505 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 506 + clocks = <&ssc1_clk>; 507 + clock-names = "pclk"; 798 508 status = "disabled"; 799 509 }; 800 510 ··· 806 512 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; 807 513 pinctrl-names = "default"; 808 514 pinctrl-0 = <&pinctrl_macb_rmii>; 515 + clocks = <&macb0_clk>, <&macb0_clk>; 516 + clock-names = "hclk", "pclk"; 809 517 status = "disabled"; 810 518 }; 811 519 ··· 815 519 compatible = "atmel,at91rm9200-udc"; 816 520 reg = <0xfff78000 0x4000>; 817 521 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 2>; 522 + clocks = <&udc_clk>, <&udpck>; 523 + clock-names = "pclk", "hclk"; 818 524 status = "disabled"; 819 525 }; 820 526 ··· 826 528 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>; 827 529 #address-cells = <1>; 828 530 #size-cells = <0>; 531 + clocks = <&twi0_clk>; 829 532 status = "disabled"; 830 533 }; 831 534 ··· 836 537 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; 837 538 #address-cells = <1>; 838 539 #size-cells = <0>; 540 + clocks = <&mci0_clk>; 541 + clock-names = "mci_clk"; 839 542 status = "disabled"; 840 543 }; 841 544 ··· 847 546 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>; 848 547 #address-cells = <1>; 849 548 #size-cells = <0>; 549 + clocks = <&mci1_clk>; 550 + clock-names = "mci_clk"; 850 551 status = "disabled"; 851 552 }; 852 553 ··· 871 568 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>; 872 569 pinctrl-names = "default"; 873 570 pinctrl-0 = <&pinctrl_spi0>; 571 + clocks = <&spi0_clk>; 572 + clock-names = "spi_clk"; 874 573 status = "disabled"; 875 574 }; 876 575 ··· 884 579 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 3>; 885 580 pinctrl-names = "default"; 886 581 pinctrl-0 = <&pinctrl_spi1>; 582 + clocks = <&spi1_clk>; 583 + clock-names = "spi_clk"; 887 584 status = "disabled"; 888 585 }; 889 586 ··· 894 587 reg = <0xfffb8000 0x300>; 895 588 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 4>; 896 589 #pwm-cells = <3>; 590 + clocks = <&pwm_clk>; 591 + clock-names = "pwm_clk"; 897 592 status = "disabled"; 898 593 }; 899 594 }; ··· 931 622 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 932 623 reg = <0x00a00000 0x100000>; 933 624 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 2>; 625 + clocks = <&usb>, <&ohci_clk>, <&ohci_clk>, <&uhpck>; 626 + clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; 934 627 status = "disabled"; 935 628 }; 936 629 };
+8
arch/arm/boot/dts/at91sam9263ek.dts
··· 29 29 compatible = "atmel,osc", "fixed-clock"; 30 30 clock-frequency = <16367660>; 31 31 }; 32 + 33 + slow_xtal { 34 + clock-frequency = <32768>; 35 + }; 36 + 37 + main_xtal { 38 + clock-frequency = <16367660>; 39 + }; 32 40 }; 33 41 34 42 ahb {
+24
arch/arm/boot/dts/at91sam9g20.dtsi
··· 25 25 adc0: adc@fffe0000 { 26 26 atmel,adc-startup-time = <40>; 27 27 }; 28 + 29 + pmc: pmc@fffffc00 { 30 + plla: pllack { 31 + atmel,clk-input-range = <2000000 32000000>; 32 + atmel,pll-clk-output-ranges = <745000000 800000000 0 0>, 33 + <695000000 750000000 1 0>, 34 + <645000000 700000000 2 0>, 35 + <595000000 650000000 3 0>, 36 + <545000000 600000000 0 1>, 37 + <495000000 550000000 1 1>, 38 + <445000000 500000000 2 1>, 39 + <400000000 450000000 3 1>; 40 + }; 41 + 42 + pllb: pllbck { 43 + atmel,clk-input-range = <2000000 32000000>; 44 + atmel,pll-clk-output-ranges = <30000000 100000000 0 0>; 45 + }; 46 + 47 + mck: masterck { 48 + atmel,clk-output-range = <0 133000000>; 49 + atmel,clk-divisors = <1 2 4 6>; 50 + }; 51 + }; 28 52 }; 29 53 }; 30 54 };
+8
arch/arm/boot/dts/at91sam9g20ek_common.dtsi
··· 26 26 compatible = "atmel,osc", "fixed-clock"; 27 27 clock-frequency = <18432000>; 28 28 }; 29 + 30 + slow_xtal { 31 + clock-frequency = <32768>; 32 + }; 33 + 34 + main_xtal { 35 + clock-frequency = <18432000>; 36 + }; 29 37 }; 30 38 31 39 ahb {
+341 -1
arch/arm/boot/dts/at91sam9g45.dtsi
··· 14 14 #include <dt-bindings/pinctrl/at91.h> 15 15 #include <dt-bindings/interrupt-controller/irq.h> 16 16 #include <dt-bindings/gpio/gpio.h> 17 + #include <dt-bindings/clock/at91.h> 17 18 18 19 / { 19 20 model = "Atmel AT91SAM9G45 family SoC"; ··· 54 53 reg = <0x70000000 0x10000000>; 55 54 }; 56 55 56 + clocks { 57 + slow_xtal: slow_xtal { 58 + compatible = "fixed-clock"; 59 + #clock-cells = <0>; 60 + clock-frequency = <0>; 61 + }; 62 + 63 + main_xtal: main_xtal { 64 + compatible = "fixed-clock"; 65 + #clock-cells = <0>; 66 + clock-frequency = <0>; 67 + }; 68 + 69 + adc_op_clk: adc_op_clk{ 70 + compatible = "fixed-clock"; 71 + #clock-cells = <0>; 72 + clock-frequency = <300000>; 73 + }; 74 + }; 75 + 57 76 ahb { 58 77 compatible = "simple-bus"; 59 78 #address-cells = <1>; ··· 98 77 compatible = "atmel,at91sam9g45-ddramc"; 99 78 reg = <0xffffe400 0x200 100 79 0xffffe600 0x200>; 80 + clocks = <&ddrck>; 81 + clock-names = "ddrck"; 101 82 }; 102 83 103 84 pmc: pmc@fffffc00 { 104 - compatible = "atmel,at91rm9200-pmc"; 85 + compatible = "atmel,at91sam9g45-pmc"; 105 86 reg = <0xfffffc00 0x100>; 87 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 88 + interrupt-controller; 89 + #address-cells = <1>; 90 + #size-cells = <0>; 91 + #interrupt-cells = <1>; 92 + 93 + main_osc: main_osc { 94 + compatible = "atmel,at91rm9200-clk-main-osc"; 95 + #clock-cells = <0>; 96 + interrupts-extended = <&pmc AT91_PMC_MOSCS>; 97 + clocks = <&main_xtal>; 98 + }; 99 + 100 + main: mainck { 101 + compatible = "atmel,at91rm9200-clk-main"; 102 + #clock-cells = <0>; 103 + clocks = <&main_osc>; 104 + }; 105 + 106 + plla: pllack { 107 + compatible = "atmel,at91rm9200-clk-pll"; 108 + #clock-cells = <0>; 109 + interrupts-extended = <&pmc AT91_PMC_LOCKA>; 110 + clocks = <&main>; 111 + reg = <0>; 112 + atmel,clk-input-range = <2000000 32000000>; 113 + #atmel,pll-clk-output-range-cells = <4>; 114 + atmel,pll-clk-output-ranges = <745000000 800000000 0 0 115 + 695000000 750000000 1 0 116 + 645000000 700000000 2 0 117 + 595000000 650000000 3 0 118 + 545000000 600000000 0 1 119 + 495000000 555000000 1 1 120 + 445000000 500000000 2 1 121 + 400000000 450000000 3 1>; 122 + }; 123 + 124 + plladiv: plladivck { 125 + compatible = "atmel,at91sam9x5-clk-plldiv"; 126 + #clock-cells = <0>; 127 + clocks = <&plla>; 128 + }; 129 + 130 + utmi: utmick { 131 + compatible = "atmel,at91sam9x5-clk-utmi"; 132 + #clock-cells = <0>; 133 + interrupts-extended = <&pmc AT91_PMC_LOCKU>; 134 + clocks = <&main>; 135 + }; 136 + 137 + mck: masterck { 138 + compatible = "atmel,at91rm9200-clk-master"; 139 + #clock-cells = <0>; 140 + interrupts-extended = <&pmc AT91_PMC_MCKRDY>; 141 + clocks = <&slow_xtal>, <&main>, <&plladiv>, <&utmi>; 142 + atmel,clk-output-range = <0 133333333>; 143 + atmel,clk-divisors = <1 2 4 3>; 144 + }; 145 + 146 + usb: usbck { 147 + compatible = "atmel,at91sam9x5-clk-usb"; 148 + #clock-cells = <0>; 149 + clocks = <&plladiv>, <&utmi>; 150 + }; 151 + 152 + prog: progck { 153 + compatible = "atmel,at91sam9g45-clk-programmable"; 154 + #address-cells = <1>; 155 + #size-cells = <0>; 156 + interrupt-parent = <&pmc>; 157 + clocks = <&slow_xtal>, <&main>, <&plladiv>, <&utmi>, <&mck>; 158 + 159 + prog0: prog0 { 160 + #clock-cells = <0>; 161 + reg = <0>; 162 + interrupts = <AT91_PMC_PCKRDY(0)>; 163 + }; 164 + 165 + prog1: prog1 { 166 + #clock-cells = <0>; 167 + reg = <1>; 168 + interrupts = <AT91_PMC_PCKRDY(1)>; 169 + }; 170 + }; 171 + 172 + systemck { 173 + compatible = "atmel,at91rm9200-clk-system"; 174 + #address-cells = <1>; 175 + #size-cells = <0>; 176 + 177 + ddrck: ddrck { 178 + #clock-cells = <0>; 179 + reg = <2>; 180 + clocks = <&mck>; 181 + }; 182 + 183 + uhpck: uhpck { 184 + #clock-cells = <0>; 185 + reg = <6>; 186 + clocks = <&usb>; 187 + }; 188 + 189 + pck0: pck0 { 190 + #clock-cells = <0>; 191 + reg = <8>; 192 + clocks = <&prog0>; 193 + }; 194 + 195 + pck1: pck1 { 196 + #clock-cells = <0>; 197 + reg = <9>; 198 + clocks = <&prog1>; 199 + }; 200 + }; 201 + 202 + periphck { 203 + compatible = "atmel,at91rm9200-clk-peripheral"; 204 + #address-cells = <1>; 205 + #size-cells = <0>; 206 + clocks = <&mck>; 207 + 208 + pioA_clk: pioA_clk { 209 + #clock-cells = <0>; 210 + reg = <2>; 211 + }; 212 + 213 + pioB_clk: pioB_clk { 214 + #clock-cells = <0>; 215 + reg = <3>; 216 + }; 217 + 218 + pioC_clk: pioC_clk { 219 + #clock-cells = <0>; 220 + reg = <4>; 221 + }; 222 + 223 + pioDE_clk: pioDE_clk { 224 + #clock-cells = <0>; 225 + reg = <5>; 226 + }; 227 + 228 + trng_clk: trng_clk { 229 + #clock-cells = <0>; 230 + reg = <6>; 231 + }; 232 + 233 + usart0_clk: usart0_clk { 234 + #clock-cells = <0>; 235 + reg = <7>; 236 + }; 237 + 238 + usart1_clk: usart1_clk { 239 + #clock-cells = <0>; 240 + reg = <8>; 241 + }; 242 + 243 + usart2_clk: usart2_clk { 244 + #clock-cells = <0>; 245 + reg = <9>; 246 + }; 247 + 248 + usart3_clk: usart3_clk { 249 + #clock-cells = <0>; 250 + reg = <10>; 251 + }; 252 + 253 + mci0_clk: mci0_clk { 254 + #clock-cells = <0>; 255 + reg = <11>; 256 + }; 257 + 258 + twi0_clk: twi0_clk { 259 + #clock-cells = <0>; 260 + reg = <12>; 261 + }; 262 + 263 + twi1_clk: twi1_clk { 264 + #clock-cells = <0>; 265 + reg = <13>; 266 + }; 267 + 268 + spi0_clk: spi0_clk { 269 + #clock-cells = <0>; 270 + reg = <14>; 271 + }; 272 + 273 + spi1_clk: spi1_clk { 274 + #clock-cells = <0>; 275 + reg = <15>; 276 + }; 277 + 278 + ssc0_clk: ssc0_clk { 279 + #clock-cells = <0>; 280 + reg = <16>; 281 + }; 282 + 283 + ssc1_clk: ssc1_clk { 284 + #clock-cells = <0>; 285 + reg = <17>; 286 + }; 287 + 288 + tcb0_clk: tcb0_clk { 289 + #clock-cells = <0>; 290 + reg = <18>; 291 + }; 292 + 293 + pwm_clk: pwm_clk { 294 + #clock-cells = <0>; 295 + reg = <19>; 296 + }; 297 + 298 + adc_clk: adc_clk { 299 + #clock-cells = <0>; 300 + reg = <20>; 301 + }; 302 + 303 + dma0_clk: dma0_clk { 304 + #clock-cells = <0>; 305 + reg = <21>; 306 + }; 307 + 308 + uhphs_clk: uhphs_clk { 309 + #clock-cells = <0>; 310 + reg = <22>; 311 + }; 312 + 313 + lcd_clk: lcd_clk { 314 + #clock-cells = <0>; 315 + reg = <23>; 316 + }; 317 + 318 + ac97_clk: ac97_clk { 319 + #clock-cells = <0>; 320 + reg = <24>; 321 + }; 322 + 323 + macb0_clk: macb0_clk { 324 + #clock-cells = <0>; 325 + reg = <25>; 326 + }; 327 + 328 + isi_clk: isi_clk { 329 + #clock-cells = <0>; 330 + reg = <26>; 331 + }; 332 + 333 + udphs_clk: udphs_clk { 334 + #clock-cells = <0>; 335 + reg = <27>; 336 + }; 337 + 338 + aestdessha_clk: aestdessha_clk { 339 + #clock-cells = <0>; 340 + reg = <28>; 341 + }; 342 + 343 + mci1_clk: mci1_clk { 344 + #clock-cells = <0>; 345 + reg = <29>; 346 + }; 347 + 348 + vdec_clk: vdec_clk { 349 + #clock-cells = <0>; 350 + reg = <30>; 351 + }; 352 + }; 106 353 }; 107 354 108 355 rstc@fffffd00 { ··· 382 93 compatible = "atmel,at91sam9260-pit"; 383 94 reg = <0xfffffd30 0xf>; 384 95 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 96 + clocks = <&mck>; 385 97 }; 386 98 387 99 ··· 395 105 compatible = "atmel,at91rm9200-tcb"; 396 106 reg = <0xfff7c000 0x100>; 397 107 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; 108 + clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>; 109 + clock-names = "t0_clk", "t1_clk", "t2_clk"; 398 110 }; 399 111 400 112 tcb1: timer@fffd4000 { 401 113 compatible = "atmel,at91rm9200-tcb"; 402 114 reg = <0xfffd4000 0x100>; 403 115 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; 116 + clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>; 117 + clock-names = "t0_clk", "t1_clk", "t2_clk"; 404 118 }; 405 119 406 120 dma: dma-controller@ffffec00 { ··· 412 118 reg = <0xffffec00 0x200>; 413 119 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>; 414 120 #dma-cells = <2>; 121 + clocks = <&dma0_clk>; 122 + clock-names = "dma_clk"; 415 123 }; 416 124 417 125 pinctrl@fffff200 { ··· 812 516 gpio-controller; 813 517 interrupt-controller; 814 518 #interrupt-cells = <2>; 519 + clocks = <&pioA_clk>; 815 520 }; 816 521 817 522 pioB: gpio@fffff400 { ··· 823 526 gpio-controller; 824 527 interrupt-controller; 825 528 #interrupt-cells = <2>; 529 + clocks = <&pioB_clk>; 826 530 }; 827 531 828 532 pioC: gpio@fffff600 { ··· 834 536 gpio-controller; 835 537 interrupt-controller; 836 538 #interrupt-cells = <2>; 539 + clocks = <&pioC_clk>; 837 540 }; 838 541 839 542 pioD: gpio@fffff800 { ··· 845 546 gpio-controller; 846 547 interrupt-controller; 847 548 #interrupt-cells = <2>; 549 + clocks = <&pioDE_clk>; 848 550 }; 849 551 850 552 pioE: gpio@fffffa00 { ··· 856 556 gpio-controller; 857 557 interrupt-controller; 858 558 #interrupt-cells = <2>; 559 + clocks = <&pioDE_clk>; 859 560 }; 860 561 }; 861 562 ··· 866 565 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 867 566 pinctrl-names = "default"; 868 567 pinctrl-0 = <&pinctrl_dbgu>; 568 + clocks = <&mck>; 569 + clock-names = "usart"; 869 570 status = "disabled"; 870 571 }; 871 572 ··· 879 576 atmel,use-dma-tx; 880 577 pinctrl-names = "default"; 881 578 pinctrl-0 = <&pinctrl_usart0>; 579 + clocks = <&usart0_clk>; 580 + clock-names = "usart"; 882 581 status = "disabled"; 883 582 }; 884 583 ··· 892 587 atmel,use-dma-tx; 893 588 pinctrl-names = "default"; 894 589 pinctrl-0 = <&pinctrl_usart1>; 590 + clocks = <&usart1_clk>; 591 + clock-names = "usart"; 895 592 status = "disabled"; 896 593 }; 897 594 ··· 905 598 atmel,use-dma-tx; 906 599 pinctrl-names = "default"; 907 600 pinctrl-0 = <&pinctrl_usart2>; 601 + clocks = <&usart2_clk>; 602 + clock-names = "usart"; 908 603 status = "disabled"; 909 604 }; 910 605 ··· 918 609 atmel,use-dma-tx; 919 610 pinctrl-names = "default"; 920 611 pinctrl-0 = <&pinctrl_usart3>; 612 + clocks = <&usart3_clk>; 613 + clock-names = "usart"; 921 614 status = "disabled"; 922 615 }; 923 616 ··· 929 618 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>; 930 619 pinctrl-names = "default"; 931 620 pinctrl-0 = <&pinctrl_macb_rmii>; 621 + clocks = <&macb0_clk>, <&macb0_clk>; 622 + clock-names = "hclk", "pclk"; 932 623 status = "disabled"; 933 624 }; 934 625 ··· 942 629 pinctrl-0 = <&pinctrl_i2c0>; 943 630 #address-cells = <1>; 944 631 #size-cells = <0>; 632 + clocks = <&twi0_clk>; 945 633 status = "disabled"; 946 634 }; 947 635 ··· 954 640 pinctrl-0 = <&pinctrl_i2c1>; 955 641 #address-cells = <1>; 956 642 #size-cells = <0>; 643 + clocks = <&twi1_clk>; 957 644 status = "disabled"; 958 645 }; 959 646 ··· 964 649 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; 965 650 pinctrl-names = "default"; 966 651 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 652 + clocks = <&ssc0_clk>; 653 + clock-names = "pclk"; 967 654 status = "disabled"; 968 655 }; 969 656 ··· 975 658 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>; 976 659 pinctrl-names = "default"; 977 660 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 661 + clocks = <&ssc1_clk>; 662 + clock-names = "pclk"; 978 663 status = "disabled"; 979 664 }; 980 665 ··· 986 667 compatible = "atmel,at91sam9g45-adc"; 987 668 reg = <0xfffb0000 0x100>; 988 669 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>; 670 + clocks = <&adc_clk>, <&adc_op_clk>; 671 + clock-names = "adc_clk", "adc_op_clk"; 989 672 atmel,adc-channels-used = <0xff>; 990 673 atmel,adc-vref = <3300>; 991 674 atmel,adc-startup-time = <40>; ··· 1027 706 reg = <0xfffb8000 0x300>; 1028 707 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 4>; 1029 708 #pwm-cells = <3>; 709 + clocks = <&pwm_clk>; 1030 710 status = "disabled"; 1031 711 }; 1032 712 ··· 1040 718 dma-names = "rxtx"; 1041 719 #address-cells = <1>; 1042 720 #size-cells = <0>; 721 + clocks = <&mci0_clk>; 722 + clock-names = "mci_clk"; 1043 723 status = "disabled"; 1044 724 }; 1045 725 ··· 1054 730 dma-names = "rxtx"; 1055 731 #address-cells = <1>; 1056 732 #size-cells = <0>; 733 + clocks = <&mci1_clk>; 734 + clock-names = "mci_clk"; 1057 735 status = "disabled"; 1058 736 }; 1059 737 ··· 1078 752 interrupts = <14 4 3>; 1079 753 pinctrl-names = "default"; 1080 754 pinctrl-0 = <&pinctrl_spi0>; 755 + clocks = <&spi0_clk>; 756 + clock-names = "spi_clk"; 1081 757 status = "disabled"; 1082 758 }; 1083 759 ··· 1091 763 interrupts = <15 4 3>; 1092 764 pinctrl-names = "default"; 1093 765 pinctrl-0 = <&pinctrl_spi1>; 766 + clocks = <&spi1_clk>; 767 + clock-names = "spi_clk"; 1094 768 status = "disabled"; 1095 769 }; 1096 770 ··· 1103 773 reg = <0x00600000 0x80000 1104 774 0xfff78000 0x400>; 1105 775 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>; 776 + clocks = <&udphs_clk>, <&utmi>; 777 + clock-names = "pclk", "hclk"; 1106 778 status = "disabled"; 1107 779 1108 780 ep0 { ··· 1167 835 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>; 1168 836 pinctrl-names = "default"; 1169 837 pinctrl-0 = <&pinctrl_fb>; 838 + clocks = <&lcd_clk>, <&lcd_clk>; 839 + clock-names = "hclk", "lcdc_clk"; 1170 840 status = "disabled"; 1171 841 }; 1172 842 ··· 1195 861 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1196 862 reg = <0x00700000 0x100000>; 1197 863 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; 864 + //TODO 865 + clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 866 + clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; 1198 867 status = "disabled"; 1199 868 }; 1200 869 ··· 1205 868 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 1206 869 reg = <0x00800000 0x100000>; 1207 870 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; 871 + //TODO 872 + clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 873 + clock-names = "usb_clk", "ehci_clk", "hclk", "uhpck"; 1208 874 status = "disabled"; 1209 875 }; 1210 876 };
+8
arch/arm/boot/dts/at91sam9m10g45ek.dts
··· 31 31 compatible = "atmel,osc", "fixed-clock"; 32 32 clock-frequency = <12000000>; 33 33 }; 34 + 35 + slow_xtal { 36 + clock-frequency = <32768>; 37 + }; 38 + 39 + main_xtal { 40 + clock-frequency = <12000000>; 41 + }; 34 42 }; 35 43 36 44 ahb {
+11 -9
arch/arm/boot/dts/at91sam9n12.dtsi
··· 50 50 reg = <0x20000000 0x10000000>; 51 51 }; 52 52 53 - slow_xtal: slow_xtal { 54 - compatible = "fixed-clock"; 55 - #clock-cells = <0>; 56 - clock-frequency = <0>; 57 - }; 53 + clocks { 54 + slow_xtal: slow_xtal { 55 + compatible = "fixed-clock"; 56 + #clock-cells = <0>; 57 + clock-frequency = <0>; 58 + }; 58 59 59 - main_xtal: main_xtal { 60 - compatible = "fixed-clock"; 61 - #clock-cells = <0>; 62 - clock-frequency = <0>; 60 + main_xtal: main_xtal { 61 + compatible = "fixed-clock"; 62 + #clock-cells = <0>; 63 + clock-frequency = <0>; 64 + }; 63 65 }; 64 66 65 67 ahb {
+10 -8
arch/arm/boot/dts/at91sam9n12ek.dts
··· 21 21 reg = <0x20000000 0x8000000>; 22 22 }; 23 23 24 - slow_xtal { 25 - clock-frequency = <32768>; 26 - }; 27 - 28 - main_xtal { 29 - clock-frequency = <16000000>; 30 - }; 31 - 32 24 clocks { 33 25 #address-cells = <1>; 34 26 #size-cells = <1>; ··· 28 36 29 37 main_clock: clock@0 { 30 38 compatible = "atmel,osc", "fixed-clock"; 39 + clock-frequency = <16000000>; 40 + }; 41 + 42 + slow_xtal { 43 + clock-frequency = <32768>; 44 + }; 45 + 46 + main_xtal { 31 47 clock-frequency = <16000000>; 32 48 }; 33 49 }; ··· 56 56 wm8904: codec@1a { 57 57 compatible = "wm8904"; 58 58 reg = <0x1a>; 59 + clocks = <&pck0>; 60 + clock-names = "mclk"; 59 61 }; 60 62 61 63 qt1070: keyboard@1b {
+22 -12
arch/arm/boot/dts/at91sam9rl.dtsi
··· 50 50 reg = <0x20000000 0x04000000>; 51 51 }; 52 52 53 - slow_xtal: slow_xtal { 54 - compatible = "fixed-clock"; 55 - #clock-cells = <0>; 56 - clock-frequency = <0>; 57 - }; 58 - 59 - main_xtal: main_xtal { 60 - compatible = "fixed-clock"; 61 - #clock-cells = <0>; 62 - clock-frequency = <0>; 63 - }; 64 - 65 53 clocks { 54 + slow_xtal: slow_xtal { 55 + compatible = "fixed-clock"; 56 + #clock-cells = <0>; 57 + clock-frequency = <0>; 58 + }; 59 + 60 + main_xtal: main_xtal { 61 + compatible = "fixed-clock"; 62 + #clock-cells = <0>; 63 + clock-frequency = <0>; 64 + }; 65 + 66 66 adc_op_clk: adc_op_clk{ 67 67 compatible = "fixed-clock"; 68 68 #clock-cells = <0>; ··· 95 95 <0xffffe800 0x200>; 96 96 atmel,nand-addr-offset = <21>; 97 97 atmel,nand-cmd-offset = <22>; 98 + atmel,nand-has-dma; 98 99 pinctrl-names = "default"; 99 100 pinctrl-0 = <&pinctrl_nand>; 100 101 gpios = <&pioD 17 GPIO_ACTIVE_HIGH>, ··· 347 346 atmel,can-dma; 348 347 atmel,can-isoc; 349 348 }; 349 + }; 350 + 351 + dma0: dma-controller@ffffe600 { 352 + compatible = "atmel,at91sam9rl-dma"; 353 + reg = <0xffffe600 0x200>; 354 + interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>; 355 + #dma-cells = <2>; 356 + clocks = <&dma0_clk>; 357 + clock-names = "dma_clk"; 350 358 }; 351 359 352 360 ramc0: ramc@ffffea00 {
+8 -9
arch/arm/boot/dts/at91sam9rlek.dts
··· 20 20 reg = <0x20000000 0x4000000>; 21 21 }; 22 22 23 - 24 - slow_xtal { 25 - clock-frequency = <32768>; 26 - }; 27 - 28 - main_xtal { 29 - clock-frequency = <12000000>; 30 - }; 31 - 32 23 clocks { 33 24 #address-cells = <1>; 34 25 #size-cells = <1>; ··· 27 36 28 37 main_clock: clock { 29 38 compatible = "atmel,osc", "fixed-clock"; 39 + clock-frequency = <12000000>; 40 + }; 41 + 42 + slow_xtal { 43 + clock-frequency = <32768>; 44 + }; 45 + 46 + main_xtal { 30 47 clock-frequency = <12000000>; 31 48 }; 32 49 };
+16 -14
arch/arm/boot/dts/at91sam9x5.dtsi
··· 52 52 reg = <0x20000000 0x10000000>; 53 53 }; 54 54 55 - slow_xtal: slow_xtal { 56 - compatible = "fixed-clock"; 57 - #clock-cells = <0>; 58 - clock-frequency = <0>; 59 - }; 55 + clocks { 56 + slow_xtal: slow_xtal { 57 + compatible = "fixed-clock"; 58 + #clock-cells = <0>; 59 + clock-frequency = <0>; 60 + }; 60 61 61 - main_xtal: main_xtal { 62 - compatible = "fixed-clock"; 63 - #clock-cells = <0>; 64 - clock-frequency = <0>; 65 - }; 62 + main_xtal: main_xtal { 63 + compatible = "fixed-clock"; 64 + #clock-cells = <0>; 65 + clock-frequency = <0>; 66 + }; 66 67 67 - adc_op_clk: adc_op_clk{ 68 - compatible = "fixed-clock"; 69 - #clock-cells = <0>; 70 - clock-frequency = <5000000>; 68 + adc_op_clk: adc_op_clk{ 69 + compatible = "fixed-clock"; 70 + #clock-cells = <0>; 71 + clock-frequency = <5000000>; 72 + }; 71 73 }; 72 74 73 75 ahb {
+7 -5
arch/arm/boot/dts/at91sam9x5cm.dtsi
··· 23 23 }; 24 24 }; 25 25 26 - slow_xtal { 27 - clock-frequency = <32768>; 28 - }; 26 + clocks { 27 + slow_xtal { 28 + clock-frequency = <32768>; 29 + }; 29 30 30 - main_xtal { 31 - clock-frequency = <12000000>; 31 + main_xtal { 32 + clock-frequency = <12000000>; 33 + }; 32 34 }; 33 35 34 36 ahb {
+10
arch/arm/boot/dts/ethernut5.dts
··· 20 20 reg = <0x20000000 0x08000000>; 21 21 }; 22 22 23 + clocks { 24 + slow_xtal { 25 + clock-frequency = <32768>; 26 + }; 27 + 28 + main_xtal { 29 + clock-frequency = <18432000>; 30 + }; 31 + }; 32 + 23 33 ahb { 24 34 apb { 25 35 dbgu: serial@fffff200 {
+6
arch/arm/boot/dts/evk-pro3.dts
··· 15 15 model = "Telit EVK-PRO3 for Telit GE863-PRO3"; 16 16 compatible = "telit,evk-pro3", "atmel,at91sam9260", "atmel,at91sam9"; 17 17 18 + clocks { 19 + slow_xtal { 20 + clock-frequency = <32768>; 21 + }; 22 + }; 23 + 18 24 ahb { 19 25 apb { 20 26 macb0: ethernet@fffc4000 {
+4
arch/arm/boot/dts/ge863-pro3.dtsi
··· 19 19 compatible = "atmel,osc", "fixed-clock"; 20 20 clock-frequency = <6000000>; 21 21 }; 22 + 23 + main_xtal { 24 + clock-frequency = <6000000>; 25 + }; 22 26 }; 23 27 24 28 ahb {
+4
arch/arm/boot/dts/kizbox.dts
··· 30 30 compatible = "atmel,osc", "fixed-clock"; 31 31 clock-frequency = <18432000>; 32 32 }; 33 + 34 + main_xtal { 35 + clock-frequency = <18432000>; 36 + }; 33 37 }; 34 38 35 39 ahb {
+8
arch/arm/boot/dts/mpa1600.dts
··· 25 25 compatible = "atmel,osc", "fixed-clock"; 26 26 clock-frequency = <18432000>; 27 27 }; 28 + 29 + slow_xtal { 30 + clock-frequency = <32768>; 31 + }; 32 + 33 + main_xtal { 34 + clock-frequency = <18432000>; 35 + }; 28 36 }; 29 37 30 38 ahb {
+8
arch/arm/boot/dts/pm9g45.dts
··· 29 29 compatible = "atmel,osc", "fixed-clock"; 30 30 clock-frequency = <12000000>; 31 31 }; 32 + 33 + slow_xtal { 34 + clock-frequency = <32768>; 35 + }; 36 + 37 + main_xtal { 38 + clock-frequency = <12000000>; 39 + }; 32 40 }; 33 41 34 42 ahb {
+12 -12
arch/arm/boot/dts/sama5d3.dtsi
··· 58 58 reg = <0x20000000 0x8000000>; 59 59 }; 60 60 61 - slow_xtal: slow_xtal { 62 - compatible = "fixed-clock"; 63 - #clock-cells = <0>; 64 - clock-frequency = <0>; 65 - }; 66 - 67 - main_xtal: main_xtal { 68 - compatible = "fixed-clock"; 69 - #clock-cells = <0>; 70 - clock-frequency = <0>; 71 - }; 72 - 73 61 clocks { 62 + slow_xtal: slow_xtal { 63 + compatible = "fixed-clock"; 64 + #clock-cells = <0>; 65 + clock-frequency = <0>; 66 + }; 67 + 68 + main_xtal: main_xtal { 69 + compatible = "fixed-clock"; 70 + #clock-cells = <0>; 71 + clock-frequency = <0>; 72 + }; 73 + 74 74 adc_op_clk: adc_op_clk{ 75 75 compatible = "fixed-clock"; 76 76 #clock-cells = <0>;
+7 -5
arch/arm/boot/dts/sama5d3xcm.dtsi
··· 18 18 reg = <0x20000000 0x20000000>; 19 19 }; 20 20 21 - slow_xtal { 22 - clock-frequency = <32768>; 23 - }; 21 + clocks { 22 + slow_xtal { 23 + clock-frequency = <32768>; 24 + }; 24 25 25 - main_xtal { 26 - clock-frequency = <12000000>; 26 + main_xtal { 27 + clock-frequency = <12000000>; 28 + }; 27 29 }; 28 30 29 31 ahb {
+2
arch/arm/boot/dts/sama5d3xmb.dtsi
··· 45 45 wm8904: wm8904@1a { 46 46 compatible = "wm8904"; 47 47 reg = <0x1a>; 48 + clocks = <&pck0>; 49 + clock-names = "mclk"; 48 50 }; 49 51 }; 50 52
+8
arch/arm/boot/dts/tny_a9260_common.dtsi
··· 24 24 compatible = "atmel,osc", "fixed-clock"; 25 25 clock-frequency = <12000000>; 26 26 }; 27 + 28 + slow_xtal { 29 + clock-frequency = <32768>; 30 + }; 31 + 32 + main_xtal { 33 + clock-frequency = <12000000>; 34 + }; 27 35 }; 28 36 29 37 ahb {
+8
arch/arm/boot/dts/tny_a9263.dts
··· 29 29 compatible = "atmel,osc", "fixed-clock"; 30 30 clock-frequency = <12000000>; 31 31 }; 32 + 33 + slow_xtal { 34 + clock-frequency = <32768>; 35 + }; 36 + 37 + main_xtal { 38 + clock-frequency = <12000000>; 39 + }; 32 40 }; 33 41 34 42 ahb {
+8
arch/arm/boot/dts/usb_a9260_common.dtsi
··· 16 16 compatible = "atmel,osc", "fixed-clock"; 17 17 clock-frequency = <12000000>; 18 18 }; 19 + 20 + slow_xtal { 21 + clock-frequency = <32768>; 22 + }; 23 + 24 + main_xtal { 25 + clock-frequency = <12000000>; 26 + }; 19 27 }; 20 28 21 29 ahb {
+8
arch/arm/boot/dts/usb_a9263.dts
··· 29 29 compatible = "atmel,osc", "fixed-clock"; 30 30 clock-frequency = <12000000>; 31 31 }; 32 + 33 + slow_xtal { 34 + clock-frequency = <32768>; 35 + }; 36 + 37 + main_xtal { 38 + clock-frequency = <12000000>; 39 + }; 32 40 }; 33 41 34 42 ahb {
-4
arch/arm/mach-at91/Kconfig
··· 113 113 select HAVE_AT91_DBGU0 114 114 select MULTI_IRQ_HANDLER 115 115 select SPARSE_IRQ 116 - select AT91_USE_OLD_CLK 117 116 select HAVE_AT91_USB_CLK 118 117 119 118 config SOC_AT91SAM9260 120 119 bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20" 121 120 select HAVE_AT91_DBGU0 122 121 select SOC_AT91SAM9 123 - select AT91_USE_OLD_CLK 124 122 select HAVE_AT91_USB_CLK 125 123 help 126 124 Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE ··· 138 140 select HAVE_AT91_DBGU1 139 141 select HAVE_FB_ATMEL 140 142 select SOC_AT91SAM9 141 - select AT91_USE_OLD_CLK 142 143 select HAVE_AT91_USB_CLK 143 144 144 145 config SOC_AT91SAM9RL ··· 152 155 select HAVE_AT91_DBGU1 153 156 select HAVE_FB_ATMEL 154 157 select SOC_AT91SAM9 155 - select AT91_USE_OLD_CLK 156 158 select HAVE_AT91_UTMI 157 159 select HAVE_AT91_USB_CLK 158 160 help
+5 -1
arch/arm/mach-at91/at91rm9200.c
··· 26 26 #include "at91_aic.h" 27 27 #include "soc.h" 28 28 #include "generic.h" 29 - #include "clock.h" 30 29 #include "sam9_smc.h" 31 30 #include "pm.h" 32 31 32 + #if defined(CONFIG_OLD_CLK_AT91) 33 + #include "clock.h" 33 34 /* -------------------------------------------------------------------- 34 35 * Clocks 35 36 * -------------------------------------------------------------------- */ ··· 278 277 clk_register(&pck2); 279 278 clk_register(&pck3); 280 279 } 280 + #else 281 + #define at91rm9200_register_clocks NULL 282 + #endif 281 283 282 284 /* -------------------------------------------------------------------- 283 285 * GPIO
+5 -1
arch/arm/mach-at91/at91sam9260.c
··· 27 27 #include "at91_rstc.h" 28 28 #include "soc.h" 29 29 #include "generic.h" 30 - #include "clock.h" 31 30 #include "sam9_smc.h" 32 31 #include "pm.h" 33 32 33 + #if defined(CONFIG_OLD_CLK_AT91) 34 + #include "clock.h" 34 35 /* -------------------------------------------------------------------- 35 36 * Clocks 36 37 * -------------------------------------------------------------------- */ ··· 289 288 clk_register(&pck0); 290 289 clk_register(&pck1); 291 290 } 291 + #else 292 + #define at91sam9260_register_clocks NULL 293 + #endif 292 294 293 295 /* -------------------------------------------------------------------- 294 296 * GPIO
+5 -1
arch/arm/mach-at91/at91sam9263.c
··· 25 25 #include "at91_rstc.h" 26 26 #include "soc.h" 27 27 #include "generic.h" 28 - #include "clock.h" 29 28 #include "sam9_smc.h" 30 29 #include "pm.h" 31 30 31 + #if defined(CONFIG_OLD_CLK_AT91) 32 + #include "clock.h" 32 33 /* -------------------------------------------------------------------- 33 34 * Clocks 34 35 * -------------------------------------------------------------------- */ ··· 281 280 clk_register(&pck2); 282 281 clk_register(&pck3); 283 282 } 283 + #else 284 + #define at91sam9263_register_clocks NULL 285 + #endif 284 286 285 287 /* -------------------------------------------------------------------- 286 288 * GPIO
+5 -1
arch/arm/mach-at91/at91sam9g45.c
··· 25 25 #include "at91_aic.h" 26 26 #include "soc.h" 27 27 #include "generic.h" 28 - #include "clock.h" 29 28 #include "sam9_smc.h" 30 29 #include "pm.h" 31 30 31 + #if defined(CONFIG_OLD_CLK_AT91) 32 + #include "clock.h" 32 33 /* -------------------------------------------------------------------- 33 34 * Clocks 34 35 * -------------------------------------------------------------------- */ ··· 332 331 clk_register(&pck0); 333 332 clk_register(&pck1); 334 333 } 334 + #else 335 + #define at91sam9g45_register_clocks NULL 336 + #endif 335 337 336 338 /* -------------------------------------------------------------------- 337 339 * GPIO