diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-12-21 11:19:38 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2017-12-21 11:19:38 -0500 |
commit | 24ff73a0af2c41fa32fd5d0836ab52e7cc93e9d5 (patch) | |
tree | d0af0cd2896b7562bcdbde188f438f0d84878aba | |
parent | 8d7ac420c161a63574e1709288a035148d3b377e (diff) | |
parent | 80a06c0d8357d1e75a8fbc10813fcdada4d897fb (diff) |
Merge tag 'omap-for-v4.16/dt-clk-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
Pull "Clock related dts changes for omaps for v4.16 merge window" from
Tony Lindgren:
This branch contains a series of dts changes from Tero Kristo to
start using clkctrl clocks.
Note that this branch is based on a merge of omap-for-v4.16/soc-signed
and an immutable commit from Tero Kristo fe7020e64f04 ("clk: ti: omap4:
clkctrl data fixes for opt-clocks") that is also in clk-next.
* tag 'omap-for-v4.16/dt-clk-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (57 commits)
ARM: dts: dm816x: add clkctrl nodes
ARM: dts: dm814x: add clkctrl nodes
ARM: dts: am43xx: add clkctrl nodes
ARM: dts: am33xx: add clkctrl nodes
ARM: dts: dra7: add clkctrl nodes
ARM: dts: omap5: add clkctrl nodes
ARM: dts: omap4: add clkctrl nodes
ARM: dts: dm816x: add bus functionality to base PRCM node
ARM: dts: am43xx: add bus functionality to base PRCM node
ARM: dts: am33xx: add bus functionality to base PRCM node
ARM: dts: dra7: add bus functionality to base PRCM nodes
ARM: dts: omap4: add bus functionality to base PRCM nodes
ARM: dts: omap5: add bus functionality to base PRCM nodes
ARM: dts: dm816x: add fck under timers1/2
ARM: dts: dm814x: add fck under timers1/2
ARM: dts: dra7: add fck under timer1
ARM: dts: am43xx: add fck under timers1/2
ARM: dts: am33xx: add fck under timers1/2
ARM: dts: omap4: add fck under timer1
ARM: dts: omap5: add fck under timer1
...
54 files changed, 3821 insertions, 3187 deletions
diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi index 48a15fc641f2..e67b4d65c8d0 100644 --- a/arch/arm/boot/dts/am335x-bone-common.dtsi +++ b/arch/arm/boot/dts/am335x-bone-common.dtsi | |||
@@ -409,6 +409,6 @@ | |||
409 | }; | 409 | }; |
410 | 410 | ||
411 | &rtc { | 411 | &rtc { |
412 | clocks = <&clk_32768_ck>, <&clkdiv32k_ick>; | 412 | clocks = <&clk_32768_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
413 | clock-names = "ext-clk", "int-clk"; | 413 | clock-names = "ext-clk", "int-clk"; |
414 | }; | 414 | }; |
diff --git a/arch/arm/boot/dts/am335x-boneblue.dts b/arch/arm/boot/dts/am335x-boneblue.dts index cdc1b2be792f..d5be9fc4f416 100644 --- a/arch/arm/boot/dts/am335x-boneblue.dts +++ b/arch/arm/boot/dts/am335x-boneblue.dts | |||
@@ -446,7 +446,7 @@ | |||
446 | 446 | ||
447 | &rtc { | 447 | &rtc { |
448 | system-power-controller; | 448 | system-power-controller; |
449 | clocks = <&clk_32768_ck>, <&clkdiv32k_ick>; | 449 | clocks = <&clk_32768_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
450 | clock-names = "ext-clk", "int-clk"; | 450 | clock-names = "ext-clk", "int-clk"; |
451 | }; | 451 | }; |
452 | 452 | ||
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts index ddd897556e03..fee6b3ee1741 100644 --- a/arch/arm/boot/dts/am335x-evm.dts +++ b/arch/arm/boot/dts/am335x-evm.dts | |||
@@ -790,6 +790,6 @@ | |||
790 | }; | 790 | }; |
791 | 791 | ||
792 | &rtc { | 792 | &rtc { |
793 | clocks = <&clk_32768_ck>, <&clkdiv32k_ick>; | 793 | clocks = <&clk_32768_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
794 | clock-names = "ext-clk", "int-clk"; | 794 | clock-names = "ext-clk", "int-clk"; |
795 | }; | 795 | }; |
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts index 9ba4b18c0cb2..fa608cd5dc14 100644 --- a/arch/arm/boot/dts/am335x-evmsk.dts +++ b/arch/arm/boot/dts/am335x-evmsk.dts | |||
@@ -722,6 +722,6 @@ | |||
722 | }; | 722 | }; |
723 | 723 | ||
724 | &rtc { | 724 | &rtc { |
725 | clocks = <&clk_32768_ck>, <&clkdiv32k_ick>; | 725 | clocks = <&clk_32768_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
726 | clock-names = "ext-clk", "int-clk"; | 726 | clock-names = "ext-clk", "int-clk"; |
727 | }; | 727 | }; |
diff --git a/arch/arm/boot/dts/am33xx-clocks.dtsi b/arch/arm/boot/dts/am33xx-clocks.dtsi index 8d8319590cde..95d5c9d136c5 100644 --- a/arch/arm/boot/dts/am33xx-clocks.dtsi +++ b/arch/arm/boot/dts/am33xx-clocks.dtsi | |||
@@ -292,14 +292,6 @@ | |||
292 | clock-div = <4>; | 292 | clock-div = <4>; |
293 | }; | 293 | }; |
294 | 294 | ||
295 | cefuse_fck: cefuse_fck@a20 { | ||
296 | #clock-cells = <0>; | ||
297 | compatible = "ti,gate-clock"; | ||
298 | clocks = <&sys_clkin_ck>; | ||
299 | ti,bit-shift = <1>; | ||
300 | reg = <0x0a20>; | ||
301 | }; | ||
302 | |||
303 | clk_24mhz: clk_24mhz { | 295 | clk_24mhz: clk_24mhz { |
304 | #clock-cells = <0>; | 296 | #clock-cells = <0>; |
305 | compatible = "fixed-factor-clock"; | 297 | compatible = "fixed-factor-clock"; |
@@ -316,14 +308,6 @@ | |||
316 | clock-div = <732>; | 308 | clock-div = <732>; |
317 | }; | 309 | }; |
318 | 310 | ||
319 | clkdiv32k_ick: clkdiv32k_ick@14c { | ||
320 | #clock-cells = <0>; | ||
321 | compatible = "ti,gate-clock"; | ||
322 | clocks = <&clkdiv32k_ck>; | ||
323 | ti,bit-shift = <1>; | ||
324 | reg = <0x014c>; | ||
325 | }; | ||
326 | |||
327 | l3_gclk: l3_gclk { | 311 | l3_gclk: l3_gclk { |
328 | #clock-cells = <0>; | 312 | #clock-cells = <0>; |
329 | compatible = "fixed-factor-clock"; | 313 | compatible = "fixed-factor-clock"; |
@@ -350,49 +334,49 @@ | |||
350 | timer1_fck: timer1_fck@528 { | 334 | timer1_fck: timer1_fck@528 { |
351 | #clock-cells = <0>; | 335 | #clock-cells = <0>; |
352 | compatible = "ti,mux-clock"; | 336 | compatible = "ti,mux-clock"; |
353 | clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>; | 337 | clocks = <&sys_clkin_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>; |
354 | reg = <0x0528>; | 338 | reg = <0x0528>; |
355 | }; | 339 | }; |
356 | 340 | ||
357 | timer2_fck: timer2_fck@508 { | 341 | timer2_fck: timer2_fck@508 { |
358 | #clock-cells = <0>; | 342 | #clock-cells = <0>; |
359 | compatible = "ti,mux-clock"; | 343 | compatible = "ti,mux-clock"; |
360 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; | 344 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
361 | reg = <0x0508>; | 345 | reg = <0x0508>; |
362 | }; | 346 | }; |
363 | 347 | ||
364 | timer3_fck: timer3_fck@50c { | 348 | timer3_fck: timer3_fck@50c { |
365 | #clock-cells = <0>; | 349 | #clock-cells = <0>; |
366 | compatible = "ti,mux-clock"; | 350 | compatible = "ti,mux-clock"; |
367 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; | 351 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
368 | reg = <0x050c>; | 352 | reg = <0x050c>; |
369 | }; | 353 | }; |
370 | 354 | ||
371 | timer4_fck: timer4_fck@510 { | 355 | timer4_fck: timer4_fck@510 { |
372 | #clock-cells = <0>; | 356 | #clock-cells = <0>; |
373 | compatible = "ti,mux-clock"; | 357 | compatible = "ti,mux-clock"; |
374 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; | 358 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
375 | reg = <0x0510>; | 359 | reg = <0x0510>; |
376 | }; | 360 | }; |
377 | 361 | ||
378 | timer5_fck: timer5_fck@518 { | 362 | timer5_fck: timer5_fck@518 { |
379 | #clock-cells = <0>; | 363 | #clock-cells = <0>; |
380 | compatible = "ti,mux-clock"; | 364 | compatible = "ti,mux-clock"; |
381 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; | 365 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
382 | reg = <0x0518>; | 366 | reg = <0x0518>; |
383 | }; | 367 | }; |
384 | 368 | ||
385 | timer6_fck: timer6_fck@51c { | 369 | timer6_fck: timer6_fck@51c { |
386 | #clock-cells = <0>; | 370 | #clock-cells = <0>; |
387 | compatible = "ti,mux-clock"; | 371 | compatible = "ti,mux-clock"; |
388 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; | 372 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
389 | reg = <0x051c>; | 373 | reg = <0x051c>; |
390 | }; | 374 | }; |
391 | 375 | ||
392 | timer7_fck: timer7_fck@504 { | 376 | timer7_fck: timer7_fck@504 { |
393 | #clock-cells = <0>; | 377 | #clock-cells = <0>; |
394 | compatible = "ti,mux-clock"; | 378 | compatible = "ti,mux-clock"; |
395 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; | 379 | clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
396 | reg = <0x0504>; | 380 | reg = <0x0504>; |
397 | }; | 381 | }; |
398 | 382 | ||
@@ -423,7 +407,7 @@ | |||
423 | wdt1_fck: wdt1_fck@538 { | 407 | wdt1_fck: wdt1_fck@538 { |
424 | #clock-cells = <0>; | 408 | #clock-cells = <0>; |
425 | compatible = "ti,mux-clock"; | 409 | compatible = "ti,mux-clock"; |
426 | clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>; | 410 | clocks = <&clk_rc32k_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
427 | reg = <0x0538>; | 411 | reg = <0x0538>; |
428 | }; | 412 | }; |
429 | 413 | ||
@@ -493,42 +477,10 @@ | |||
493 | gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck@53c { | 477 | gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck@53c { |
494 | #clock-cells = <0>; | 478 | #clock-cells = <0>; |
495 | compatible = "ti,mux-clock"; | 479 | compatible = "ti,mux-clock"; |
496 | clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>; | 480 | clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
497 | reg = <0x053c>; | 481 | reg = <0x053c>; |
498 | }; | 482 | }; |
499 | 483 | ||
500 | gpio0_dbclk: gpio0_dbclk@408 { | ||
501 | #clock-cells = <0>; | ||
502 | compatible = "ti,gate-clock"; | ||
503 | clocks = <&gpio0_dbclk_mux_ck>; | ||
504 | ti,bit-shift = <18>; | ||
505 | reg = <0x0408>; | ||
506 | }; | ||
507 | |||
508 | gpio1_dbclk: gpio1_dbclk@ac { | ||
509 | #clock-cells = <0>; | ||
510 | compatible = "ti,gate-clock"; | ||
511 | clocks = <&clkdiv32k_ick>; | ||
512 | ti,bit-shift = <18>; | ||
513 | reg = <0x00ac>; | ||
514 | }; | ||
515 | |||
516 | gpio2_dbclk: gpio2_dbclk@b0 { | ||
517 | #clock-cells = <0>; | ||
518 | compatible = "ti,gate-clock"; | ||
519 | clocks = <&clkdiv32k_ick>; | ||
520 | ti,bit-shift = <18>; | ||
521 | reg = <0x00b0>; | ||
522 | }; | ||
523 | |||
524 | gpio3_dbclk: gpio3_dbclk@b4 { | ||
525 | #clock-cells = <0>; | ||
526 | compatible = "ti,gate-clock"; | ||
527 | clocks = <&clkdiv32k_ick>; | ||
528 | ti,bit-shift = <18>; | ||
529 | reg = <0x00b4>; | ||
530 | }; | ||
531 | |||
532 | lcd_gclk: lcd_gclk@534 { | 484 | lcd_gclk: lcd_gclk@534 { |
533 | #clock-cells = <0>; | 485 | #clock-cells = <0>; |
534 | compatible = "ti,mux-clock"; | 486 | compatible = "ti,mux-clock"; |
@@ -577,58 +529,6 @@ | |||
577 | reg = <0x0700>; | 529 | reg = <0x0700>; |
578 | }; | 530 | }; |
579 | 531 | ||
580 | dbg_sysclk_ck: dbg_sysclk_ck@414 { | ||
581 | #clock-cells = <0>; | ||
582 | compatible = "ti,gate-clock"; | ||
583 | clocks = <&sys_clkin_ck>; | ||
584 | ti,bit-shift = <19>; | ||
585 | reg = <0x0414>; | ||
586 | }; | ||
587 | |||
588 | dbg_clka_ck: dbg_clka_ck@414 { | ||
589 | #clock-cells = <0>; | ||
590 | compatible = "ti,gate-clock"; | ||
591 | clocks = <&dpll_core_m4_ck>; | ||
592 | ti,bit-shift = <30>; | ||
593 | reg = <0x0414>; | ||
594 | }; | ||
595 | |||
596 | stm_pmd_clock_mux_ck: stm_pmd_clock_mux_ck@414 { | ||
597 | #clock-cells = <0>; | ||
598 | compatible = "ti,mux-clock"; | ||
599 | clocks = <&dbg_sysclk_ck>, <&dbg_clka_ck>; | ||
600 | ti,bit-shift = <22>; | ||
601 | reg = <0x0414>; | ||
602 | }; | ||
603 | |||
604 | trace_pmd_clk_mux_ck: trace_pmd_clk_mux_ck@414 { | ||
605 | #clock-cells = <0>; | ||
606 | compatible = "ti,mux-clock"; | ||
607 | clocks = <&dbg_sysclk_ck>, <&dbg_clka_ck>; | ||
608 | ti,bit-shift = <20>; | ||
609 | reg = <0x0414>; | ||
610 | }; | ||
611 | |||
612 | stm_clk_div_ck: stm_clk_div_ck@414 { | ||
613 | #clock-cells = <0>; | ||
614 | compatible = "ti,divider-clock"; | ||
615 | clocks = <&stm_pmd_clock_mux_ck>; | ||
616 | ti,bit-shift = <27>; | ||
617 | ti,max-div = <64>; | ||
618 | reg = <0x0414>; | ||
619 | ti,index-power-of-two; | ||
620 | }; | ||
621 | |||
622 | trace_clk_div_ck: trace_clk_div_ck@414 { | ||
623 | #clock-cells = <0>; | ||
624 | compatible = "ti,divider-clock"; | ||
625 | clocks = <&trace_pmd_clk_mux_ck>; | ||
626 | ti,bit-shift = <24>; | ||
627 | ti,max-div = <64>; | ||
628 | reg = <0x0414>; | ||
629 | ti,index-power-of-two; | ||
630 | }; | ||
631 | |||
632 | clkout2_ck: clkout2_ck@700 { | 532 | clkout2_ck: clkout2_ck@700 { |
633 | #clock-cells = <0>; | 533 | #clock-cells = <0>; |
634 | compatible = "ti,gate-clock"; | 534 | compatible = "ti,gate-clock"; |
@@ -638,9 +538,88 @@ | |||
638 | }; | 538 | }; |
639 | }; | 539 | }; |
640 | 540 | ||
641 | &prcm_clockdomains { | 541 | &prcm { |
642 | clk_24mhz_clkdm: clk_24mhz_clkdm { | 542 | l4_per_cm: l4_per_cm@0 { |
643 | compatible = "ti,clockdomain"; | 543 | compatible = "ti,omap4-cm"; |
644 | clocks = <&clkdiv32k_ick>; | 544 | reg = <0x0 0x200>; |
545 | #address-cells = <1>; | ||
546 | #size-cells = <1>; | ||
547 | ranges = <0 0x0 0x200>; | ||
548 | |||
549 | l4_per_clkctrl: clk@14 { | ||
550 | compatible = "ti,clkctrl"; | ||
551 | reg = <0x14 0x13c>; | ||
552 | #clock-cells = <2>; | ||
553 | }; | ||
554 | }; | ||
555 | |||
556 | l4_wkup_cm: l4_wkup_cm@400 { | ||
557 | compatible = "ti,omap4-cm"; | ||
558 | reg = <0x400 0x100>; | ||
559 | #address-cells = <1>; | ||
560 | #size-cells = <1>; | ||
561 | ranges = <0 0x400 0x100>; | ||
562 | |||
563 | l4_wkup_clkctrl: clk@4 { | ||
564 | compatible = "ti,clkctrl"; | ||
565 | reg = <0x4 0xd4>; | ||
566 | #clock-cells = <2>; | ||
567 | }; | ||
568 | }; | ||
569 | |||
570 | mpu_cm: mpu_cm@600 { | ||
571 | compatible = "ti,omap4-cm"; | ||
572 | reg = <0x600 0x100>; | ||
573 | #address-cells = <1>; | ||
574 | #size-cells = <1>; | ||
575 | ranges = <0 0x600 0x100>; | ||
576 | |||
577 | mpu_clkctrl: clk@4 { | ||
578 | compatible = "ti,clkctrl"; | ||
579 | reg = <0x4 0x4>; | ||
580 | #clock-cells = <2>; | ||
581 | }; | ||
582 | }; | ||
583 | |||
584 | l4_rtc_cm: l4_rtc_cm@800 { | ||
585 | compatible = "ti,omap4-cm"; | ||
586 | reg = <0x800 0x100>; | ||
587 | #address-cells = <1>; | ||
588 | #size-cells = <1>; | ||
589 | ranges = <0 0x800 0x100>; | ||
590 | |||
591 | l4_rtc_clkctrl: clk@0 { | ||
592 | compatible = "ti,clkctrl"; | ||
593 | reg = <0x0 0x4>; | ||
594 | #clock-cells = <2>; | ||
595 | }; | ||
596 | }; | ||
597 | |||
598 | gfx_l3_cm: gfx_l3_cm@900 { | ||
599 | compatible = "ti,omap4-cm"; | ||
600 | reg = <0x900 0x100>; | ||
601 | #address-cells = <1>; | ||
602 | #size-cells = <1>; | ||
603 | ranges = <0 0x900 0x100>; | ||
604 | |||
605 | gfx_l3_clkctrl: clk@4 { | ||
606 | compatible = "ti,clkctrl"; | ||
607 | reg = <0x4 0x4>; | ||
608 | #clock-cells = <2>; | ||
609 | }; | ||
610 | }; | ||
611 | |||
612 | l4_cefuse_cm: l4_cefuse_cm@a00 { | ||
613 | compatible = "ti,omap4-cm"; | ||
614 | reg = <0xa00 0x100>; | ||
615 | #address-cells = <1>; | ||
616 | #size-cells = <1>; | ||
617 | ranges = <0 0xa00 0x100>; | ||
618 | |||
619 | l4_cefuse_clkctrl: clk@20 { | ||
620 | compatible = "ti,clkctrl"; | ||
621 | reg = <0x20 0x4>; | ||
622 | #clock-cells = <2>; | ||
623 | }; | ||
645 | }; | 624 | }; |
646 | }; | 625 | }; |
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index d37f95025807..ca7400c20ed4 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi | |||
@@ -10,6 +10,7 @@ | |||
10 | 10 | ||
11 | #include <dt-bindings/gpio/gpio.h> | 11 | #include <dt-bindings/gpio/gpio.h> |
12 | #include <dt-bindings/pinctrl/am33xx.h> | 12 | #include <dt-bindings/pinctrl/am33xx.h> |
13 | #include <dt-bindings/clock/am3.h> | ||
13 | 14 | ||
14 | / { | 15 | / { |
15 | compatible = "ti,am33xx"; | 16 | compatible = "ti,am33xx"; |
@@ -179,8 +180,11 @@ | |||
179 | }; | 180 | }; |
180 | 181 | ||
181 | prcm: prcm@200000 { | 182 | prcm: prcm@200000 { |
182 | compatible = "ti,am3-prcm"; | 183 | compatible = "ti,am3-prcm", "simple-bus"; |
183 | reg = <0x200000 0x4000>; | 184 | reg = <0x200000 0x4000>; |
185 | #address-cells = <1>; | ||
186 | #size-cells = <1>; | ||
187 | ranges = <0 0x200000 0x4000>; | ||
184 | 188 | ||
185 | prcm_clocks: clocks { | 189 | prcm_clocks: clocks { |
186 | #address-cells = <1>; | 190 | #address-cells = <1>; |
@@ -517,6 +521,8 @@ | |||
517 | interrupts = <67>; | 521 | interrupts = <67>; |
518 | ti,hwmods = "timer1"; | 522 | ti,hwmods = "timer1"; |
519 | ti,timer-alwon; | 523 | ti,timer-alwon; |
524 | clocks = <&timer1_fck>; | ||
525 | clock-names = "fck"; | ||
520 | }; | 526 | }; |
521 | 527 | ||
522 | timer2: timer@48040000 { | 528 | timer2: timer@48040000 { |
@@ -524,6 +530,8 @@ | |||
524 | reg = <0x48040000 0x400>; | 530 | reg = <0x48040000 0x400>; |
525 | interrupts = <68>; | 531 | interrupts = <68>; |
526 | ti,hwmods = "timer2"; | 532 | ti,hwmods = "timer2"; |
533 | clocks = <&timer2_fck>; | ||
534 | clock-names = "fck"; | ||
527 | }; | 535 | }; |
528 | 536 | ||
529 | timer3: timer@48042000 { | 537 | timer3: timer@48042000 { |
@@ -571,7 +579,7 @@ | |||
571 | interrupts = <75 | 579 | interrupts = <75 |
572 | 76>; | 580 | 76>; |
573 | ti,hwmods = "rtc"; | 581 | ti,hwmods = "rtc"; |
574 | clocks = <&clkdiv32k_ick>; | 582 | clocks = <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>; |
575 | clock-names = "int-clk"; | 583 | clock-names = "int-clk"; |
576 | }; | 584 | }; |
577 | 585 | ||
@@ -1014,4 +1022,4 @@ | |||
1014 | }; | 1022 | }; |
1015 | }; | 1023 | }; |
1016 | 1024 | ||
1017 | /include/ "am33xx-clocks.dtsi" | 1025 | #include "am33xx-clocks.dtsi" |
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi index 4714a59fd86d..2f2984db1c26 100644 --- a/arch/arm/boot/dts/am4372.dtsi +++ b/arch/arm/boot/dts/am4372.dtsi | |||
@@ -10,6 +10,7 @@ | |||
10 | 10 | ||
11 | #include <dt-bindings/gpio/gpio.h> | 11 | #include <dt-bindings/gpio/gpio.h> |
12 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 12 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
13 | #include <dt-bindings/clock/am4.h> | ||
13 | 14 | ||
14 | / { | 15 | / { |
15 | compatible = "ti,am4372", "ti,am43"; | 16 | compatible = "ti,am4372", "ti,am43"; |
@@ -163,9 +164,12 @@ | |||
163 | }; | 164 | }; |
164 | 165 | ||
165 | prcm: prcm@1f0000 { | 166 | prcm: prcm@1f0000 { |
166 | compatible = "ti,am4-prcm"; | 167 | compatible = "ti,am4-prcm", "simple-bus"; |
167 | reg = <0x1f0000 0x11000>; | 168 | reg = <0x1f0000 0x11000>; |
168 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | 169 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; |
170 | #address-cells = <1>; | ||
171 | #size-cells = <1>; | ||
172 | ranges = <0 0x1f0000 0x11000>; | ||
169 | 173 | ||
170 | prcm_clocks: clocks { | 174 | prcm_clocks: clocks { |
171 | #address-cells = <1>; | 175 | #address-cells = <1>; |
@@ -346,6 +350,8 @@ | |||
346 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; | 350 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; |
347 | ti,timer-alwon; | 351 | ti,timer-alwon; |
348 | ti,hwmods = "timer1"; | 352 | ti,hwmods = "timer1"; |
353 | clocks = <&timer1_fck>; | ||
354 | clock-names = "fck"; | ||
349 | }; | 355 | }; |
350 | 356 | ||
351 | timer2: timer@48040000 { | 357 | timer2: timer@48040000 { |
@@ -353,6 +359,8 @@ | |||
353 | reg = <0x48040000 0x400>; | 359 | reg = <0x48040000 0x400>; |
354 | interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; | 360 | interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; |
355 | ti,hwmods = "timer2"; | 361 | ti,hwmods = "timer2"; |
362 | clocks = <&timer2_fck>; | ||
363 | clock-names = "fck"; | ||
356 | }; | 364 | }; |
357 | 365 | ||
358 | timer3: timer@48042000 { | 366 | timer3: timer@48042000 { |
@@ -993,7 +1001,7 @@ | |||
993 | reg = <0x483a8000 0x8000>; | 1001 | reg = <0x483a8000 0x8000>; |
994 | syscon-phy-power = <&scm_conf 0x620>; | 1002 | syscon-phy-power = <&scm_conf 0x620>; |
995 | clocks = <&usb_phy0_always_on_clk32k>, | 1003 | clocks = <&usb_phy0_always_on_clk32k>, |
996 | <&usb_otg_ss0_refclk960m>; | 1004 | <&l4_per_clkctrl AM4_USB_OTG_SS0_CLKCTRL 8>; |
997 | clock-names = "wkupclk", "refclk"; | 1005 | clock-names = "wkupclk", "refclk"; |
998 | #phy-cells = <0>; | 1006 | #phy-cells = <0>; |
999 | status = "disabled"; | 1007 | status = "disabled"; |
@@ -1012,7 +1020,7 @@ | |||
1012 | reg = <0x483e8000 0x8000>; | 1020 | reg = <0x483e8000 0x8000>; |
1013 | syscon-phy-power = <&scm_conf 0x628>; | 1021 | syscon-phy-power = <&scm_conf 0x628>; |
1014 | clocks = <&usb_phy1_always_on_clk32k>, | 1022 | clocks = <&usb_phy1_always_on_clk32k>, |
1015 | <&usb_otg_ss1_refclk960m>; | 1023 | <&l4_per_clkctrl AM4_USB_OTG_SS1_CLKCTRL 8>; |
1016 | clock-names = "wkupclk", "refclk"; | 1024 | clock-names = "wkupclk", "refclk"; |
1017 | #phy-cells = <0>; | 1025 | #phy-cells = <0>; |
1018 | status = "disabled"; | 1026 | status = "disabled"; |
@@ -1175,4 +1183,4 @@ | |||
1175 | }; | 1183 | }; |
1176 | }; | 1184 | }; |
1177 | 1185 | ||
1178 | /include/ "am43xx-clocks.dtsi" | 1186 | #include "am43xx-clocks.dtsi" |
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts index a04d79ec212a..d3363fbe4240 100644 --- a/arch/arm/boot/dts/am43x-epos-evm.dts +++ b/arch/arm/boot/dts/am43x-epos-evm.dts | |||
@@ -985,7 +985,7 @@ | |||
985 | rx-num-evt = <32>; | 985 | rx-num-evt = <32>; |
986 | }; | 986 | }; |
987 | 987 | ||
988 | &synctimer_32kclk { | 988 | &mux_synctimer32k_ck { |
989 | assigned-clocks = <&mux_synctimer32k_ck>; | 989 | assigned-clocks = <&mux_synctimer32k_ck>; |
990 | assigned-clock-parents = <&clkdiv32k_ick>; | 990 | assigned-clock-parents = <&clkdiv32k_ick>; |
991 | }; | 991 | }; |
diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi index 430be5829f8f..a7037a4b4fd4 100644 --- a/arch/arm/boot/dts/am43xx-clocks.dtsi +++ b/arch/arm/boot/dts/am43xx-clocks.dtsi | |||
@@ -524,54 +524,6 @@ | |||
524 | reg = <0x4240>; | 524 | reg = <0x4240>; |
525 | }; | 525 | }; |
526 | 526 | ||
527 | gpio0_dbclk: gpio0_dbclk@2b68 { | ||
528 | #clock-cells = <0>; | ||
529 | compatible = "ti,gate-clock"; | ||
530 | clocks = <&gpio0_dbclk_mux_ck>; | ||
531 | ti,bit-shift = <8>; | ||
532 | reg = <0x2b68>; | ||
533 | }; | ||
534 | |||
535 | gpio1_dbclk: gpio1_dbclk@8c78 { | ||
536 | #clock-cells = <0>; | ||
537 | compatible = "ti,gate-clock"; | ||
538 | clocks = <&clkdiv32k_ick>; | ||
539 | ti,bit-shift = <8>; | ||
540 | reg = <0x8c78>; | ||
541 | }; | ||
542 | |||
543 | gpio2_dbclk: gpio2_dbclk@8c80 { | ||
544 | #clock-cells = <0>; | ||
545 | compatible = "ti,gate-clock"; | ||
546 | clocks = <&clkdiv32k_ick>; | ||
547 | ti,bit-shift = <8>; | ||
548 | reg = <0x8c80>; | ||
549 | }; | ||
550 | |||
551 | gpio3_dbclk: gpio3_dbclk@8c88 { | ||
552 | #clock-cells = <0>; | ||
553 | compatible = "ti,gate-clock"; | ||
554 | clocks = <&clkdiv32k_ick>; | ||
555 | ti,bit-shift = <8>; | ||
556 | reg = <0x8c88>; | ||
557 | }; | ||
558 | |||
559 | gpio4_dbclk: gpio4_dbclk@8c90 { | ||
560 | #clock-cells = <0>; | ||
561 | compatible = "ti,gate-clock"; | ||
562 | clocks = <&clkdiv32k_ick>; | ||
563 | ti,bit-shift = <8>; | ||
564 | reg = <0x8c90>; | ||
565 | }; | ||
566 | |||
567 | gpio5_dbclk: gpio5_dbclk@8c98 { | ||
568 | #clock-cells = <0>; | ||
569 | compatible = "ti,gate-clock"; | ||
570 | clocks = <&clkdiv32k_ick>; | ||
571 | ti,bit-shift = <8>; | ||
572 | reg = <0x8c98>; | ||
573 | }; | ||
574 | |||
575 | mmc_clk: mmc_clk { | 527 | mmc_clk: mmc_clk { |
576 | #clock-cells = <0>; | 528 | #clock-cells = <0>; |
577 | compatible = "fixed-factor-clock"; | 529 | compatible = "fixed-factor-clock"; |
@@ -629,14 +581,6 @@ | |||
629 | reg = <0x4230>; | 581 | reg = <0x4230>; |
630 | }; | 582 | }; |
631 | 583 | ||
632 | synctimer_32kclk: synctimer_32kclk@2a30 { | ||
633 | #clock-cells = <0>; | ||
634 | compatible = "ti,gate-clock"; | ||
635 | clocks = <&mux_synctimer32k_ck>; | ||
636 | ti,bit-shift = <8>; | ||
637 | reg = <0x2a30>; | ||
638 | }; | ||
639 | |||
640 | timer8_fck: timer8_fck@421c { | 584 | timer8_fck: timer8_fck@421c { |
641 | #clock-cells = <0>; | 585 | #clock-cells = <0>; |
642 | compatible = "ti,mux-clock"; | 586 | compatible = "ti,mux-clock"; |
@@ -763,110 +707,76 @@ | |||
763 | ti,bit-shift = <8>; | 707 | ti,bit-shift = <8>; |
764 | reg = <0x2a48>; | 708 | reg = <0x2a48>; |
765 | }; | 709 | }; |
710 | }; | ||
766 | 711 | ||
767 | usb_otg_ss0_refclk960m: usb_otg_ss0_refclk960m@8a60 { | 712 | &prcm { |
768 | #clock-cells = <0>; | 713 | l4_wkup_cm: l4_wkup_cm@2800 { |
769 | compatible = "ti,gate-clock"; | 714 | compatible = "ti,omap4-cm"; |
770 | clocks = <&dpll_per_clkdcoldo>; | 715 | reg = <0x2800 0x400>; |
771 | ti,bit-shift = <8>; | 716 | #address-cells = <1>; |
772 | reg = <0x8a60>; | 717 | #size-cells = <1>; |
773 | }; | 718 | ranges = <0 0x2800 0x400>; |
774 | 719 | ||
775 | usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m@8a68 { | 720 | l4_wkup_clkctrl: clk@20 { |
776 | #clock-cells = <0>; | 721 | compatible = "ti,clkctrl"; |
777 | compatible = "ti,gate-clock"; | 722 | reg = <0x20 0x34c>; |
778 | clocks = <&dpll_per_clkdcoldo>; | 723 | #clock-cells = <2>; |
779 | ti,bit-shift = <8>; | 724 | }; |
780 | reg = <0x8a68>; | 725 | }; |
781 | }; | 726 | |
782 | 727 | mpu_cm: mpu_cm@8300 { | |
783 | clkout1_osc_div_ck: clkout1_osc_div_ck { | 728 | compatible = "ti,omap4-cm"; |
784 | #clock-cells = <0>; | 729 | reg = <0x8300 0x100>; |
785 | compatible = "ti,divider-clock"; | 730 | #address-cells = <1>; |
786 | clocks = <&sys_clkin_ck>; | 731 | #size-cells = <1>; |
787 | ti,bit-shift = <20>; | 732 | ranges = <0 0x8300 0x100>; |
788 | ti,max-div = <4>; | 733 | |
789 | reg = <0x4100>; | 734 | mpu_clkctrl: clk@20 { |
790 | }; | 735 | compatible = "ti,clkctrl"; |
791 | 736 | reg = <0x20 0x4>; | |
792 | clkout1_src2_mux_ck: clkout1_src2_mux_ck { | 737 | #clock-cells = <2>; |
793 | #clock-cells = <0>; | 738 | }; |
794 | compatible = "ti,mux-clock"; | 739 | }; |
795 | clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>, | 740 | |
796 | <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>, | 741 | gfx_l3_cm: gfx_l3_cm@8400 { |
797 | <&dpll_mpu_m2_ck>; | 742 | compatible = "ti,omap4-cm"; |
798 | reg = <0x4100>; | 743 | reg = <0x8400 0x100>; |
799 | }; | 744 | #address-cells = <1>; |
800 | 745 | #size-cells = <1>; | |
801 | clkout1_src2_pre_div_ck: clkout1_src2_pre_div_ck { | 746 | ranges = <0 0x8400 0x100>; |
802 | #clock-cells = <0>; | 747 | |
803 | compatible = "ti,divider-clock"; | 748 | gfx_l3_clkctrl: clk@20 { |
804 | clocks = <&clkout1_src2_mux_ck>; | 749 | compatible = "ti,clkctrl"; |
805 | ti,bit-shift = <4>; | 750 | reg = <0x20 0x4>; |
806 | ti,max-div = <8>; | 751 | #clock-cells = <2>; |
807 | reg = <0x4100>; | 752 | }; |
808 | }; | 753 | }; |
809 | 754 | ||
810 | clkout1_src2_post_div_ck: clkout1_src2_post_div_ck { | 755 | l4_rtc_cm: l4_rtc_cm@8500 { |
811 | #clock-cells = <0>; | 756 | compatible = "ti,omap4-cm"; |
812 | compatible = "ti,divider-clock"; | 757 | reg = <0x8500 0x100>; |
813 | clocks = <&clkout1_src2_pre_div_ck>; | 758 | #address-cells = <1>; |
814 | ti,bit-shift = <8>; | 759 | #size-cells = <1>; |
815 | ti,max-div = <32>; | 760 | ranges = <0 0x8500 0x100>; |
816 | ti,index-power-of-two; | 761 | |
817 | reg = <0x4100>; | 762 | l4_rtc_clkctrl: clk@20 { |
818 | }; | 763 | compatible = "ti,clkctrl"; |
819 | 764 | reg = <0x20 0x4>; | |
820 | clkout1_mux_ck: clkout1_mux_ck { | 765 | #clock-cells = <2>; |
821 | #clock-cells = <0>; | 766 | }; |
822 | compatible = "ti,mux-clock"; | 767 | }; |
823 | clocks = <&clkout1_osc_div_ck>, <&clk_rc32k_ck>, | 768 | |
824 | <&clkout1_src2_post_div_ck>, <&dpll_extdev_m2_ck>; | 769 | l4_per_cm: l4_per_cm@8800 { |
825 | ti,bit-shift = <16>; | 770 | compatible = "ti,omap4-cm"; |
826 | reg = <0x4100>; | 771 | reg = <0x8800 0xc00>; |
827 | }; | 772 | #address-cells = <1>; |
828 | 773 | #size-cells = <1>; | |
829 | clkout1_ck: clkout1_ck { | 774 | ranges = <0 0x8800 0xc00>; |
830 | #clock-cells = <0>; | 775 | |
831 | compatible = "ti,gate-clock"; | 776 | l4_per_clkctrl: clk@20 { |
832 | clocks = <&clkout1_mux_ck>; | 777 | compatible = "ti,clkctrl"; |
833 | ti,bit-shift = <23>; | 778 | reg = <0x20 0xb04>; |
834 | reg = <0x4100>; | 779 | #clock-cells = <2>; |
835 | }; | 780 | }; |
836 | |||
837 | clkout2_src_mux_ck: clkout2_src_mux_ck { | ||
838 | #clock-cells = <0>; | ||
839 | compatible = "ti,mux-clock"; | ||
840 | clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>, | ||
841 | <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>, | ||
842 | <&dpll_mpu_m2_ck>, <&dpll_extdev_ck>; | ||
843 | reg = <0x4108>; | ||
844 | }; | ||
845 | |||
846 | clkout2_pre_div_ck: clkout2_pre_div_ck { | ||
847 | #clock-cells = <0>; | ||
848 | compatible = "ti,divider-clock"; | ||
849 | clocks = <&clkout2_src_mux_ck>; | ||
850 | ti,bit-shift = <4>; | ||
851 | ti,max-div = <8>; | ||
852 | reg = <0x4108>; | ||
853 | }; | ||
854 | |||
855 | clkout2_post_div_ck: clkout2_post_div_ck { | ||
856 | #clock-cells = <0>; | ||
857 | compatible = "ti,divider-clock"; | ||
858 | clocks = <&clkout2_pre_div_ck>; | ||
859 | ti,bit-shift = <8>; | ||
860 | ti,max-div = <32>; | ||
861 | ti,index-power-of-two; | ||
862 | reg = <0x4108>; | ||
863 | }; | ||
864 | |||
865 | clkout2_ck: clkout2_ck { | ||
866 | #clock-cells = <0>; | ||
867 | compatible = "ti,gate-clock"; | ||
868 | clocks = <&clkout2_post_div_ck>; | ||
869 | ti,bit-shift = <16>; | ||
870 | reg = <0x4108>; | ||
871 | }; | 781 | }; |
872 | }; | 782 | }; |
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi index 49aeecd312b4..74d1d0dab336 100644 --- a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi +++ b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi | |||
@@ -554,7 +554,7 @@ | |||
554 | 554 | ||
555 | &mcasp3 { | 555 | &mcasp3 { |
556 | #sound-dai-cells = <0>; | 556 | #sound-dai-cells = <0>; |
557 | assigned-clocks = <&mcasp3_ahclkx_mux>; | 557 | assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>; |
558 | assigned-clock-parents = <&sys_clkin2>; | 558 | assigned-clock-parents = <&sys_clkin2>; |
559 | status = "okay"; | 559 | status = "okay"; |
560 | 560 | ||
diff --git a/arch/arm/boot/dts/dm814x-clocks.dtsi b/arch/arm/boot/dts/dm814x-clocks.dtsi index c4671af0a28d..f80525a290bb 100644 --- a/arch/arm/boot/dts/dm814x-clocks.dtsi +++ b/arch/arm/boot/dts/dm814x-clocks.dtsi | |||
@@ -337,3 +337,33 @@ | |||
337 | clock-frequency = <20000000>; | 337 | clock-frequency = <20000000>; |
338 | }; | 338 | }; |
339 | }; | 339 | }; |
340 | |||
341 | &prcm { | ||
342 | default_cm: default_cm@500 { | ||
343 | compatible = "ti,omap4-cm"; | ||
344 | reg = <0x500 0x100>; | ||
345 | #address-cells = <1>; | ||
346 | #size-cells = <1>; | ||
347 | ranges = <0 0x500 0x100>; | ||
348 | |||
349 | default_clkctrl: clk@0 { | ||
350 | compatible = "ti,clkctrl"; | ||
351 | reg = <0x0 0x5c>; | ||
352 | #clock-cells = <2>; | ||
353 | }; | ||
354 | }; | ||
355 | |||
356 | alwon_cm: alwon_cm@1400 { | ||
357 | compatible = "ti,omap4-cm"; | ||
358 | reg = <0x1400 0x300>; | ||
359 | #address-cells = <1>; | ||
360 | #size-cells = <1>; | ||
361 | ranges = <0 0x1400 0x300>; | ||
362 | |||
363 | alwon_clkctrl: clk@0 { | ||
364 | compatible = "ti,clkctrl"; | ||
365 | reg = <0x0 0x228>; | ||
366 | #clock-cells = <2>; | ||
367 | }; | ||
368 | }; | ||
369 | }; | ||
diff --git a/arch/arm/boot/dts/dm814x.dtsi b/arch/arm/boot/dts/dm814x.dtsi index 681f5487406e..601c57afd4fe 100644 --- a/arch/arm/boot/dts/dm814x.dtsi +++ b/arch/arm/boot/dts/dm814x.dtsi | |||
@@ -250,6 +250,8 @@ | |||
250 | interrupts = <67>; | 250 | interrupts = <67>; |
251 | ti,hwmods = "timer1"; | 251 | ti,hwmods = "timer1"; |
252 | ti,timer-alwon; | 252 | ti,timer-alwon; |
253 | clocks = <&timer1_fck>; | ||
254 | clock-names = "fck"; | ||
253 | }; | 255 | }; |
254 | 256 | ||
255 | uart1: uart@20000 { | 257 | uart1: uart@20000 { |
@@ -287,6 +289,8 @@ | |||
287 | reg = <0x40000 0x2000>; | 289 | reg = <0x40000 0x2000>; |
288 | interrupts = <68>; | 290 | interrupts = <68>; |
289 | ti,hwmods = "timer2"; | 291 | ti,hwmods = "timer2"; |
292 | clocks = <&timer2_fck>; | ||
293 | clock-names = "fck"; | ||
290 | }; | 294 | }; |
291 | 295 | ||
292 | timer3: timer@42000 { | 296 | timer3: timer@42000 { |
diff --git a/arch/arm/boot/dts/dm816x-clocks.dtsi b/arch/arm/boot/dts/dm816x-clocks.dtsi index 51865eb84a80..1efd4e23e50d 100644 --- a/arch/arm/boot/dts/dm816x-clocks.dtsi +++ b/arch/arm/boot/dts/dm816x-clocks.dtsi | |||
@@ -248,3 +248,33 @@ | |||
248 | reg = <0x03a8>; | 248 | reg = <0x03a8>; |
249 | }; | 249 | }; |
250 | }; | 250 | }; |
251 | |||
252 | &prcm { | ||
253 | default_cm: default_cm@500 { | ||
254 | compatible = "ti,omap4-cm"; | ||
255 | reg = <0x500 0x100>; | ||
256 | #address-cells = <1>; | ||
257 | #size-cells = <1>; | ||
258 | ranges = <0 0x500 0x100>; | ||
259 | |||
260 | default_clkctrl: clk@0 { | ||
261 | compatible = "ti,clkctrl"; | ||
262 | reg = <0x0 0x5c>; | ||
263 | #clock-cells = <2>; | ||
264 | }; | ||
265 | }; | ||
266 | |||
267 | alwon_cm: alwon_cm@1400 { | ||
268 | compatible = "ti,omap4-cm"; | ||
269 | reg = <0x1400 0x300>; | ||
270 | #address-cells = <1>; | ||
271 | #size-cells = <1>; | ||
272 | ranges = <0 0x1400 0x300>; | ||
273 | |||
274 | alwon_clkctrl: clk@0 { | ||
275 | compatible = "ti,clkctrl"; | ||
276 | reg = <0x0 0x208>; | ||
277 | #clock-cells = <2>; | ||
278 | }; | ||
279 | }; | ||
280 | }; | ||
diff --git a/arch/arm/boot/dts/dm816x.dtsi b/arch/arm/boot/dts/dm816x.dtsi index 566b2a8c8b96..1edc2b48b254 100644 --- a/arch/arm/boot/dts/dm816x.dtsi +++ b/arch/arm/boot/dts/dm816x.dtsi | |||
@@ -67,8 +67,11 @@ | |||
67 | ranges; | 67 | ranges; |
68 | 68 | ||
69 | prcm: prcm@48180000 { | 69 | prcm: prcm@48180000 { |
70 | compatible = "ti,dm816-prcm"; | 70 | compatible = "ti,dm816-prcm", "simple-bus"; |
71 | reg = <0x48180000 0x4000>; | 71 | reg = <0x48180000 0x4000>; |
72 | #address-cells = <1>; | ||
73 | #size-cells = <1>; | ||
74 | ranges = <0 0x48180000 0x4000>; | ||
72 | 75 | ||
73 | prcm_clocks: clocks { | 76 | prcm_clocks: clocks { |
74 | #address-cells = <1>; | 77 | #address-cells = <1>; |
@@ -331,6 +334,8 @@ | |||
331 | interrupts = <67>; | 334 | interrupts = <67>; |
332 | ti,hwmods = "timer1"; | 335 | ti,hwmods = "timer1"; |
333 | ti,timer-alwon; | 336 | ti,timer-alwon; |
337 | clocks = <&timer1_fck>; | ||
338 | clock-names = "fck"; | ||
334 | }; | 339 | }; |
335 | 340 | ||
336 | timer2: timer@48040000 { | 341 | timer2: timer@48040000 { |
@@ -338,6 +343,8 @@ | |||
338 | reg = <0x48040000 0x2000>; | 343 | reg = <0x48040000 0x2000>; |
339 | interrupts = <68>; | 344 | interrupts = <68>; |
340 | ti,hwmods = "timer2"; | 345 | ti,hwmods = "timer2"; |
346 | clocks = <&timer2_fck>; | ||
347 | clock-names = "fck"; | ||
341 | }; | 348 | }; |
342 | 349 | ||
343 | timer3: timer@48042000 { | 350 | timer3: timer@48042000 { |
diff --git a/arch/arm/boot/dts/dra7-evm-common.dtsi b/arch/arm/boot/dts/dra7-evm-common.dtsi index e088bb93636a..05a7b1a01bc3 100644 --- a/arch/arm/boot/dts/dra7-evm-common.dtsi +++ b/arch/arm/boot/dts/dra7-evm-common.dtsi | |||
@@ -204,7 +204,7 @@ | |||
204 | 204 | ||
205 | &atl { | 205 | &atl { |
206 | assigned-clocks = <&abe_dpll_sys_clk_mux>, | 206 | assigned-clocks = <&abe_dpll_sys_clk_mux>, |
207 | <&atl_gfclk_mux>, | 207 | <&atl_clkctrl DRA7_ATL_CLKCTRL 26>, |
208 | <&dpll_abe_ck>, | 208 | <&dpll_abe_ck>, |
209 | <&dpll_abe_m2x2_ck>, | 209 | <&dpll_abe_m2x2_ck>, |
210 | <&atl_clkin2_ck>; | 210 | <&atl_clkin2_ck>; |
@@ -222,7 +222,7 @@ | |||
222 | &mcasp3 { | 222 | &mcasp3 { |
223 | #sound-dai-cells = <0>; | 223 | #sound-dai-cells = <0>; |
224 | 224 | ||
225 | assigned-clocks = <&mcasp3_ahclkx_mux>; | 225 | assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>; |
226 | assigned-clock-parents = <&atl_clkin2_ck>; | 226 | assigned-clock-parents = <&atl_clkin2_ck>; |
227 | 227 | ||
228 | status = "okay"; | 228 | status = "okay"; |
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index ac9216293b7c..a1d7178a3966 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi | |||
@@ -9,6 +9,7 @@ | |||
9 | 9 | ||
10 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 10 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
11 | #include <dt-bindings/pinctrl/dra.h> | 11 | #include <dt-bindings/pinctrl/dra.h> |
12 | #include <dt-bindings/clock/dra7.h> | ||
12 | 13 | ||
13 | #define MAX_SOURCES 400 | 14 | #define MAX_SOURCES 400 |
14 | 15 | ||
@@ -224,8 +225,12 @@ | |||
224 | }; | 225 | }; |
225 | 226 | ||
226 | cm_core_aon: cm_core_aon@5000 { | 227 | cm_core_aon: cm_core_aon@5000 { |
227 | compatible = "ti,dra7-cm-core-aon"; | 228 | compatible = "ti,dra7-cm-core-aon", |
229 | "simple-bus"; | ||
230 | #address-cells = <1>; | ||
231 | #size-cells = <1>; | ||
228 | reg = <0x5000 0x2000>; | 232 | reg = <0x5000 0x2000>; |
233 | ranges = <0 0x5000 0x2000>; | ||
229 | 234 | ||
230 | cm_core_aon_clocks: clocks { | 235 | cm_core_aon_clocks: clocks { |
231 | #address-cells = <1>; | 236 | #address-cells = <1>; |
@@ -237,8 +242,11 @@ | |||
237 | }; | 242 | }; |
238 | 243 | ||
239 | cm_core: cm_core@8000 { | 244 | cm_core: cm_core@8000 { |
240 | compatible = "ti,dra7-cm-core"; | 245 | compatible = "ti,dra7-cm-core", "simple-bus"; |
246 | #address-cells = <1>; | ||
247 | #size-cells = <1>; | ||
241 | reg = <0x8000 0x3000>; | 248 | reg = <0x8000 0x3000>; |
249 | ranges = <0 0x8000 0x3000>; | ||
242 | 250 | ||
243 | cm_core_clocks: clocks { | 251 | cm_core_clocks: clocks { |
244 | #address-cells = <1>; | 252 | #address-cells = <1>; |
@@ -263,9 +271,12 @@ | |||
263 | }; | 271 | }; |
264 | 272 | ||
265 | prm: prm@6000 { | 273 | prm: prm@6000 { |
266 | compatible = "ti,dra7-prm"; | 274 | compatible = "ti,dra7-prm", "simple-bus"; |
267 | reg = <0x6000 0x3000>; | 275 | reg = <0x6000 0x3000>; |
268 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | 276 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; |
277 | #address-cells = <1>; | ||
278 | #size-cells = <1>; | ||
279 | ranges = <0 0x6000 0x3000>; | ||
269 | 280 | ||
270 | prm_clocks: clocks { | 281 | prm_clocks: clocks { |
271 | #address-cells = <1>; | 282 | #address-cells = <1>; |
@@ -876,6 +887,8 @@ | |||
876 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | 887 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; |
877 | ti,hwmods = "timer1"; | 888 | ti,hwmods = "timer1"; |
878 | ti,timer-alwon; | 889 | ti,timer-alwon; |
890 | clock-names = "fck"; | ||
891 | clocks = <&wkupaon_clkctrl DRA7_TIMER1_CLKCTRL 24>; | ||
879 | }; | 892 | }; |
880 | 893 | ||
881 | timer2: timer@48032000 { | 894 | timer2: timer@48032000 { |
@@ -1358,7 +1371,7 @@ | |||
1358 | #address-cells = <1>; | 1371 | #address-cells = <1>; |
1359 | #size-cells = <0>; | 1372 | #size-cells = <0>; |
1360 | ti,hwmods = "qspi"; | 1373 | ti,hwmods = "qspi"; |
1361 | clocks = <&qspi_gfclk_div>; | 1374 | clocks = <&l4per_clkctrl DRA7_QSPI_CLKCTRL 25>; |
1362 | clock-names = "fck"; | 1375 | clock-names = "fck"; |
1363 | num-cs = <4>; | 1376 | num-cs = <4>; |
1364 | interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>; | 1377 | interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>; |
@@ -1380,7 +1393,8 @@ | |||
1380 | <0x4A096800 0x40>; /* pll_ctrl */ | 1393 | <0x4A096800 0x40>; /* pll_ctrl */ |
1381 | reg-names = "phy_rx", "phy_tx", "pll_ctrl"; | 1394 | reg-names = "phy_rx", "phy_tx", "pll_ctrl"; |
1382 | syscon-phy-power = <&scm_conf 0x374>; | 1395 | syscon-phy-power = <&scm_conf 0x374>; |
1383 | clocks = <&sys_clkin1>, <&sata_ref_clk>; | 1396 | clocks = <&sys_clkin1>, |
1397 | <&l3init_clkctrl DRA7_SATA_CLKCTRL 8>; | ||
1384 | clock-names = "sysclk", "refclk"; | 1398 | clock-names = "sysclk", "refclk"; |
1385 | syscon-pllreset = <&scm_conf 0x3fc>; | 1399 | syscon-pllreset = <&scm_conf 0x3fc>; |
1386 | #phy-cells = <0>; | 1400 | #phy-cells = <0>; |
@@ -1395,9 +1409,9 @@ | |||
1395 | syscon-pcs = <&scm_conf_pcie 0x10>; | 1409 | syscon-pcs = <&scm_conf_pcie 0x10>; |
1396 | clocks = <&dpll_pcie_ref_ck>, | 1410 | clocks = <&dpll_pcie_ref_ck>, |
1397 | <&dpll_pcie_ref_m2ldo_ck>, | 1411 | <&dpll_pcie_ref_m2ldo_ck>, |
1398 | <&optfclk_pciephy1_32khz>, | 1412 | <&l3init_clkctrl DRA7_PCIE1_CLKCTRL 8>, |
1399 | <&optfclk_pciephy1_clk>, | 1413 | <&l3init_clkctrl DRA7_PCIE1_CLKCTRL 9>, |
1400 | <&optfclk_pciephy1_div_clk>, | 1414 | <&l3init_clkctrl DRA7_PCIE1_CLKCTRL 10>, |
1401 | <&optfclk_pciephy_div>, | 1415 | <&optfclk_pciephy_div>, |
1402 | <&sys_clkin1>; | 1416 | <&sys_clkin1>; |
1403 | clock-names = "dpll_ref", "dpll_ref_m2", | 1417 | clock-names = "dpll_ref", "dpll_ref_m2", |
@@ -1415,9 +1429,9 @@ | |||
1415 | syscon-pcs = <&scm_conf_pcie 0x10>; | 1429 | syscon-pcs = <&scm_conf_pcie 0x10>; |
1416 | clocks = <&dpll_pcie_ref_ck>, | 1430 | clocks = <&dpll_pcie_ref_ck>, |
1417 | <&dpll_pcie_ref_m2ldo_ck>, | 1431 | <&dpll_pcie_ref_m2ldo_ck>, |
1418 | <&optfclk_pciephy2_32khz>, | 1432 | <&l3init_clkctrl DRA7_PCIE2_CLKCTRL 8>, |
1419 | <&optfclk_pciephy2_clk>, | 1433 | <&l3init_clkctrl DRA7_PCIE2_CLKCTRL 9>, |
1420 | <&optfclk_pciephy2_div_clk>, | 1434 | <&l3init_clkctrl DRA7_PCIE2_CLKCTRL 10>, |
1421 | <&optfclk_pciephy_div>, | 1435 | <&optfclk_pciephy_div>, |
1422 | <&sys_clkin1>; | 1436 | <&sys_clkin1>; |
1423 | clock-names = "dpll_ref", "dpll_ref_m2", | 1437 | clock-names = "dpll_ref", "dpll_ref_m2", |
@@ -1434,7 +1448,7 @@ | |||
1434 | interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; | 1448 | interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; |
1435 | phys = <&sata_phy>; | 1449 | phys = <&sata_phy>; |
1436 | phy-names = "sata-phy"; | 1450 | phy-names = "sata-phy"; |
1437 | clocks = <&sata_ref_clk>; | 1451 | clocks = <&l3init_clkctrl DRA7_SATA_CLKCTRL 8>; |
1438 | ti,hwmods = "sata"; | 1452 | ti,hwmods = "sata"; |
1439 | ports-implemented = <0x1>; | 1453 | ports-implemented = <0x1>; |
1440 | }; | 1454 | }; |
@@ -1462,7 +1476,7 @@ | |||
1462 | reg = <0x4a084000 0x400>; | 1476 | reg = <0x4a084000 0x400>; |
1463 | syscon-phy-power = <&scm_conf 0x300>; | 1477 | syscon-phy-power = <&scm_conf 0x300>; |
1464 | clocks = <&usb_phy1_always_on_clk32k>, | 1478 | clocks = <&usb_phy1_always_on_clk32k>, |
1465 | <&usb_otg_ss1_refclk960m>; | 1479 | <&l3init_clkctrl DRA7_USB_OTG_SS1_CLKCTRL 8>; |
1466 | clock-names = "wkupclk", | 1480 | clock-names = "wkupclk", |
1467 | "refclk"; | 1481 | "refclk"; |
1468 | #phy-cells = <0>; | 1482 | #phy-cells = <0>; |
@@ -1474,7 +1488,7 @@ | |||
1474 | reg = <0x4a085000 0x400>; | 1488 | reg = <0x4a085000 0x400>; |
1475 | syscon-phy-power = <&scm_conf 0xe74>; | 1489 | syscon-phy-power = <&scm_conf 0xe74>; |
1476 | clocks = <&usb_phy2_always_on_clk32k>, | 1490 | clocks = <&usb_phy2_always_on_clk32k>, |
1477 | <&usb_otg_ss2_refclk960m>; | 1491 | <&l3init_clkctrl DRA7_USB_OTG_SS2_CLKCTRL 8>; |
1478 | clock-names = "wkupclk", | 1492 | clock-names = "wkupclk", |
1479 | "refclk"; | 1493 | "refclk"; |
1480 | #phy-cells = <0>; | 1494 | #phy-cells = <0>; |
@@ -1489,7 +1503,7 @@ | |||
1489 | syscon-phy-power = <&scm_conf 0x370>; | 1503 | syscon-phy-power = <&scm_conf 0x370>; |
1490 | clocks = <&usb_phy3_always_on_clk32k>, | 1504 | clocks = <&usb_phy3_always_on_clk32k>, |
1491 | <&sys_clkin1>, | 1505 | <&sys_clkin1>, |
1492 | <&usb_otg_ss1_refclk960m>; | 1506 | <&l3init_clkctrl DRA7_USB_OTG_SS1_CLKCTRL 8>; |
1493 | clock-names = "wkupclk", | 1507 | clock-names = "wkupclk", |
1494 | "sysclk", | 1508 | "sysclk", |
1495 | "refclk"; | 1509 | "refclk"; |
@@ -1636,7 +1650,7 @@ | |||
1636 | ti,hwmods = "atl"; | 1650 | ti,hwmods = "atl"; |
1637 | ti,provided-clocks = <&atl_clkin0_ck>, <&atl_clkin1_ck>, | 1651 | ti,provided-clocks = <&atl_clkin0_ck>, <&atl_clkin1_ck>, |
1638 | <&atl_clkin2_ck>, <&atl_clkin3_ck>; | 1652 | <&atl_clkin2_ck>, <&atl_clkin3_ck>; |
1639 | clocks = <&atl_gfclk_mux>; | 1653 | clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>; |
1640 | clock-names = "fck"; | 1654 | clock-names = "fck"; |
1641 | status = "disabled"; | 1655 | status = "disabled"; |
1642 | }; | 1656 | }; |
@@ -1652,8 +1666,8 @@ | |||
1652 | interrupt-names = "tx", "rx"; | 1666 | interrupt-names = "tx", "rx"; |
1653 | dmas = <&edma_xbar 129 1>, <&edma_xbar 128 1>; | 1667 | dmas = <&edma_xbar 129 1>, <&edma_xbar 128 1>; |
1654 | dma-names = "tx", "rx"; | 1668 | dma-names = "tx", "rx"; |
1655 | clocks = <&mcasp1_aux_gfclk_mux>, <&mcasp1_ahclkx_mux>, | 1669 | clocks = <&ipu_clkctrl DRA7_MCASP1_CLKCTRL 22>, <&ipu_clkctrl DRA7_MCASP1_CLKCTRL 24>, |
1656 | <&mcasp1_ahclkr_mux>; | 1670 | <&ipu_clkctrl DRA7_MCASP1_CLKCTRL 28>; |
1657 | clock-names = "fck", "ahclkx", "ahclkr"; | 1671 | clock-names = "fck", "ahclkx", "ahclkr"; |
1658 | status = "disabled"; | 1672 | status = "disabled"; |
1659 | }; | 1673 | }; |
@@ -1669,8 +1683,9 @@ | |||
1669 | interrupt-names = "tx", "rx"; | 1683 | interrupt-names = "tx", "rx"; |
1670 | dmas = <&edma_xbar 131 1>, <&edma_xbar 130 1>; | 1684 | dmas = <&edma_xbar 131 1>, <&edma_xbar 130 1>; |
1671 | dma-names = "tx", "rx"; | 1685 | dma-names = "tx", "rx"; |
1672 | clocks = <&mcasp2_aux_gfclk_mux>, <&mcasp2_ahclkx_mux>, | 1686 | clocks = <&l4per_clkctrl DRA7_MCASP2_CLKCTRL 22>, |
1673 | <&mcasp2_ahclkr_mux>; | 1687 | <&l4per_clkctrl DRA7_MCASP2_CLKCTRL 24>, |
1688 | <&l4per_clkctrl DRA7_MCASP2_CLKCTRL 28>; | ||
1674 | clock-names = "fck", "ahclkx", "ahclkr"; | 1689 | clock-names = "fck", "ahclkx", "ahclkr"; |
1675 | status = "disabled"; | 1690 | status = "disabled"; |
1676 | }; | 1691 | }; |
@@ -1686,7 +1701,8 @@ | |||
1686 | interrupt-names = "tx", "rx"; | 1701 | interrupt-names = "tx", "rx"; |
1687 | dmas = <&edma_xbar 133 1>, <&edma_xbar 132 1>; | 1702 | dmas = <&edma_xbar 133 1>, <&edma_xbar 132 1>; |
1688 | dma-names = "tx", "rx"; | 1703 | dma-names = "tx", "rx"; |
1689 | clocks = <&mcasp3_aux_gfclk_mux>, <&mcasp3_ahclkx_mux>; | 1704 | clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 22>, |
1705 | <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>; | ||
1690 | clock-names = "fck", "ahclkx"; | 1706 | clock-names = "fck", "ahclkx"; |
1691 | status = "disabled"; | 1707 | status = "disabled"; |
1692 | }; | 1708 | }; |
@@ -1702,7 +1718,8 @@ | |||
1702 | interrupt-names = "tx", "rx"; | 1718 | interrupt-names = "tx", "rx"; |
1703 | dmas = <&edma_xbar 135 1>, <&edma_xbar 134 1>; | 1719 | dmas = <&edma_xbar 135 1>, <&edma_xbar 134 1>; |
1704 | dma-names = "tx", "rx"; | 1720 | dma-names = "tx", "rx"; |
1705 | clocks = <&mcasp4_aux_gfclk_mux>, <&mcasp4_ahclkx_mux>; | 1721 | clocks = <&l4per_clkctrl DRA7_MCASP4_CLKCTRL 22>, |
1722 | <&l4per_clkctrl DRA7_MCASP4_CLKCTRL 24>; | ||
1706 | clock-names = "fck", "ahclkx"; | 1723 | clock-names = "fck", "ahclkx"; |
1707 | status = "disabled"; | 1724 | status = "disabled"; |
1708 | }; | 1725 | }; |
@@ -1718,7 +1735,8 @@ | |||
1718 | interrupt-names = "tx", "rx"; | 1735 | interrupt-names = "tx", "rx"; |
1719 | dmas = <&edma_xbar 137 1>, <&edma_xbar 136 1>; | 1736 | dmas = <&edma_xbar 137 1>, <&edma_xbar 136 1>; |
1720 | dma-names = "tx", "rx"; | 1737 | dma-names = "tx", "rx"; |
1721 | clocks = <&mcasp5_aux_gfclk_mux>, <&mcasp5_ahclkx_mux>; | 1738 | clocks = <&l4per_clkctrl DRA7_MCASP5_CLKCTRL 22>, |
1739 | <&l4per_clkctrl DRA7_MCASP5_CLKCTRL 24>; | ||
1722 | clock-names = "fck", "ahclkx"; | 1740 | clock-names = "fck", "ahclkx"; |
1723 | status = "disabled"; | 1741 | status = "disabled"; |
1724 | }; | 1742 | }; |
@@ -1734,7 +1752,8 @@ | |||
1734 | interrupt-names = "tx", "rx"; | 1752 | interrupt-names = "tx", "rx"; |
1735 | dmas = <&edma_xbar 139 1>, <&edma_xbar 138 1>; | 1753 | dmas = <&edma_xbar 139 1>, <&edma_xbar 138 1>; |
1736 | dma-names = "tx", "rx"; | 1754 | dma-names = "tx", "rx"; |
1737 | clocks = <&mcasp6_aux_gfclk_mux>, <&mcasp6_ahclkx_mux>; | 1755 | clocks = <&l4per_clkctrl DRA7_MCASP6_CLKCTRL 22>, |
1756 | <&l4per_clkctrl DRA7_MCASP6_CLKCTRL 24>; | ||
1738 | clock-names = "fck", "ahclkx"; | 1757 | clock-names = "fck", "ahclkx"; |
1739 | status = "disabled"; | 1758 | status = "disabled"; |
1740 | }; | 1759 | }; |
@@ -1750,7 +1769,8 @@ | |||
1750 | interrupt-names = "tx", "rx"; | 1769 | interrupt-names = "tx", "rx"; |
1751 | dmas = <&edma_xbar 141 1>, <&edma_xbar 140 1>; | 1770 | dmas = <&edma_xbar 141 1>, <&edma_xbar 140 1>; |
1752 | dma-names = "tx", "rx"; | 1771 | dma-names = "tx", "rx"; |
1753 | clocks = <&mcasp7_aux_gfclk_mux>, <&mcasp7_ahclkx_mux>; | 1772 | clocks = <&l4per_clkctrl DRA7_MCASP7_CLKCTRL 22>, |
1773 | <&l4per_clkctrl DRA7_MCASP7_CLKCTRL 24>; | ||
1754 | clock-names = "fck", "ahclkx"; | 1774 | clock-names = "fck", "ahclkx"; |
1755 | status = "disabled"; | 1775 | status = "disabled"; |
1756 | }; | 1776 | }; |
@@ -1766,7 +1786,8 @@ | |||
1766 | interrupt-names = "tx", "rx"; | 1786 | interrupt-names = "tx", "rx"; |
1767 | dmas = <&edma_xbar 143 1>, <&edma_xbar 142 1>; | 1787 | dmas = <&edma_xbar 143 1>, <&edma_xbar 142 1>; |
1768 | dma-names = "tx", "rx"; | 1788 | dma-names = "tx", "rx"; |
1769 | clocks = <&mcasp8_aux_gfclk_mux>, <&mcasp8_ahclkx_mux>; | 1789 | clocks = <&l4per_clkctrl DRA7_MCASP8_CLKCTRL 22>, |
1790 | <&l4per_clkctrl DRA7_MCASP8_CLKCTRL 24>; | ||
1770 | clock-names = "fck", "ahclkx"; | 1791 | clock-names = "fck", "ahclkx"; |
1771 | status = "disabled"; | 1792 | status = "disabled"; |
1772 | }; | 1793 | }; |
@@ -1788,7 +1809,7 @@ | |||
1788 | mac: ethernet@48484000 { | 1809 | mac: ethernet@48484000 { |
1789 | compatible = "ti,dra7-cpsw","ti,cpsw"; | 1810 | compatible = "ti,dra7-cpsw","ti,cpsw"; |
1790 | ti,hwmods = "gmac"; | 1811 | ti,hwmods = "gmac"; |
1791 | clocks = <&gmac_main_clk>, <&gmac_rft_clk_mux>; | 1812 | clocks = <&gmac_main_clk>, <&l3init_clkctrl DRA7_GMAC_CLKCTRL 25>; |
1792 | clock-names = "fck", "cpts"; | 1813 | clock-names = "fck", "cpts"; |
1793 | cpdma_channels = <8>; | 1814 | cpdma_channels = <8>; |
1794 | ale_entries = <1024>; | 1815 | ale_entries = <1024>; |
@@ -1858,7 +1879,7 @@ | |||
1858 | reg = <0x4ae3c000 0x2000>; | 1879 | reg = <0x4ae3c000 0x2000>; |
1859 | syscon-raminit = <&scm_conf 0x558 0>; | 1880 | syscon-raminit = <&scm_conf 0x558 0>; |
1860 | interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; | 1881 | interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; |
1861 | clocks = <&dcan1_sys_clk_mux>; | 1882 | clocks = <&wkupaon_clkctrl DRA7_DCAN1_CLKCTRL 24>; |
1862 | status = "disabled"; | 1883 | status = "disabled"; |
1863 | }; | 1884 | }; |
1864 | 1885 | ||
@@ -1889,7 +1910,7 @@ | |||
1889 | reg = <0x58001000 0x1000>; | 1910 | reg = <0x58001000 0x1000>; |
1890 | interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; | 1911 | interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; |
1891 | ti,hwmods = "dss_dispc"; | 1912 | ti,hwmods = "dss_dispc"; |
1892 | clocks = <&dss_dss_clk>; | 1913 | clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 8>; |
1893 | clock-names = "fck"; | 1914 | clock-names = "fck"; |
1894 | /* CTRL_CORE_SMA_SW_1 */ | 1915 | /* CTRL_CORE_SMA_SW_1 */ |
1895 | syscon-pol = <&scm_conf 0x534>; | 1916 | syscon-pol = <&scm_conf 0x534>; |
@@ -1905,7 +1926,8 @@ | |||
1905 | interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; | 1926 | interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; |
1906 | status = "disabled"; | 1927 | status = "disabled"; |
1907 | ti,hwmods = "dss_hdmi"; | 1928 | ti,hwmods = "dss_hdmi"; |
1908 | clocks = <&dss_48mhz_clk>, <&dss_hdmi_clk>; | 1929 | clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 9>, |
1930 | <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 10>; | ||
1909 | clock-names = "fck", "sys_clk"; | 1931 | clock-names = "fck", "sys_clk"; |
1910 | }; | 1932 | }; |
1911 | }; | 1933 | }; |
@@ -2089,4 +2111,4 @@ | |||
2089 | temperature = <120000>; /* milli Celsius */ | 2111 | temperature = <120000>; /* milli Celsius */ |
2090 | }; | 2112 | }; |
2091 | 2113 | ||
2092 | /include/ "dra7xx-clocks.dtsi" | 2114 | #include "dra7xx-clocks.dtsi" |
diff --git a/arch/arm/boot/dts/dra72-evm-common.dtsi b/arch/arm/boot/dts/dra72-evm-common.dtsi index 2e485a13dfd7..e85f560a2f78 100644 --- a/arch/arm/boot/dts/dra72-evm-common.dtsi +++ b/arch/arm/boot/dts/dra72-evm-common.dtsi | |||
@@ -514,7 +514,7 @@ | |||
514 | 514 | ||
515 | &atl { | 515 | &atl { |
516 | assigned-clocks = <&abe_dpll_sys_clk_mux>, | 516 | assigned-clocks = <&abe_dpll_sys_clk_mux>, |
517 | <&atl_gfclk_mux>, | 517 | <&atl_clkctrl DRA7_ATL_CLKCTRL 26>, |
518 | <&dpll_abe_ck>, | 518 | <&dpll_abe_ck>, |
519 | <&dpll_abe_m2x2_ck>, | 519 | <&dpll_abe_m2x2_ck>, |
520 | <&atl_clkin2_ck>; | 520 | <&atl_clkin2_ck>; |
@@ -532,7 +532,7 @@ | |||
532 | &mcasp3 { | 532 | &mcasp3 { |
533 | #sound-dai-cells = <0>; | 533 | #sound-dai-cells = <0>; |
534 | 534 | ||
535 | assigned-clocks = <&mcasp3_ahclkx_mux>; | 535 | assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>; |
536 | assigned-clock-parents = <&atl_clkin2_ck>; | 536 | assigned-clock-parents = <&atl_clkin2_ck>; |
537 | 537 | ||
538 | status = "okay"; | 538 | status = "okay"; |
diff --git a/arch/arm/boot/dts/dra72x.dtsi b/arch/arm/boot/dts/dra72x.dtsi index 67107605fb4c..a06d39919bf4 100644 --- a/arch/arm/boot/dts/dra72x.dtsi +++ b/arch/arm/boot/dts/dra72x.dtsi | |||
@@ -25,8 +25,8 @@ | |||
25 | <0x58004300 0x20>; | 25 | <0x58004300 0x20>; |
26 | reg-names = "dss", "pll1_clkctrl", "pll1"; | 26 | reg-names = "dss", "pll1_clkctrl", "pll1"; |
27 | 27 | ||
28 | clocks = <&dss_dss_clk>, | 28 | clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 8>, |
29 | <&dss_video1_clk>; | 29 | <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 12>; |
30 | clock-names = "fck", "video1_clk"; | 30 | clock-names = "fck", "video1_clk"; |
31 | }; | 31 | }; |
32 | 32 | ||
diff --git a/arch/arm/boot/dts/dra74x.dtsi b/arch/arm/boot/dts/dra74x.dtsi index 24e6746c5b26..24ff17bae4c6 100644 --- a/arch/arm/boot/dts/dra74x.dtsi +++ b/arch/arm/boot/dts/dra74x.dtsi | |||
@@ -93,9 +93,9 @@ | |||
93 | reg-names = "dss", "pll1_clkctrl", "pll1", | 93 | reg-names = "dss", "pll1_clkctrl", "pll1", |
94 | "pll2_clkctrl", "pll2"; | 94 | "pll2_clkctrl", "pll2"; |
95 | 95 | ||
96 | clocks = <&dss_dss_clk>, | 96 | clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 8>, |
97 | <&dss_video1_clk>, | 97 | <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 12>, |
98 | <&dss_video2_clk>; | 98 | <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 13>; |
99 | clock-names = "fck", "video1_clk", "video2_clk"; | 99 | clock-names = "fck", "video1_clk", "video2_clk"; |
100 | }; | 100 | }; |
101 | 101 | ||
diff --git a/arch/arm/boot/dts/dra7xx-clocks.dtsi b/arch/arm/boot/dts/dra7xx-clocks.dtsi index e62b62875cba..69562cdbeada 100644 --- a/arch/arm/boot/dts/dra7xx-clocks.dtsi +++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi | |||
@@ -11,25 +11,25 @@ | |||
11 | atl_clkin0_ck: atl_clkin0_ck { | 11 | atl_clkin0_ck: atl_clkin0_ck { |
12 | #clock-cells = <0>; | 12 | #clock-cells = <0>; |
13 | compatible = "ti,dra7-atl-clock"; | 13 | compatible = "ti,dra7-atl-clock"; |
14 | clocks = <&atl_gfclk_mux>; | 14 | clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>; |
15 | }; | 15 | }; |
16 | 16 | ||
17 | atl_clkin1_ck: atl_clkin1_ck { | 17 | atl_clkin1_ck: atl_clkin1_ck { |
18 | #clock-cells = <0>; | 18 | #clock-cells = <0>; |
19 | compatible = "ti,dra7-atl-clock"; | 19 | compatible = "ti,dra7-atl-clock"; |
20 | clocks = <&atl_gfclk_mux>; | 20 | clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>; |
21 | }; | 21 | }; |
22 | 22 | ||
23 | atl_clkin2_ck: atl_clkin2_ck { | 23 | atl_clkin2_ck: atl_clkin2_ck { |
24 | #clock-cells = <0>; | 24 | #clock-cells = <0>; |
25 | compatible = "ti,dra7-atl-clock"; | 25 | compatible = "ti,dra7-atl-clock"; |
26 | clocks = <&atl_gfclk_mux>; | 26 | clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>; |
27 | }; | 27 | }; |
28 | 28 | ||
29 | atl_clkin3_ck: atl_clkin3_ck { | 29 | atl_clkin3_ck: atl_clkin3_ck { |
30 | #clock-cells = <0>; | 30 | #clock-cells = <0>; |
31 | compatible = "ti,dra7-atl-clock"; | 31 | compatible = "ti,dra7-atl-clock"; |
32 | clocks = <&atl_gfclk_mux>; | 32 | clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>; |
33 | }; | 33 | }; |
34 | 34 | ||
35 | hdmi_clkin_ck: hdmi_clkin_ck { | 35 | hdmi_clkin_ck: hdmi_clkin_ck { |
@@ -809,70 +809,6 @@ | |||
809 | assigned-clock-parents = <&dpll_core_h22x2_ck>; | 809 | assigned-clock-parents = <&dpll_core_h22x2_ck>; |
810 | }; | 810 | }; |
811 | 811 | ||
812 | mcasp1_ahclkr_mux: mcasp1_ahclkr_mux@550 { | ||
813 | #clock-cells = <0>; | ||
814 | compatible = "ti,mux-clock"; | ||
815 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
816 | ti,bit-shift = <28>; | ||
817 | reg = <0x0550>; | ||
818 | }; | ||
819 | |||
820 | mcasp1_ahclkx_mux: mcasp1_ahclkx_mux@550 { | ||
821 | #clock-cells = <0>; | ||
822 | compatible = "ti,mux-clock"; | ||
823 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
824 | ti,bit-shift = <24>; | ||
825 | reg = <0x0550>; | ||
826 | }; | ||
827 | |||
828 | mcasp1_aux_gfclk_mux: mcasp1_aux_gfclk_mux@550 { | ||
829 | #clock-cells = <0>; | ||
830 | compatible = "ti,mux-clock"; | ||
831 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
832 | ti,bit-shift = <22>; | ||
833 | reg = <0x0550>; | ||
834 | }; | ||
835 | |||
836 | timer5_gfclk_mux: timer5_gfclk_mux@558 { | ||
837 | #clock-cells = <0>; | ||
838 | compatible = "ti,mux-clock"; | ||
839 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>; | ||
840 | ti,bit-shift = <24>; | ||
841 | reg = <0x0558>; | ||
842 | }; | ||
843 | |||
844 | timer6_gfclk_mux: timer6_gfclk_mux@560 { | ||
845 | #clock-cells = <0>; | ||
846 | compatible = "ti,mux-clock"; | ||
847 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>; | ||
848 | ti,bit-shift = <24>; | ||
849 | reg = <0x0560>; | ||
850 | }; | ||
851 | |||
852 | timer7_gfclk_mux: timer7_gfclk_mux@568 { | ||
853 | #clock-cells = <0>; | ||
854 | compatible = "ti,mux-clock"; | ||
855 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>; | ||
856 | ti,bit-shift = <24>; | ||
857 | reg = <0x0568>; | ||
858 | }; | ||
859 | |||
860 | timer8_gfclk_mux: timer8_gfclk_mux@570 { | ||
861 | #clock-cells = <0>; | ||
862 | compatible = "ti,mux-clock"; | ||
863 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>; | ||
864 | ti,bit-shift = <24>; | ||
865 | reg = <0x0570>; | ||
866 | }; | ||
867 | |||
868 | uart6_gfclk_mux: uart6_gfclk_mux@580 { | ||
869 | #clock-cells = <0>; | ||
870 | compatible = "ti,mux-clock"; | ||
871 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
872 | ti,bit-shift = <24>; | ||
873 | reg = <0x0580>; | ||
874 | }; | ||
875 | |||
876 | dummy_ck: dummy_ck { | 812 | dummy_ck: dummy_ck { |
877 | #clock-cells = <0>; | 813 | #clock-cells = <0>; |
878 | compatible = "fixed-clock"; | 814 | compatible = "fixed-clock"; |
@@ -1188,39 +1124,8 @@ | |||
1188 | clocks = <&sys_clkin1>, <&abe_lp_clk_div>; | 1124 | clocks = <&sys_clkin1>, <&abe_lp_clk_div>; |
1189 | reg = <0x0108>; | 1125 | reg = <0x0108>; |
1190 | }; | 1126 | }; |
1191 | |||
1192 | gpio1_dbclk: gpio1_dbclk@1838 { | ||
1193 | #clock-cells = <0>; | ||
1194 | compatible = "ti,gate-clock"; | ||
1195 | clocks = <&sys_32k_ck>; | ||
1196 | ti,bit-shift = <8>; | ||
1197 | reg = <0x1838>; | ||
1198 | }; | ||
1199 | |||
1200 | dcan1_sys_clk_mux: dcan1_sys_clk_mux@1888 { | ||
1201 | #clock-cells = <0>; | ||
1202 | compatible = "ti,mux-clock"; | ||
1203 | clocks = <&sys_clkin1>, <&sys_clkin2>; | ||
1204 | ti,bit-shift = <24>; | ||
1205 | reg = <0x1888>; | ||
1206 | }; | ||
1207 | |||
1208 | timer1_gfclk_mux: timer1_gfclk_mux@1840 { | ||
1209 | #clock-cells = <0>; | ||
1210 | compatible = "ti,mux-clock"; | ||
1211 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
1212 | ti,bit-shift = <24>; | ||
1213 | reg = <0x1840>; | ||
1214 | }; | ||
1215 | |||
1216 | uart10_gfclk_mux: uart10_gfclk_mux@1880 { | ||
1217 | #clock-cells = <0>; | ||
1218 | compatible = "ti,mux-clock"; | ||
1219 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
1220 | ti,bit-shift = <24>; | ||
1221 | reg = <0x1880>; | ||
1222 | }; | ||
1223 | }; | 1127 | }; |
1128 | |||
1224 | &cm_core_clocks { | 1129 | &cm_core_clocks { |
1225 | dpll_pcie_ref_ck: dpll_pcie_ref_ck@200 { | 1130 | dpll_pcie_ref_ck: dpll_pcie_ref_ck@200 { |
1226 | #clock-cells = <0>; | 1131 | #clock-cells = <0>; |
@@ -1255,22 +1160,6 @@ | |||
1255 | reg = <0x021c>, <0x0220>; | 1160 | reg = <0x021c>, <0x0220>; |
1256 | }; | 1161 | }; |
1257 | 1162 | ||
1258 | optfclk_pciephy1_32khz: optfclk_pciephy1_32khz@4a0093b0 { | ||
1259 | compatible = "ti,gate-clock"; | ||
1260 | clocks = <&sys_32k_ck>; | ||
1261 | #clock-cells = <0>; | ||
1262 | reg = <0x13b0>; | ||
1263 | ti,bit-shift = <8>; | ||
1264 | }; | ||
1265 | |||
1266 | optfclk_pciephy2_32khz: optfclk_pciephy2_32khz@4a0093b8 { | ||
1267 | compatible = "ti,gate-clock"; | ||
1268 | clocks = <&sys_32k_ck>; | ||
1269 | #clock-cells = <0>; | ||
1270 | reg = <0x13b8>; | ||
1271 | ti,bit-shift = <8>; | ||
1272 | }; | ||
1273 | |||
1274 | optfclk_pciephy_div: optfclk_pciephy_div@4a00821c { | 1163 | optfclk_pciephy_div: optfclk_pciephy_div@4a00821c { |
1275 | compatible = "ti,divider-clock"; | 1164 | compatible = "ti,divider-clock"; |
1276 | clocks = <&apll_pcie_ck>; | 1165 | clocks = <&apll_pcie_ck>; |
@@ -1281,38 +1170,6 @@ | |||
1281 | ti,max-div = <2>; | 1170 | ti,max-div = <2>; |
1282 | }; | 1171 | }; |
1283 | 1172 | ||
1284 | optfclk_pciephy1_clk: optfclk_pciephy1_clk@4a0093b0 { | ||
1285 | compatible = "ti,gate-clock"; | ||
1286 | clocks = <&apll_pcie_ck>; | ||
1287 | #clock-cells = <0>; | ||
1288 | reg = <0x13b0>; | ||
1289 | ti,bit-shift = <9>; | ||
1290 | }; | ||
1291 | |||
1292 | optfclk_pciephy2_clk: optfclk_pciephy2_clk@4a0093b8 { | ||
1293 | compatible = "ti,gate-clock"; | ||
1294 | clocks = <&apll_pcie_ck>; | ||
1295 | #clock-cells = <0>; | ||
1296 | reg = <0x13b8>; | ||
1297 | ti,bit-shift = <9>; | ||
1298 | }; | ||
1299 | |||
1300 | optfclk_pciephy1_div_clk: optfclk_pciephy1_div_clk@4a0093b0 { | ||
1301 | compatible = "ti,gate-clock"; | ||
1302 | clocks = <&optfclk_pciephy_div>; | ||
1303 | #clock-cells = <0>; | ||
1304 | reg = <0x13b0>; | ||
1305 | ti,bit-shift = <10>; | ||
1306 | }; | ||
1307 | |||
1308 | optfclk_pciephy2_div_clk: optfclk_pciephy2_div_clk@4a0093b8 { | ||
1309 | compatible = "ti,gate-clock"; | ||
1310 | clocks = <&optfclk_pciephy_div>; | ||
1311 | #clock-cells = <0>; | ||
1312 | reg = <0x13b8>; | ||
1313 | ti,bit-shift = <10>; | ||
1314 | }; | ||
1315 | |||
1316 | apll_pcie_clkvcoldo: apll_pcie_clkvcoldo { | 1173 | apll_pcie_clkvcoldo: apll_pcie_clkvcoldo { |
1317 | #clock-cells = <0>; | 1174 | #clock-cells = <0>; |
1318 | compatible = "fixed-factor-clock"; | 1175 | compatible = "fixed-factor-clock"; |
@@ -1541,167 +1398,6 @@ | |||
1541 | reg = <0x06c0>; | 1398 | reg = <0x06c0>; |
1542 | }; | 1399 | }; |
1543 | 1400 | ||
1544 | dss_32khz_clk: dss_32khz_clk@1120 { | ||
1545 | #clock-cells = <0>; | ||
1546 | compatible = "ti,gate-clock"; | ||
1547 | clocks = <&sys_32k_ck>; | ||
1548 | ti,bit-shift = <11>; | ||
1549 | reg = <0x1120>; | ||
1550 | }; | ||
1551 | |||
1552 | dss_48mhz_clk: dss_48mhz_clk@1120 { | ||
1553 | #clock-cells = <0>; | ||
1554 | compatible = "ti,gate-clock"; | ||
1555 | clocks = <&func_48m_fclk>; | ||
1556 | ti,bit-shift = <9>; | ||
1557 | reg = <0x1120>; | ||
1558 | }; | ||
1559 | |||
1560 | dss_dss_clk: dss_dss_clk@1120 { | ||
1561 | #clock-cells = <0>; | ||
1562 | compatible = "ti,gate-clock"; | ||
1563 | clocks = <&dpll_per_h12x2_ck>; | ||
1564 | ti,bit-shift = <8>; | ||
1565 | reg = <0x1120>; | ||
1566 | ti,set-rate-parent; | ||
1567 | }; | ||
1568 | |||
1569 | dss_hdmi_clk: dss_hdmi_clk@1120 { | ||
1570 | #clock-cells = <0>; | ||
1571 | compatible = "ti,gate-clock"; | ||
1572 | clocks = <&hdmi_dpll_clk_mux>; | ||
1573 | ti,bit-shift = <10>; | ||
1574 | reg = <0x1120>; | ||
1575 | }; | ||
1576 | |||
1577 | dss_video1_clk: dss_video1_clk@1120 { | ||
1578 | #clock-cells = <0>; | ||
1579 | compatible = "ti,gate-clock"; | ||
1580 | clocks = <&video1_dpll_clk_mux>; | ||
1581 | ti,bit-shift = <12>; | ||
1582 | reg = <0x1120>; | ||
1583 | }; | ||
1584 | |||
1585 | dss_video2_clk: dss_video2_clk@1120 { | ||
1586 | #clock-cells = <0>; | ||
1587 | compatible = "ti,gate-clock"; | ||
1588 | clocks = <&video2_dpll_clk_mux>; | ||
1589 | ti,bit-shift = <13>; | ||
1590 | reg = <0x1120>; | ||
1591 | }; | ||
1592 | |||
1593 | gpio2_dbclk: gpio2_dbclk@1760 { | ||
1594 | #clock-cells = <0>; | ||
1595 | compatible = "ti,gate-clock"; | ||
1596 | clocks = <&sys_32k_ck>; | ||
1597 | ti,bit-shift = <8>; | ||
1598 | reg = <0x1760>; | ||
1599 | }; | ||
1600 | |||
1601 | gpio3_dbclk: gpio3_dbclk@1768 { | ||
1602 | #clock-cells = <0>; | ||
1603 | compatible = "ti,gate-clock"; | ||
1604 | clocks = <&sys_32k_ck>; | ||
1605 | ti,bit-shift = <8>; | ||
1606 | reg = <0x1768>; | ||
1607 | }; | ||
1608 | |||
1609 | gpio4_dbclk: gpio4_dbclk@1770 { | ||
1610 | #clock-cells = <0>; | ||
1611 | compatible = "ti,gate-clock"; | ||
1612 | clocks = <&sys_32k_ck>; | ||
1613 | ti,bit-shift = <8>; | ||
1614 | reg = <0x1770>; | ||
1615 | }; | ||
1616 | |||
1617 | gpio5_dbclk: gpio5_dbclk@1778 { | ||
1618 | #clock-cells = <0>; | ||
1619 | compatible = "ti,gate-clock"; | ||
1620 | clocks = <&sys_32k_ck>; | ||
1621 | ti,bit-shift = <8>; | ||
1622 | reg = <0x1778>; | ||
1623 | }; | ||
1624 | |||
1625 | gpio6_dbclk: gpio6_dbclk@1780 { | ||
1626 | #clock-cells = <0>; | ||
1627 | compatible = "ti,gate-clock"; | ||
1628 | clocks = <&sys_32k_ck>; | ||
1629 | ti,bit-shift = <8>; | ||
1630 | reg = <0x1780>; | ||
1631 | }; | ||
1632 | |||
1633 | gpio7_dbclk: gpio7_dbclk@1810 { | ||
1634 | #clock-cells = <0>; | ||
1635 | compatible = "ti,gate-clock"; | ||
1636 | clocks = <&sys_32k_ck>; | ||
1637 | ti,bit-shift = <8>; | ||
1638 | reg = <0x1810>; | ||
1639 | }; | ||
1640 | |||
1641 | gpio8_dbclk: gpio8_dbclk@1818 { | ||
1642 | #clock-cells = <0>; | ||
1643 | compatible = "ti,gate-clock"; | ||
1644 | clocks = <&sys_32k_ck>; | ||
1645 | ti,bit-shift = <8>; | ||
1646 | reg = <0x1818>; | ||
1647 | }; | ||
1648 | |||
1649 | mmc1_clk32k: mmc1_clk32k@1328 { | ||
1650 | #clock-cells = <0>; | ||
1651 | compatible = "ti,gate-clock"; | ||
1652 | clocks = <&sys_32k_ck>; | ||
1653 | ti,bit-shift = <8>; | ||
1654 | reg = <0x1328>; | ||
1655 | }; | ||
1656 | |||
1657 | mmc2_clk32k: mmc2_clk32k@1330 { | ||
1658 | #clock-cells = <0>; | ||
1659 | compatible = "ti,gate-clock"; | ||
1660 | clocks = <&sys_32k_ck>; | ||
1661 | ti,bit-shift = <8>; | ||
1662 | reg = <0x1330>; | ||
1663 | }; | ||
1664 | |||
1665 | mmc3_clk32k: mmc3_clk32k@1820 { | ||
1666 | #clock-cells = <0>; | ||
1667 | compatible = "ti,gate-clock"; | ||
1668 | clocks = <&sys_32k_ck>; | ||
1669 | ti,bit-shift = <8>; | ||
1670 | reg = <0x1820>; | ||
1671 | }; | ||
1672 | |||
1673 | mmc4_clk32k: mmc4_clk32k@1828 { | ||
1674 | #clock-cells = <0>; | ||
1675 | compatible = "ti,gate-clock"; | ||
1676 | clocks = <&sys_32k_ck>; | ||
1677 | ti,bit-shift = <8>; | ||
1678 | reg = <0x1828>; | ||
1679 | }; | ||
1680 | |||
1681 | sata_ref_clk: sata_ref_clk@1388 { | ||
1682 | #clock-cells = <0>; | ||
1683 | compatible = "ti,gate-clock"; | ||
1684 | clocks = <&sys_clkin1>; | ||
1685 | ti,bit-shift = <8>; | ||
1686 | reg = <0x1388>; | ||
1687 | }; | ||
1688 | |||
1689 | usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m@13f0 { | ||
1690 | #clock-cells = <0>; | ||
1691 | compatible = "ti,gate-clock"; | ||
1692 | clocks = <&l3init_960m_gfclk>; | ||
1693 | ti,bit-shift = <8>; | ||
1694 | reg = <0x13f0>; | ||
1695 | }; | ||
1696 | |||
1697 | usb_otg_ss2_refclk960m: usb_otg_ss2_refclk960m@1340 { | ||
1698 | #clock-cells = <0>; | ||
1699 | compatible = "ti,gate-clock"; | ||
1700 | clocks = <&l3init_960m_gfclk>; | ||
1701 | ti,bit-shift = <8>; | ||
1702 | reg = <0x1340>; | ||
1703 | }; | ||
1704 | |||
1705 | usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k@640 { | 1401 | usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k@640 { |
1706 | #clock-cells = <0>; | 1402 | #clock-cells = <0>; |
1707 | compatible = "ti,gate-clock"; | 1403 | compatible = "ti,gate-clock"; |
@@ -1726,38 +1422,6 @@ | |||
1726 | reg = <0x0698>; | 1422 | reg = <0x0698>; |
1727 | }; | 1423 | }; |
1728 | 1424 | ||
1729 | atl_dpll_clk_mux: atl_dpll_clk_mux@c00 { | ||
1730 | #clock-cells = <0>; | ||
1731 | compatible = "ti,mux-clock"; | ||
1732 | clocks = <&sys_32k_ck>, <&video1_clkin_ck>, <&video2_clkin_ck>, <&hdmi_clkin_ck>; | ||
1733 | ti,bit-shift = <24>; | ||
1734 | reg = <0x0c00>; | ||
1735 | }; | ||
1736 | |||
1737 | atl_gfclk_mux: atl_gfclk_mux@c00 { | ||
1738 | #clock-cells = <0>; | ||
1739 | compatible = "ti,mux-clock"; | ||
1740 | clocks = <&l3_iclk_div>, <&dpll_abe_m2_ck>, <&atl_dpll_clk_mux>; | ||
1741 | ti,bit-shift = <26>; | ||
1742 | reg = <0x0c00>; | ||
1743 | }; | ||
1744 | |||
1745 | rmii_50mhz_clk_mux: rmii_50mhz_clk_mux@13d0 { | ||
1746 | #clock-cells = <0>; | ||
1747 | compatible = "ti,mux-clock"; | ||
1748 | clocks = <&dpll_gmac_h11x2_ck>, <&rmii_clk_ck>; | ||
1749 | ti,bit-shift = <24>; | ||
1750 | reg = <0x13d0>; | ||
1751 | }; | ||
1752 | |||
1753 | gmac_rft_clk_mux: gmac_rft_clk_mux@13d0 { | ||
1754 | #clock-cells = <0>; | ||
1755 | compatible = "ti,mux-clock"; | ||
1756 | clocks = <&video1_clkin_ck>, <&video2_clkin_ck>, <&dpll_abe_m2_ck>, <&hdmi_clkin_ck>, <&l3_iclk_div>; | ||
1757 | ti,bit-shift = <25>; | ||
1758 | reg = <0x13d0>; | ||
1759 | }; | ||
1760 | |||
1761 | gpu_core_gclk_mux: gpu_core_gclk_mux@1220 { | 1425 | gpu_core_gclk_mux: gpu_core_gclk_mux@1220 { |
1762 | #clock-cells = <0>; | 1426 | #clock-cells = <0>; |
1763 | compatible = "ti,mux-clock"; | 1427 | compatible = "ti,mux-clock"; |
@@ -1787,362 +1451,6 @@ | |||
1787 | ti,dividers = <8>, <16>, <32>; | 1451 | ti,dividers = <8>, <16>, <32>; |
1788 | }; | 1452 | }; |
1789 | 1453 | ||
1790 | mcasp2_ahclkr_mux: mcasp2_ahclkr_mux@1860 { | ||
1791 | #clock-cells = <0>; | ||
1792 | compatible = "ti,mux-clock"; | ||
1793 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1794 | ti,bit-shift = <28>; | ||
1795 | reg = <0x1860>; | ||
1796 | }; | ||
1797 | |||
1798 | mcasp2_ahclkx_mux: mcasp2_ahclkx_mux@1860 { | ||
1799 | #clock-cells = <0>; | ||
1800 | compatible = "ti,mux-clock"; | ||
1801 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1802 | ti,bit-shift = <24>; | ||
1803 | reg = <0x1860>; | ||
1804 | }; | ||
1805 | |||
1806 | mcasp2_aux_gfclk_mux: mcasp2_aux_gfclk_mux@1860 { | ||
1807 | #clock-cells = <0>; | ||
1808 | compatible = "ti,mux-clock"; | ||
1809 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
1810 | ti,bit-shift = <22>; | ||
1811 | reg = <0x1860>; | ||
1812 | }; | ||
1813 | |||
1814 | mcasp3_ahclkx_mux: mcasp3_ahclkx_mux@1868 { | ||
1815 | #clock-cells = <0>; | ||
1816 | compatible = "ti,mux-clock"; | ||
1817 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1818 | ti,bit-shift = <24>; | ||
1819 | reg = <0x1868>; | ||
1820 | assigned-clocks = <&mcasp3_ahclkx_mux>; | ||
1821 | assigned-clock-parents = <&abe_24m_fclk>; | ||
1822 | }; | ||
1823 | |||
1824 | mcasp3_aux_gfclk_mux: mcasp3_aux_gfclk_mux@1868 { | ||
1825 | #clock-cells = <0>; | ||
1826 | compatible = "ti,mux-clock"; | ||
1827 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
1828 | ti,bit-shift = <22>; | ||
1829 | reg = <0x1868>; | ||
1830 | }; | ||
1831 | |||
1832 | mcasp4_ahclkx_mux: mcasp4_ahclkx_mux@1898 { | ||
1833 | #clock-cells = <0>; | ||
1834 | compatible = "ti,mux-clock"; | ||
1835 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1836 | ti,bit-shift = <24>; | ||
1837 | reg = <0x1898>; | ||
1838 | }; | ||
1839 | |||
1840 | mcasp4_aux_gfclk_mux: mcasp4_aux_gfclk_mux@1898 { | ||
1841 | #clock-cells = <0>; | ||
1842 | compatible = "ti,mux-clock"; | ||
1843 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
1844 | ti,bit-shift = <22>; | ||
1845 | reg = <0x1898>; | ||
1846 | }; | ||
1847 | |||
1848 | mcasp5_ahclkx_mux: mcasp5_ahclkx_mux@1878 { | ||
1849 | #clock-cells = <0>; | ||
1850 | compatible = "ti,mux-clock"; | ||
1851 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1852 | ti,bit-shift = <24>; | ||
1853 | reg = <0x1878>; | ||
1854 | }; | ||
1855 | |||
1856 | mcasp5_aux_gfclk_mux: mcasp5_aux_gfclk_mux@1878 { | ||
1857 | #clock-cells = <0>; | ||
1858 | compatible = "ti,mux-clock"; | ||
1859 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
1860 | ti,bit-shift = <22>; | ||
1861 | reg = <0x1878>; | ||
1862 | }; | ||
1863 | |||
1864 | mcasp6_ahclkx_mux: mcasp6_ahclkx_mux@1904 { | ||
1865 | #clock-cells = <0>; | ||
1866 | compatible = "ti,mux-clock"; | ||
1867 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1868 | ti,bit-shift = <24>; | ||
1869 | reg = <0x1904>; | ||
1870 | }; | ||
1871 | |||
1872 | mcasp6_aux_gfclk_mux: mcasp6_aux_gfclk_mux@1904 { | ||
1873 | #clock-cells = <0>; | ||
1874 | compatible = "ti,mux-clock"; | ||
1875 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
1876 | ti,bit-shift = <22>; | ||
1877 | reg = <0x1904>; | ||
1878 | }; | ||
1879 | |||
1880 | mcasp7_ahclkx_mux: mcasp7_ahclkx_mux@1908 { | ||
1881 | #clock-cells = <0>; | ||
1882 | compatible = "ti,mux-clock"; | ||
1883 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1884 | ti,bit-shift = <24>; | ||
1885 | reg = <0x1908>; | ||
1886 | }; | ||
1887 | |||
1888 | mcasp7_aux_gfclk_mux: mcasp7_aux_gfclk_mux@1908 { | ||
1889 | #clock-cells = <0>; | ||
1890 | compatible = "ti,mux-clock"; | ||
1891 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
1892 | ti,bit-shift = <22>; | ||
1893 | reg = <0x1908>; | ||
1894 | }; | ||
1895 | |||
1896 | mcasp8_ahclkx_mux: mcasp8_ahclkx_mux@1890 { | ||
1897 | #clock-cells = <0>; | ||
1898 | compatible = "ti,mux-clock"; | ||
1899 | clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; | ||
1900 | ti,bit-shift = <22>; | ||
1901 | reg = <0x1890>; | ||
1902 | }; | ||
1903 | |||
1904 | mcasp8_aux_gfclk_mux: mcasp8_aux_gfclk_mux@1890 { | ||
1905 | #clock-cells = <0>; | ||
1906 | compatible = "ti,mux-clock"; | ||
1907 | clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>; | ||
1908 | ti,bit-shift = <24>; | ||
1909 | reg = <0x1890>; | ||
1910 | }; | ||
1911 | |||
1912 | mmc1_fclk_mux: mmc1_fclk_mux@1328 { | ||
1913 | #clock-cells = <0>; | ||
1914 | compatible = "ti,mux-clock"; | ||
1915 | clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>; | ||
1916 | ti,bit-shift = <24>; | ||
1917 | reg = <0x1328>; | ||
1918 | }; | ||
1919 | |||
1920 | mmc1_fclk_div: mmc1_fclk_div@1328 { | ||
1921 | #clock-cells = <0>; | ||
1922 | compatible = "ti,divider-clock"; | ||
1923 | clocks = <&mmc1_fclk_mux>; | ||
1924 | ti,bit-shift = <25>; | ||
1925 | ti,max-div = <4>; | ||
1926 | reg = <0x1328>; | ||
1927 | ti,index-power-of-two; | ||
1928 | }; | ||
1929 | |||
1930 | mmc2_fclk_mux: mmc2_fclk_mux@1330 { | ||
1931 | #clock-cells = <0>; | ||
1932 | compatible = "ti,mux-clock"; | ||
1933 | clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>; | ||
1934 | ti,bit-shift = <24>; | ||
1935 | reg = <0x1330>; | ||
1936 | }; | ||
1937 | |||
1938 | mmc2_fclk_div: mmc2_fclk_div@1330 { | ||
1939 | #clock-cells = <0>; | ||
1940 | compatible = "ti,divider-clock"; | ||
1941 | clocks = <&mmc2_fclk_mux>; | ||
1942 | ti,bit-shift = <25>; | ||
1943 | ti,max-div = <4>; | ||
1944 | reg = <0x1330>; | ||
1945 | ti,index-power-of-two; | ||
1946 | }; | ||
1947 | |||
1948 | mmc3_gfclk_mux: mmc3_gfclk_mux@1820 { | ||
1949 | #clock-cells = <0>; | ||
1950 | compatible = "ti,mux-clock"; | ||
1951 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
1952 | ti,bit-shift = <24>; | ||
1953 | reg = <0x1820>; | ||
1954 | }; | ||
1955 | |||
1956 | mmc3_gfclk_div: mmc3_gfclk_div@1820 { | ||
1957 | #clock-cells = <0>; | ||
1958 | compatible = "ti,divider-clock"; | ||
1959 | clocks = <&mmc3_gfclk_mux>; | ||
1960 | ti,bit-shift = <25>; | ||
1961 | ti,max-div = <4>; | ||
1962 | reg = <0x1820>; | ||
1963 | ti,index-power-of-two; | ||
1964 | }; | ||
1965 | |||
1966 | mmc4_gfclk_mux: mmc4_gfclk_mux@1828 { | ||
1967 | #clock-cells = <0>; | ||
1968 | compatible = "ti,mux-clock"; | ||
1969 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
1970 | ti,bit-shift = <24>; | ||
1971 | reg = <0x1828>; | ||
1972 | }; | ||
1973 | |||
1974 | mmc4_gfclk_div: mmc4_gfclk_div@1828 { | ||
1975 | #clock-cells = <0>; | ||
1976 | compatible = "ti,divider-clock"; | ||
1977 | clocks = <&mmc4_gfclk_mux>; | ||
1978 | ti,bit-shift = <25>; | ||
1979 | ti,max-div = <4>; | ||
1980 | reg = <0x1828>; | ||
1981 | ti,index-power-of-two; | ||
1982 | }; | ||
1983 | |||
1984 | qspi_gfclk_mux: qspi_gfclk_mux@1838 { | ||
1985 | #clock-cells = <0>; | ||
1986 | compatible = "ti,mux-clock"; | ||
1987 | clocks = <&func_128m_clk>, <&dpll_per_h13x2_ck>; | ||
1988 | ti,bit-shift = <24>; | ||
1989 | reg = <0x1838>; | ||
1990 | }; | ||
1991 | |||
1992 | qspi_gfclk_div: qspi_gfclk_div@1838 { | ||
1993 | #clock-cells = <0>; | ||
1994 | compatible = "ti,divider-clock"; | ||
1995 | clocks = <&qspi_gfclk_mux>; | ||
1996 | ti,bit-shift = <25>; | ||
1997 | ti,max-div = <4>; | ||
1998 | reg = <0x1838>; | ||
1999 | ti,index-power-of-two; | ||
2000 | }; | ||
2001 | |||
2002 | timer10_gfclk_mux: timer10_gfclk_mux@1728 { | ||
2003 | #clock-cells = <0>; | ||
2004 | compatible = "ti,mux-clock"; | ||
2005 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2006 | ti,bit-shift = <24>; | ||
2007 | reg = <0x1728>; | ||
2008 | }; | ||
2009 | |||
2010 | timer11_gfclk_mux: timer11_gfclk_mux@1730 { | ||
2011 | #clock-cells = <0>; | ||
2012 | compatible = "ti,mux-clock"; | ||
2013 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2014 | ti,bit-shift = <24>; | ||
2015 | reg = <0x1730>; | ||
2016 | }; | ||
2017 | |||
2018 | timer13_gfclk_mux: timer13_gfclk_mux@17c8 { | ||
2019 | #clock-cells = <0>; | ||
2020 | compatible = "ti,mux-clock"; | ||
2021 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2022 | ti,bit-shift = <24>; | ||
2023 | reg = <0x17c8>; | ||
2024 | }; | ||
2025 | |||
2026 | timer14_gfclk_mux: timer14_gfclk_mux@17d0 { | ||
2027 | #clock-cells = <0>; | ||
2028 | compatible = "ti,mux-clock"; | ||
2029 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2030 | ti,bit-shift = <24>; | ||
2031 | reg = <0x17d0>; | ||
2032 | }; | ||
2033 | |||
2034 | timer15_gfclk_mux: timer15_gfclk_mux@17d8 { | ||
2035 | #clock-cells = <0>; | ||
2036 | compatible = "ti,mux-clock"; | ||
2037 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2038 | ti,bit-shift = <24>; | ||
2039 | reg = <0x17d8>; | ||
2040 | }; | ||
2041 | |||
2042 | timer16_gfclk_mux: timer16_gfclk_mux@1830 { | ||
2043 | #clock-cells = <0>; | ||
2044 | compatible = "ti,mux-clock"; | ||
2045 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2046 | ti,bit-shift = <24>; | ||
2047 | reg = <0x1830>; | ||
2048 | }; | ||
2049 | |||
2050 | timer2_gfclk_mux: timer2_gfclk_mux@1738 { | ||
2051 | #clock-cells = <0>; | ||
2052 | compatible = "ti,mux-clock"; | ||
2053 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2054 | ti,bit-shift = <24>; | ||
2055 | reg = <0x1738>; | ||
2056 | }; | ||
2057 | |||
2058 | timer3_gfclk_mux: timer3_gfclk_mux@1740 { | ||
2059 | #clock-cells = <0>; | ||
2060 | compatible = "ti,mux-clock"; | ||
2061 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2062 | ti,bit-shift = <24>; | ||
2063 | reg = <0x1740>; | ||
2064 | }; | ||
2065 | |||
2066 | timer4_gfclk_mux: timer4_gfclk_mux@1748 { | ||
2067 | #clock-cells = <0>; | ||
2068 | compatible = "ti,mux-clock"; | ||
2069 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2070 | ti,bit-shift = <24>; | ||
2071 | reg = <0x1748>; | ||
2072 | }; | ||
2073 | |||
2074 | timer9_gfclk_mux: timer9_gfclk_mux@1750 { | ||
2075 | #clock-cells = <0>; | ||
2076 | compatible = "ti,mux-clock"; | ||
2077 | clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>; | ||
2078 | ti,bit-shift = <24>; | ||
2079 | reg = <0x1750>; | ||
2080 | }; | ||
2081 | |||
2082 | uart1_gfclk_mux: uart1_gfclk_mux@1840 { | ||
2083 | #clock-cells = <0>; | ||
2084 | compatible = "ti,mux-clock"; | ||
2085 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2086 | ti,bit-shift = <24>; | ||
2087 | reg = <0x1840>; | ||
2088 | }; | ||
2089 | |||
2090 | uart2_gfclk_mux: uart2_gfclk_mux@1848 { | ||
2091 | #clock-cells = <0>; | ||
2092 | compatible = "ti,mux-clock"; | ||
2093 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2094 | ti,bit-shift = <24>; | ||
2095 | reg = <0x1848>; | ||
2096 | }; | ||
2097 | |||
2098 | uart3_gfclk_mux: uart3_gfclk_mux@1850 { | ||
2099 | #clock-cells = <0>; | ||
2100 | compatible = "ti,mux-clock"; | ||
2101 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2102 | ti,bit-shift = <24>; | ||
2103 | reg = <0x1850>; | ||
2104 | }; | ||
2105 | |||
2106 | uart4_gfclk_mux: uart4_gfclk_mux@1858 { | ||
2107 | #clock-cells = <0>; | ||
2108 | compatible = "ti,mux-clock"; | ||
2109 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2110 | ti,bit-shift = <24>; | ||
2111 | reg = <0x1858>; | ||
2112 | }; | ||
2113 | |||
2114 | uart5_gfclk_mux: uart5_gfclk_mux@1870 { | ||
2115 | #clock-cells = <0>; | ||
2116 | compatible = "ti,mux-clock"; | ||
2117 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2118 | ti,bit-shift = <24>; | ||
2119 | reg = <0x1870>; | ||
2120 | }; | ||
2121 | |||
2122 | uart7_gfclk_mux: uart7_gfclk_mux@18d0 { | ||
2123 | #clock-cells = <0>; | ||
2124 | compatible = "ti,mux-clock"; | ||
2125 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2126 | ti,bit-shift = <24>; | ||
2127 | reg = <0x18d0>; | ||
2128 | }; | ||
2129 | |||
2130 | uart8_gfclk_mux: uart8_gfclk_mux@18e0 { | ||
2131 | #clock-cells = <0>; | ||
2132 | compatible = "ti,mux-clock"; | ||
2133 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2134 | ti,bit-shift = <24>; | ||
2135 | reg = <0x18e0>; | ||
2136 | }; | ||
2137 | |||
2138 | uart9_gfclk_mux: uart9_gfclk_mux@18e8 { | ||
2139 | #clock-cells = <0>; | ||
2140 | compatible = "ti,mux-clock"; | ||
2141 | clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>; | ||
2142 | ti,bit-shift = <24>; | ||
2143 | reg = <0x18e8>; | ||
2144 | }; | ||
2145 | |||
2146 | vip1_gclk_mux: vip1_gclk_mux@1020 { | 1454 | vip1_gclk_mux: vip1_gclk_mux@1020 { |
2147 | #clock-cells = <0>; | 1455 | #clock-cells = <0>; |
2148 | compatible = "ti,mux-clock"; | 1456 | compatible = "ti,mux-clock"; |
@@ -2216,3 +1524,210 @@ | |||
2216 | reg = <0x6c4>; | 1524 | reg = <0x6c4>; |
2217 | }; | 1525 | }; |
2218 | }; | 1526 | }; |
1527 | |||
1528 | &cm_core_aon { | ||
1529 | mpu_cm: mpu_cm@300 { | ||
1530 | compatible = "ti,omap4-cm"; | ||
1531 | reg = <0x300 0x100>; | ||
1532 | #address-cells = <1>; | ||
1533 | #size-cells = <1>; | ||
1534 | ranges = <0 0x300 0x100>; | ||
1535 | |||
1536 | mpu_clkctrl: clk@20 { | ||
1537 | compatible = "ti,clkctrl"; | ||
1538 | reg = <0x20 0x4>; | ||
1539 | #clock-cells = <2>; | ||
1540 | }; | ||
1541 | }; | ||
1542 | |||
1543 | ipu_cm: ipu_cm@500 { | ||
1544 | compatible = "ti,omap4-cm"; | ||
1545 | reg = <0x500 0x100>; | ||
1546 | #address-cells = <1>; | ||
1547 | #size-cells = <1>; | ||
1548 | ranges = <0 0x500 0x100>; | ||
1549 | |||
1550 | ipu_clkctrl: clk@40 { | ||
1551 | compatible = "ti,clkctrl"; | ||
1552 | reg = <0x40 0x44>; | ||
1553 | #clock-cells = <2>; | ||
1554 | }; | ||
1555 | }; | ||
1556 | |||
1557 | rtc_cm: rtc_cm@700 { | ||
1558 | compatible = "ti,omap4-cm"; | ||
1559 | reg = <0x700 0x100>; | ||
1560 | #address-cells = <1>; | ||
1561 | #size-cells = <1>; | ||
1562 | ranges = <0 0x700 0x100>; | ||
1563 | |||
1564 | rtc_clkctrl: clk@40 { | ||
1565 | compatible = "ti,clkctrl"; | ||
1566 | reg = <0x40 0x8>; | ||
1567 | #clock-cells = <2>; | ||
1568 | }; | ||
1569 | }; | ||
1570 | |||
1571 | }; | ||
1572 | |||
1573 | &cm_core { | ||
1574 | coreaon_cm: coreaon_cm@600 { | ||
1575 | compatible = "ti,omap4-cm"; | ||
1576 | reg = <0x600 0x100>; | ||
1577 | #address-cells = <1>; | ||
1578 | #size-cells = <1>; | ||
1579 | ranges = <0 0x600 0x100>; | ||
1580 | |||
1581 | coreaon_clkctrl: clk@20 { | ||
1582 | compatible = "ti,clkctrl"; | ||
1583 | reg = <0x20 0x1c>; | ||
1584 | #clock-cells = <2>; | ||
1585 | }; | ||
1586 | }; | ||
1587 | |||
1588 | l3main1_cm: l3main1_cm@700 { | ||
1589 | compatible = "ti,omap4-cm"; | ||
1590 | reg = <0x700 0x100>; | ||
1591 | #address-cells = <1>; | ||
1592 | #size-cells = <1>; | ||
1593 | ranges = <0 0x700 0x100>; | ||
1594 | |||
1595 | l3main1_clkctrl: clk@20 { | ||
1596 | compatible = "ti,clkctrl"; | ||
1597 | reg = <0x20 0x74>; | ||
1598 | #clock-cells = <2>; | ||
1599 | }; | ||
1600 | }; | ||
1601 | |||
1602 | dma_cm: dma_cm@a00 { | ||
1603 | compatible = "ti,omap4-cm"; | ||
1604 | reg = <0xa00 0x100>; | ||
1605 | #address-cells = <1>; | ||
1606 | #size-cells = <1>; | ||
1607 | ranges = <0 0xa00 0x100>; | ||
1608 | |||
1609 | dma_clkctrl: clk@20 { | ||
1610 | compatible = "ti,clkctrl"; | ||
1611 | reg = <0x20 0x4>; | ||
1612 | #clock-cells = <2>; | ||
1613 | }; | ||
1614 | }; | ||
1615 | |||
1616 | emif_cm: emif_cm@b00 { | ||
1617 | compatible = "ti,omap4-cm"; | ||
1618 | reg = <0xb00 0x100>; | ||
1619 | #address-cells = <1>; | ||
1620 | #size-cells = <1>; | ||
1621 | ranges = <0 0xb00 0x100>; | ||
1622 | |||
1623 | emif_clkctrl: clk@20 { | ||
1624 | compatible = "ti,clkctrl"; | ||
1625 | reg = <0x20 0x4>; | ||
1626 | #clock-cells = <2>; | ||
1627 | }; | ||
1628 | }; | ||
1629 | |||
1630 | atl_cm: atl_cm@c00 { | ||
1631 | compatible = "ti,omap4-cm"; | ||
1632 | reg = <0xc00 0x100>; | ||
1633 | #address-cells = <1>; | ||
1634 | #size-cells = <1>; | ||
1635 | ranges = <0 0xc00 0x100>; | ||
1636 | |||
1637 | atl_clkctrl: clk@0 { | ||
1638 | compatible = "ti,clkctrl"; | ||
1639 | reg = <0x0 0x4>; | ||
1640 | #clock-cells = <2>; | ||
1641 | }; | ||
1642 | }; | ||
1643 | |||
1644 | l4cfg_cm: l4cfg_cm@d00 { | ||
1645 | compatible = "ti,omap4-cm"; | ||
1646 | reg = <0xd00 0x100>; | ||
1647 | #address-cells = <1>; | ||
1648 | #size-cells = <1>; | ||
1649 | ranges = <0 0xd00 0x100>; | ||
1650 | |||
1651 | l4cfg_clkctrl: clk@20 { | ||
1652 | compatible = "ti,clkctrl"; | ||
1653 | reg = <0x20 0x84>; | ||
1654 | #clock-cells = <2>; | ||
1655 | }; | ||
1656 | }; | ||
1657 | |||
1658 | l3instr_cm: l3instr_cm@e00 { | ||
1659 | compatible = "ti,omap4-cm"; | ||
1660 | reg = <0xe00 0x100>; | ||
1661 | #address-cells = <1>; | ||
1662 | #size-cells = <1>; | ||
1663 | ranges = <0 0xe00 0x100>; | ||
1664 | |||
1665 | l3instr_clkctrl: clk@20 { | ||
1666 | compatible = "ti,clkctrl"; | ||
1667 | reg = <0x20 0xc>; | ||
1668 | #clock-cells = <2>; | ||
1669 | }; | ||
1670 | }; | ||
1671 | |||
1672 | dss_cm: dss_cm@1100 { | ||
1673 | compatible = "ti,omap4-cm"; | ||
1674 | reg = <0x1100 0x100>; | ||
1675 | #address-cells = <1>; | ||
1676 | #size-cells = <1>; | ||
1677 | ranges = <0 0x1100 0x100>; | ||
1678 | |||
1679 | dss_clkctrl: clk@20 { | ||
1680 | compatible = "ti,clkctrl"; | ||
1681 | reg = <0x20 0x14>; | ||
1682 | #clock-cells = <2>; | ||
1683 | }; | ||
1684 | }; | ||
1685 | |||
1686 | l3init_cm: l3init_cm@1300 { | ||
1687 | compatible = "ti,omap4-cm"; | ||
1688 | reg = <0x1300 0x100>; | ||
1689 | #address-cells = <1>; | ||
1690 | #size-cells = <1>; | ||
1691 | ranges = <0 0x1300 0x100>; | ||
1692 | |||
1693 | l3init_clkctrl: clk@20 { | ||
1694 | compatible = "ti,clkctrl"; | ||
1695 | reg = <0x20 0xd4>; | ||
1696 | #clock-cells = <2>; | ||
1697 | }; | ||
1698 | }; | ||
1699 | |||
1700 | l4per_cm: l4per_cm@1700 { | ||
1701 | compatible = "ti,omap4-cm"; | ||
1702 | reg = <0x1700 0x300>; | ||
1703 | #address-cells = <1>; | ||
1704 | #size-cells = <1>; | ||
1705 | ranges = <0 0x1700 0x300>; | ||
1706 | |||
1707 | l4per_clkctrl: clk@0 { | ||
1708 | compatible = "ti,clkctrl"; | ||
1709 | reg = <0x0 0x20c>; | ||
1710 | #clock-cells = <2>; | ||
1711 | |||
1712 | assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>; | ||
1713 | assigned-clock-parents = <&abe_24m_fclk>; | ||
1714 | }; | ||
1715 | }; | ||
1716 | |||
1717 | }; | ||
1718 | |||
1719 | &prm { | ||
1720 | wkupaon_cm: wkupaon_cm@1800 { | ||
1721 | compatible = "ti,omap4-cm"; | ||
1722 | reg = <0x1800 0x100>; | ||
1723 | #address-cells = <1>; | ||
1724 | #size-cells = <1>; | ||
1725 | ranges = <0 0x1800 0x100>; | ||
1726 | |||
1727 | wkupaon_clkctrl: clk@20 { | ||
1728 | compatible = "ti,clkctrl"; | ||
1729 | reg = <0x20 0x6c>; | ||
1730 | #clock-cells = <2>; | ||
1731 | }; | ||
1732 | }; | ||
1733 | }; | ||
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index cc1a07a3620f..18a11f689a1d 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <dt-bindings/gpio/gpio.h> | 9 | #include <dt-bindings/gpio/gpio.h> |
10 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 10 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
11 | #include <dt-bindings/pinctrl/omap.h> | 11 | #include <dt-bindings/pinctrl/omap.h> |
12 | #include <dt-bindings/clock/omap4.h> | ||
12 | 13 | ||
13 | / { | 14 | / { |
14 | compatible = "ti,omap4430", "ti,omap4"; | 15 | compatible = "ti,omap4430", "ti,omap4"; |
@@ -143,8 +144,11 @@ | |||
143 | ranges = <0 0x4a000000 0x1000000>; | 144 | ranges = <0 0x4a000000 0x1000000>; |
144 | 145 | ||
145 | cm1: cm1@4000 { | 146 | cm1: cm1@4000 { |
146 | compatible = "ti,omap4-cm1"; | 147 | compatible = "ti,omap4-cm1", "simple-bus"; |
147 | reg = <0x4000 0x2000>; | 148 | reg = <0x4000 0x2000>; |
149 | #address-cells = <1>; | ||
150 | #size-cells = <1>; | ||
151 | ranges = <0 0x4000 0x2000>; | ||
148 | 152 | ||
149 | cm1_clocks: clocks { | 153 | cm1_clocks: clocks { |
150 | #address-cells = <1>; | 154 | #address-cells = <1>; |
@@ -156,8 +160,11 @@ | |||
156 | }; | 160 | }; |
157 | 161 | ||
158 | cm2: cm2@8000 { | 162 | cm2: cm2@8000 { |
159 | compatible = "ti,omap4-cm2"; | 163 | compatible = "ti,omap4-cm2", "simple-bus"; |
160 | reg = <0x8000 0x3000>; | 164 | reg = <0x8000 0x3000>; |
165 | #address-cells = <1>; | ||
166 | #size-cells = <1>; | ||
167 | ranges = <0 0x8000 0x3000>; | ||
161 | 168 | ||
162 | cm2_clocks: clocks { | 169 | cm2_clocks: clocks { |
163 | #address-cells = <1>; | 170 | #address-cells = <1>; |
@@ -243,6 +250,9 @@ | |||
243 | compatible = "ti,omap4-prm"; | 250 | compatible = "ti,omap4-prm"; |
244 | reg = <0x6000 0x3000>; | 251 | reg = <0x6000 0x3000>; |
245 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | 252 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; |
253 | #address-cells = <1>; | ||
254 | #size-cells = <1>; | ||
255 | ranges = <0 0x6000 0x3000>; | ||
246 | 256 | ||
247 | prm_clocks: clocks { | 257 | prm_clocks: clocks { |
248 | #address-cells = <1>; | 258 | #address-cells = <1>; |
@@ -674,7 +684,7 @@ | |||
674 | reg-names = "sys", "gdd"; | 684 | reg-names = "sys", "gdd"; |
675 | ti,hwmods = "hsi"; | 685 | ti,hwmods = "hsi"; |
676 | 686 | ||
677 | clocks = <&hsi_fck>; | 687 | clocks = <&l3_init_clkctrl OMAP4_HSI_CLKCTRL 0>; |
678 | clock-names = "hsi_fck"; | 688 | clock-names = "hsi_fck"; |
679 | 689 | ||
680 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | 690 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
@@ -973,6 +983,8 @@ | |||
973 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | 983 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |
974 | ti,hwmods = "timer1"; | 984 | ti,hwmods = "timer1"; |
975 | ti,timer-alwon; | 985 | ti,timer-alwon; |
986 | clocks = <&l4_wkup_clkctrl OMAP4_TIMER1_CLKCTRL 24>; | ||
987 | clock-names = "fck"; | ||
976 | }; | 988 | }; |
977 | 989 | ||
978 | timer2: timer@48032000 { | 990 | timer2: timer@48032000 { |
@@ -1202,7 +1214,7 @@ | |||
1202 | reg = <0x58000000 0x80>; | 1214 | reg = <0x58000000 0x80>; |
1203 | status = "disabled"; | 1215 | status = "disabled"; |
1204 | ti,hwmods = "dss_core"; | 1216 | ti,hwmods = "dss_core"; |
1205 | clocks = <&dss_dss_clk>; | 1217 | clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; |
1206 | clock-names = "fck"; | 1218 | clock-names = "fck"; |
1207 | #address-cells = <1>; | 1219 | #address-cells = <1>; |
1208 | #size-cells = <1>; | 1220 | #size-cells = <1>; |
@@ -1213,7 +1225,7 @@ | |||
1213 | reg = <0x58001000 0x1000>; | 1225 | reg = <0x58001000 0x1000>; |
1214 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | 1226 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; |
1215 | ti,hwmods = "dss_dispc"; | 1227 | ti,hwmods = "dss_dispc"; |
1216 | clocks = <&dss_dss_clk>; | 1228 | clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; |
1217 | clock-names = "fck"; | 1229 | clock-names = "fck"; |
1218 | }; | 1230 | }; |
1219 | 1231 | ||
@@ -1222,7 +1234,7 @@ | |||
1222 | reg = <0x58002000 0x1000>; | 1234 | reg = <0x58002000 0x1000>; |
1223 | status = "disabled"; | 1235 | status = "disabled"; |
1224 | ti,hwmods = "dss_rfbi"; | 1236 | ti,hwmods = "dss_rfbi"; |
1225 | clocks = <&dss_dss_clk>, <&l3_div_ck>; | 1237 | clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>; |
1226 | clock-names = "fck", "ick"; | 1238 | clock-names = "fck", "ick"; |
1227 | }; | 1239 | }; |
1228 | 1240 | ||
@@ -1231,7 +1243,7 @@ | |||
1231 | reg = <0x58003000 0x1000>; | 1243 | reg = <0x58003000 0x1000>; |
1232 | status = "disabled"; | 1244 | status = "disabled"; |
1233 | ti,hwmods = "dss_venc"; | 1245 | ti,hwmods = "dss_venc"; |
1234 | clocks = <&dss_tv_clk>; | 1246 | clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>; |
1235 | clock-names = "fck"; | 1247 | clock-names = "fck"; |
1236 | }; | 1248 | }; |
1237 | 1249 | ||
@@ -1244,7 +1256,8 @@ | |||
1244 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; | 1256 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; |
1245 | status = "disabled"; | 1257 | status = "disabled"; |
1246 | ti,hwmods = "dss_dsi1"; | 1258 | ti,hwmods = "dss_dsi1"; |
1247 | clocks = <&dss_dss_clk>, <&dss_sys_clk>; | 1259 | clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, |
1260 | <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; | ||
1248 | clock-names = "fck", "sys_clk"; | 1261 | clock-names = "fck", "sys_clk"; |
1249 | }; | 1262 | }; |
1250 | 1263 | ||
@@ -1257,7 +1270,8 @@ | |||
1257 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; | 1270 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; |
1258 | status = "disabled"; | 1271 | status = "disabled"; |
1259 | ti,hwmods = "dss_dsi2"; | 1272 | ti,hwmods = "dss_dsi2"; |
1260 | clocks = <&dss_dss_clk>, <&dss_sys_clk>; | 1273 | clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, |
1274 | <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; | ||
1261 | clock-names = "fck", "sys_clk"; | 1275 | clock-names = "fck", "sys_clk"; |
1262 | }; | 1276 | }; |
1263 | 1277 | ||
@@ -1271,7 +1285,8 @@ | |||
1271 | interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | 1285 | interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; |
1272 | status = "disabled"; | 1286 | status = "disabled"; |
1273 | ti,hwmods = "dss_hdmi"; | 1287 | ti,hwmods = "dss_hdmi"; |
1274 | clocks = <&dss_48mhz_clk>, <&dss_sys_clk>; | 1288 | clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, |
1289 | <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; | ||
1275 | clock-names = "fck", "sys_clk"; | 1290 | clock-names = "fck", "sys_clk"; |
1276 | dmas = <&sdma 76>; | 1291 | dmas = <&sdma 76>; |
1277 | dma-names = "audio_tx"; | 1292 | dma-names = "audio_tx"; |
@@ -1280,4 +1295,4 @@ | |||
1280 | }; | 1295 | }; |
1281 | }; | 1296 | }; |
1282 | 1297 | ||
1283 | /include/ "omap44xx-clocks.dtsi" | 1298 | #include "omap44xx-clocks.dtsi" |
diff --git a/arch/arm/boot/dts/omap44xx-clocks.dtsi b/arch/arm/boot/dts/omap44xx-clocks.dtsi index 05732ed4f50f..279ff2f419df 100644 --- a/arch/arm/boot/dts/omap44xx-clocks.dtsi +++ b/arch/arm/boot/dts/omap44xx-clocks.dtsi | |||
@@ -174,14 +174,6 @@ | |||
174 | ti,index-power-of-two; | 174 | ti,index-power-of-two; |
175 | }; | 175 | }; |
176 | 176 | ||
177 | aess_fclk: aess_fclk@528 { | ||
178 | #clock-cells = <0>; | ||
179 | compatible = "ti,divider-clock"; | ||
180 | clocks = <&abe_clk>; | ||
181 | ti,bit-shift = <24>; | ||
182 | ti,max-div = <2>; | ||
183 | reg = <0x0528>; | ||
184 | }; | ||
185 | 177 | ||
186 | dpll_abe_m3x2_ck: dpll_abe_m3x2_ck@1f4 { | 178 | dpll_abe_m3x2_ck: dpll_abe_m3x2_ck@1f4 { |
187 | #clock-cells = <0>; | 179 | #clock-cells = <0>; |
@@ -464,7 +456,7 @@ | |||
464 | ocp_abe_iclk: ocp_abe_iclk@528 { | 456 | ocp_abe_iclk: ocp_abe_iclk@528 { |
465 | #clock-cells = <0>; | 457 | #clock-cells = <0>; |
466 | compatible = "ti,divider-clock"; | 458 | compatible = "ti,divider-clock"; |
467 | clocks = <&aess_fclk>; | 459 | clocks = <&abe_clkctrl OMAP4_AESS_CLKCTRL 24>; |
468 | ti,bit-shift = <24>; | 460 | ti,bit-shift = <24>; |
469 | reg = <0x0528>; | 461 | reg = <0x0528>; |
470 | ti,dividers = <2>, <1>; | 462 | ti,dividers = <2>, <1>; |
@@ -478,156 +470,13 @@ | |||
478 | clock-div = <4>; | 470 | clock-div = <4>; |
479 | }; | 471 | }; |
480 | 472 | ||
481 | dmic_sync_mux_ck: dmic_sync_mux_ck@538 { | ||
482 | #clock-cells = <0>; | ||
483 | compatible = "ti,mux-clock"; | ||
484 | clocks = <&abe_24m_fclk>, <&syc_clk_div_ck>, <&func_24m_clk>; | ||
485 | ti,bit-shift = <25>; | ||
486 | reg = <0x0538>; | ||
487 | }; | ||
488 | |||
489 | func_dmic_abe_gfclk: func_dmic_abe_gfclk@538 { | ||
490 | #clock-cells = <0>; | ||
491 | compatible = "ti,mux-clock"; | ||
492 | clocks = <&dmic_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
493 | ti,bit-shift = <24>; | ||
494 | reg = <0x0538>; | ||
495 | }; | ||
496 | |||
497 | mcasp_sync_mux_ck: mcasp_sync_mux_ck@540 { | ||
498 | #clock-cells = <0>; | ||
499 | compatible = "ti,mux-clock"; | ||
500 | clocks = <&abe_24m_fclk>, <&syc_clk_div_ck>, <&func_24m_clk>; | ||
501 | ti,bit-shift = <25>; | ||
502 | reg = <0x0540>; | ||
503 | }; | ||
504 | |||
505 | func_mcasp_abe_gfclk: func_mcasp_abe_gfclk@540 { | ||
506 | #clock-cells = <0>; | ||
507 | compatible = "ti,mux-clock"; | ||
508 | clocks = <&mcasp_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
509 | ti,bit-shift = <24>; | ||
510 | reg = <0x0540>; | ||
511 | }; | ||
512 | |||
513 | mcbsp1_sync_mux_ck: mcbsp1_sync_mux_ck@548 { | ||
514 | #clock-cells = <0>; | ||
515 | compatible = "ti,mux-clock"; | ||
516 | clocks = <&abe_24m_fclk>, <&syc_clk_div_ck>, <&func_24m_clk>; | ||
517 | ti,bit-shift = <25>; | ||
518 | reg = <0x0548>; | ||
519 | }; | ||
520 | |||
521 | func_mcbsp1_gfclk: func_mcbsp1_gfclk@548 { | ||
522 | #clock-cells = <0>; | ||
523 | compatible = "ti,mux-clock"; | ||
524 | clocks = <&mcbsp1_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
525 | ti,bit-shift = <24>; | ||
526 | reg = <0x0548>; | ||
527 | }; | ||
528 | |||
529 | mcbsp2_sync_mux_ck: mcbsp2_sync_mux_ck@550 { | ||
530 | #clock-cells = <0>; | ||
531 | compatible = "ti,mux-clock"; | ||
532 | clocks = <&abe_24m_fclk>, <&syc_clk_div_ck>, <&func_24m_clk>; | ||
533 | ti,bit-shift = <25>; | ||
534 | reg = <0x0550>; | ||
535 | }; | ||
536 | |||
537 | func_mcbsp2_gfclk: func_mcbsp2_gfclk@550 { | ||
538 | #clock-cells = <0>; | ||
539 | compatible = "ti,mux-clock"; | ||
540 | clocks = <&mcbsp2_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
541 | ti,bit-shift = <24>; | ||
542 | reg = <0x0550>; | ||
543 | }; | ||
544 | |||
545 | mcbsp3_sync_mux_ck: mcbsp3_sync_mux_ck@558 { | ||
546 | #clock-cells = <0>; | ||
547 | compatible = "ti,mux-clock"; | ||
548 | clocks = <&abe_24m_fclk>, <&syc_clk_div_ck>, <&func_24m_clk>; | ||
549 | ti,bit-shift = <25>; | ||
550 | reg = <0x0558>; | ||
551 | }; | ||
552 | |||
553 | func_mcbsp3_gfclk: func_mcbsp3_gfclk@558 { | ||
554 | #clock-cells = <0>; | ||
555 | compatible = "ti,mux-clock"; | ||
556 | clocks = <&mcbsp3_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
557 | ti,bit-shift = <24>; | ||
558 | reg = <0x0558>; | ||
559 | }; | ||
560 | |||
561 | slimbus1_fclk_1: slimbus1_fclk_1@560 { | ||
562 | #clock-cells = <0>; | ||
563 | compatible = "ti,gate-clock"; | ||
564 | clocks = <&func_24m_clk>; | ||
565 | ti,bit-shift = <9>; | ||
566 | reg = <0x0560>; | ||
567 | }; | ||
568 | |||
569 | slimbus1_fclk_0: slimbus1_fclk_0@560 { | ||
570 | #clock-cells = <0>; | ||
571 | compatible = "ti,gate-clock"; | ||
572 | clocks = <&abe_24m_fclk>; | ||
573 | ti,bit-shift = <8>; | ||
574 | reg = <0x0560>; | ||
575 | }; | ||
576 | |||
577 | slimbus1_fclk_2: slimbus1_fclk_2@560 { | ||
578 | #clock-cells = <0>; | ||
579 | compatible = "ti,gate-clock"; | ||
580 | clocks = <&pad_clks_ck>; | ||
581 | ti,bit-shift = <10>; | ||
582 | reg = <0x0560>; | ||
583 | }; | ||
584 | |||
585 | slimbus1_slimbus_clk: slimbus1_slimbus_clk@560 { | ||
586 | #clock-cells = <0>; | ||
587 | compatible = "ti,gate-clock"; | ||
588 | clocks = <&slimbus_clk>; | ||
589 | ti,bit-shift = <11>; | ||
590 | reg = <0x0560>; | ||
591 | }; | ||
592 | |||
593 | timer5_sync_mux: timer5_sync_mux@568 { | ||
594 | #clock-cells = <0>; | ||
595 | compatible = "ti,mux-clock"; | ||
596 | clocks = <&syc_clk_div_ck>, <&sys_32k_ck>; | ||
597 | ti,bit-shift = <24>; | ||
598 | reg = <0x0568>; | ||
599 | }; | ||
600 | |||
601 | timer6_sync_mux: timer6_sync_mux@570 { | ||
602 | #clock-cells = <0>; | ||
603 | compatible = "ti,mux-clock"; | ||
604 | clocks = <&syc_clk_div_ck>, <&sys_32k_ck>; | ||
605 | ti,bit-shift = <24>; | ||
606 | reg = <0x0570>; | ||
607 | }; | ||
608 | |||
609 | timer7_sync_mux: timer7_sync_mux@578 { | ||
610 | #clock-cells = <0>; | ||
611 | compatible = "ti,mux-clock"; | ||
612 | clocks = <&syc_clk_div_ck>, <&sys_32k_ck>; | ||
613 | ti,bit-shift = <24>; | ||
614 | reg = <0x0578>; | ||
615 | }; | ||
616 | |||
617 | timer8_sync_mux: timer8_sync_mux@580 { | ||
618 | #clock-cells = <0>; | ||
619 | compatible = "ti,mux-clock"; | ||
620 | clocks = <&syc_clk_div_ck>, <&sys_32k_ck>; | ||
621 | ti,bit-shift = <24>; | ||
622 | reg = <0x0580>; | ||
623 | }; | ||
624 | |||
625 | dummy_ck: dummy_ck { | 473 | dummy_ck: dummy_ck { |
626 | #clock-cells = <0>; | 474 | #clock-cells = <0>; |
627 | compatible = "fixed-clock"; | 475 | compatible = "fixed-clock"; |
628 | clock-frequency = <0>; | 476 | clock-frequency = <0>; |
629 | }; | 477 | }; |
630 | }; | 478 | }; |
479 | |||
631 | &prm_clocks { | 480 | &prm_clocks { |
632 | sys_clkin_ck: sys_clkin_ck@110 { | 481 | sys_clkin_ck: sys_clkin_ck@110 { |
633 | #clock-cells = <0>; | 482 | #clock-cells = <0>; |
@@ -675,22 +524,6 @@ | |||
675 | ti,max-div = <2>; | 524 | ti,max-div = <2>; |
676 | }; | 525 | }; |
677 | 526 | ||
678 | gpio1_dbclk: gpio1_dbclk@1838 { | ||
679 | #clock-cells = <0>; | ||
680 | compatible = "ti,gate-clock"; | ||
681 | clocks = <&sys_32k_ck>; | ||
682 | ti,bit-shift = <8>; | ||
683 | reg = <0x1838>; | ||
684 | }; | ||
685 | |||
686 | dmt1_clk_mux: dmt1_clk_mux@1840 { | ||
687 | #clock-cells = <0>; | ||
688 | compatible = "ti,mux-clock"; | ||
689 | clocks = <&sys_clkin_ck>, <&sys_32k_ck>; | ||
690 | ti,bit-shift = <24>; | ||
691 | reg = <0x1840>; | ||
692 | }; | ||
693 | |||
694 | usim_ck: usim_ck@1858 { | 527 | usim_ck: usim_ck@1858 { |
695 | #clock-cells = <0>; | 528 | #clock-cells = <0>; |
696 | compatible = "ti,divider-clock"; | 529 | compatible = "ti,divider-clock"; |
@@ -708,45 +541,10 @@ | |||
708 | reg = <0x1858>; | 541 | reg = <0x1858>; |
709 | }; | 542 | }; |
710 | 543 | ||
711 | pmd_stm_clock_mux_ck: pmd_stm_clock_mux_ck@1a20 { | ||
712 | #clock-cells = <0>; | ||
713 | compatible = "ti,mux-clock"; | ||
714 | clocks = <&sys_clkin_ck>, <&dpll_core_m6x2_ck>, <&tie_low_clock_ck>; | ||
715 | ti,bit-shift = <20>; | ||
716 | reg = <0x1a20>; | ||
717 | }; | ||
718 | |||
719 | pmd_trace_clk_mux_ck: pmd_trace_clk_mux_ck@1a20 { | ||
720 | #clock-cells = <0>; | ||
721 | compatible = "ti,mux-clock"; | ||
722 | clocks = <&sys_clkin_ck>, <&dpll_core_m6x2_ck>, <&tie_low_clock_ck>; | ||
723 | ti,bit-shift = <22>; | ||
724 | reg = <0x1a20>; | ||
725 | }; | ||
726 | |||
727 | stm_clk_div_ck: stm_clk_div_ck@1a20 { | ||
728 | #clock-cells = <0>; | ||
729 | compatible = "ti,divider-clock"; | ||
730 | clocks = <&pmd_stm_clock_mux_ck>; | ||
731 | ti,bit-shift = <27>; | ||
732 | ti,max-div = <64>; | ||
733 | reg = <0x1a20>; | ||
734 | ti,index-power-of-two; | ||
735 | }; | ||
736 | |||
737 | trace_clk_div_div_ck: trace_clk_div_div_ck@1a20 { | ||
738 | #clock-cells = <0>; | ||
739 | compatible = "ti,divider-clock"; | ||
740 | clocks = <&pmd_trace_clk_mux_ck>; | ||
741 | ti,bit-shift = <24>; | ||
742 | reg = <0x1a20>; | ||
743 | ti,dividers = <0>, <1>, <2>, <0>, <4>; | ||
744 | }; | ||
745 | |||
746 | trace_clk_div_ck: trace_clk_div_ck { | 544 | trace_clk_div_ck: trace_clk_div_ck { |
747 | #clock-cells = <0>; | 545 | #clock-cells = <0>; |
748 | compatible = "ti,clkdm-gate-clock"; | 546 | compatible = "ti,clkdm-gate-clock"; |
749 | clocks = <&trace_clk_div_div_ck>; | 547 | clocks = <&emu_sys_clkctrl OMAP4_DEBUGSS_CLKCTRL 24>; |
750 | }; | 548 | }; |
751 | }; | 549 | }; |
752 | 550 | ||
@@ -975,155 +773,6 @@ | |||
975 | ti,max-div = <2>; | 773 | ti,max-div = <2>; |
976 | }; | 774 | }; |
977 | 775 | ||
978 | dss_sys_clk: dss_sys_clk@1120 { | ||
979 | #clock-cells = <0>; | ||
980 | compatible = "ti,gate-clock"; | ||
981 | clocks = <&syc_clk_div_ck>; | ||
982 | ti,bit-shift = <10>; | ||
983 | reg = <0x1120>; | ||
984 | }; | ||
985 | |||
986 | dss_tv_clk: dss_tv_clk@1120 { | ||
987 | #clock-cells = <0>; | ||
988 | compatible = "ti,gate-clock"; | ||
989 | clocks = <&extalt_clkin_ck>; | ||
990 | ti,bit-shift = <11>; | ||
991 | reg = <0x1120>; | ||
992 | }; | ||
993 | |||
994 | dss_dss_clk: dss_dss_clk@1120 { | ||
995 | #clock-cells = <0>; | ||
996 | compatible = "ti,gate-clock"; | ||
997 | clocks = <&dpll_per_m5x2_ck>; | ||
998 | ti,bit-shift = <8>; | ||
999 | reg = <0x1120>; | ||
1000 | ti,set-rate-parent; | ||
1001 | }; | ||
1002 | |||
1003 | dss_48mhz_clk: dss_48mhz_clk@1120 { | ||
1004 | #clock-cells = <0>; | ||
1005 | compatible = "ti,gate-clock"; | ||
1006 | clocks = <&func_48mc_fclk>; | ||
1007 | ti,bit-shift = <9>; | ||
1008 | reg = <0x1120>; | ||
1009 | }; | ||
1010 | |||
1011 | fdif_fck: fdif_fck@1028 { | ||
1012 | #clock-cells = <0>; | ||
1013 | compatible = "ti,divider-clock"; | ||
1014 | clocks = <&dpll_per_m4x2_ck>; | ||
1015 | ti,bit-shift = <24>; | ||
1016 | ti,max-div = <4>; | ||
1017 | reg = <0x1028>; | ||
1018 | ti,index-power-of-two; | ||
1019 | }; | ||
1020 | |||
1021 | gpio2_dbclk: gpio2_dbclk@1460 { | ||
1022 | #clock-cells = <0>; | ||
1023 | compatible = "ti,gate-clock"; | ||
1024 | clocks = <&sys_32k_ck>; | ||
1025 | ti,bit-shift = <8>; | ||
1026 | reg = <0x1460>; | ||
1027 | }; | ||
1028 | |||
1029 | gpio3_dbclk: gpio3_dbclk@1468 { | ||
1030 | #clock-cells = <0>; | ||
1031 | compatible = "ti,gate-clock"; | ||
1032 | clocks = <&sys_32k_ck>; | ||
1033 | ti,bit-shift = <8>; | ||
1034 | reg = <0x1468>; | ||
1035 | }; | ||
1036 | |||
1037 | gpio4_dbclk: gpio4_dbclk@1470 { | ||
1038 | #clock-cells = <0>; | ||
1039 | compatible = "ti,gate-clock"; | ||
1040 | clocks = <&sys_32k_ck>; | ||
1041 | ti,bit-shift = <8>; | ||
1042 | reg = <0x1470>; | ||
1043 | }; | ||
1044 | |||
1045 | gpio5_dbclk: gpio5_dbclk@1478 { | ||
1046 | #clock-cells = <0>; | ||
1047 | compatible = "ti,gate-clock"; | ||
1048 | clocks = <&sys_32k_ck>; | ||
1049 | ti,bit-shift = <8>; | ||
1050 | reg = <0x1478>; | ||
1051 | }; | ||
1052 | |||
1053 | gpio6_dbclk: gpio6_dbclk@1480 { | ||
1054 | #clock-cells = <0>; | ||
1055 | compatible = "ti,gate-clock"; | ||
1056 | clocks = <&sys_32k_ck>; | ||
1057 | ti,bit-shift = <8>; | ||
1058 | reg = <0x1480>; | ||
1059 | }; | ||
1060 | |||
1061 | sgx_clk_mux: sgx_clk_mux@1220 { | ||
1062 | #clock-cells = <0>; | ||
1063 | compatible = "ti,mux-clock"; | ||
1064 | clocks = <&dpll_core_m7x2_ck>, <&dpll_per_m7x2_ck>; | ||
1065 | ti,bit-shift = <24>; | ||
1066 | reg = <0x1220>; | ||
1067 | }; | ||
1068 | |||
1069 | hsi_fck: hsi_fck@1338 { | ||
1070 | #clock-cells = <0>; | ||
1071 | compatible = "ti,divider-clock"; | ||
1072 | clocks = <&dpll_per_m2x2_ck>; | ||
1073 | ti,bit-shift = <24>; | ||
1074 | ti,max-div = <4>; | ||
1075 | reg = <0x1338>; | ||
1076 | ti,index-power-of-two; | ||
1077 | }; | ||
1078 | |||
1079 | iss_ctrlclk: iss_ctrlclk@1020 { | ||
1080 | #clock-cells = <0>; | ||
1081 | compatible = "ti,gate-clock"; | ||
1082 | clocks = <&func_96m_fclk>; | ||
1083 | ti,bit-shift = <8>; | ||
1084 | reg = <0x1020>; | ||
1085 | }; | ||
1086 | |||
1087 | mcbsp4_sync_mux_ck: mcbsp4_sync_mux_ck@14e0 { | ||
1088 | #clock-cells = <0>; | ||
1089 | compatible = "ti,mux-clock"; | ||
1090 | clocks = <&func_96m_fclk>, <&per_abe_nc_fclk>; | ||
1091 | ti,bit-shift = <25>; | ||
1092 | reg = <0x14e0>; | ||
1093 | }; | ||
1094 | |||
1095 | per_mcbsp4_gfclk: per_mcbsp4_gfclk@14e0 { | ||
1096 | #clock-cells = <0>; | ||
1097 | compatible = "ti,mux-clock"; | ||
1098 | clocks = <&mcbsp4_sync_mux_ck>, <&pad_clks_ck>; | ||
1099 | ti,bit-shift = <24>; | ||
1100 | reg = <0x14e0>; | ||
1101 | }; | ||
1102 | |||
1103 | hsmmc1_fclk: hsmmc1_fclk@1328 { | ||
1104 | #clock-cells = <0>; | ||
1105 | compatible = "ti,mux-clock"; | ||
1106 | clocks = <&func_64m_fclk>, <&func_96m_fclk>; | ||
1107 | ti,bit-shift = <24>; | ||
1108 | reg = <0x1328>; | ||
1109 | }; | ||
1110 | |||
1111 | hsmmc2_fclk: hsmmc2_fclk@1330 { | ||
1112 | #clock-cells = <0>; | ||
1113 | compatible = "ti,mux-clock"; | ||
1114 | clocks = <&func_64m_fclk>, <&func_96m_fclk>; | ||
1115 | ti,bit-shift = <24>; | ||
1116 | reg = <0x1330>; | ||
1117 | }; | ||
1118 | |||
1119 | ocp2scp_usb_phy_phy_48m: ocp2scp_usb_phy_phy_48m@13e0 { | ||
1120 | #clock-cells = <0>; | ||
1121 | compatible = "ti,gate-clock"; | ||
1122 | clocks = <&func_48m_fclk>; | ||
1123 | ti,bit-shift = <8>; | ||
1124 | reg = <0x13e0>; | ||
1125 | }; | ||
1126 | |||
1127 | sha2md5_fck: sha2md5_fck@15c8 { | 776 | sha2md5_fck: sha2md5_fck@15c8 { |
1128 | #clock-cells = <0>; | 777 | #clock-cells = <0>; |
1129 | compatible = "ti,gate-clock"; | 778 | compatible = "ti,gate-clock"; |
@@ -1132,222 +781,6 @@ | |||
1132 | reg = <0x15c8>; | 781 | reg = <0x15c8>; |
1133 | }; | 782 | }; |
1134 | 783 | ||
1135 | slimbus2_fclk_1: slimbus2_fclk_1@1538 { | ||
1136 | #clock-cells = <0>; | ||
1137 | compatible = "ti,gate-clock"; | ||
1138 | clocks = <&per_abe_24m_fclk>; | ||
1139 | ti,bit-shift = <9>; | ||
1140 | reg = <0x1538>; | ||
1141 | }; | ||
1142 | |||
1143 | slimbus2_fclk_0: slimbus2_fclk_0@1538 { | ||
1144 | #clock-cells = <0>; | ||
1145 | compatible = "ti,gate-clock"; | ||
1146 | clocks = <&func_24mc_fclk>; | ||
1147 | ti,bit-shift = <8>; | ||
1148 | reg = <0x1538>; | ||
1149 | }; | ||
1150 | |||
1151 | slimbus2_slimbus_clk: slimbus2_slimbus_clk@1538 { | ||
1152 | #clock-cells = <0>; | ||
1153 | compatible = "ti,gate-clock"; | ||
1154 | clocks = <&pad_slimbus_core_clks_ck>; | ||
1155 | ti,bit-shift = <10>; | ||
1156 | reg = <0x1538>; | ||
1157 | }; | ||
1158 | |||
1159 | smartreflex_core_fck: smartreflex_core_fck@638 { | ||
1160 | #clock-cells = <0>; | ||
1161 | compatible = "ti,gate-clock"; | ||
1162 | clocks = <&l4_wkup_clk_mux_ck>; | ||
1163 | ti,bit-shift = <1>; | ||
1164 | reg = <0x0638>; | ||
1165 | }; | ||
1166 | |||
1167 | smartreflex_iva_fck: smartreflex_iva_fck@630 { | ||
1168 | #clock-cells = <0>; | ||
1169 | compatible = "ti,gate-clock"; | ||
1170 | clocks = <&l4_wkup_clk_mux_ck>; | ||
1171 | ti,bit-shift = <1>; | ||
1172 | reg = <0x0630>; | ||
1173 | }; | ||
1174 | |||
1175 | smartreflex_mpu_fck: smartreflex_mpu_fck@628 { | ||
1176 | #clock-cells = <0>; | ||
1177 | compatible = "ti,gate-clock"; | ||
1178 | clocks = <&l4_wkup_clk_mux_ck>; | ||
1179 | ti,bit-shift = <1>; | ||
1180 | reg = <0x0628>; | ||
1181 | }; | ||
1182 | |||
1183 | cm2_dm10_mux: cm2_dm10_mux@1428 { | ||
1184 | #clock-cells = <0>; | ||
1185 | compatible = "ti,mux-clock"; | ||
1186 | clocks = <&sys_clkin_ck>, <&sys_32k_ck>; | ||
1187 | ti,bit-shift = <24>; | ||
1188 | reg = <0x1428>; | ||
1189 | }; | ||
1190 | |||
1191 | cm2_dm11_mux: cm2_dm11_mux@1430 { | ||
1192 | #clock-cells = <0>; | ||
1193 | compatible = "ti,mux-clock"; | ||
1194 | clocks = <&sys_clkin_ck>, <&sys_32k_ck>; | ||
1195 | ti,bit-shift = <24>; | ||
1196 | reg = <0x1430>; | ||
1197 | }; | ||
1198 | |||
1199 | cm2_dm2_mux: cm2_dm2_mux@1438 { | ||
1200 | #clock-cells = <0>; | ||
1201 | compatible = "ti,mux-clock"; | ||
1202 | clocks = <&sys_clkin_ck>, <&sys_32k_ck>; | ||
1203 | ti,bit-shift = <24>; | ||
1204 | reg = <0x1438>; | ||
1205 | }; | ||
1206 | |||
1207 | cm2_dm3_mux: cm2_dm3_mux@1440 { | ||
1208 | #clock-cells = <0>; | ||
1209 | compatible = "ti,mux-clock"; | ||
1210 | clocks = <&sys_clkin_ck>, <&sys_32k_ck>; | ||
1211 | ti,bit-shift = <24>; | ||
1212 | reg = <0x1440>; | ||
1213 | }; | ||
1214 | |||
1215 | cm2_dm4_mux: cm2_dm4_mux@1448 { | ||
1216 | #clock-cells = <0>; | ||
1217 | compatible = "ti,mux-clock"; | ||
1218 | clocks = <&sys_clkin_ck>, <&sys_32k_ck>; | ||
1219 | ti,bit-shift = <24>; | ||
1220 | reg = <0x1448>; | ||
1221 | }; | ||
1222 | |||
1223 | cm2_dm9_mux: cm2_dm9_mux@1450 { | ||
1224 | #clock-cells = <0>; | ||
1225 | compatible = "ti,mux-clock"; | ||
1226 | clocks = <&sys_clkin_ck>, <&sys_32k_ck>; | ||
1227 | ti,bit-shift = <24>; | ||
1228 | reg = <0x1450>; | ||
1229 | }; | ||
1230 | |||
1231 | usb_host_fs_fck: usb_host_fs_fck@13d0 { | ||
1232 | #clock-cells = <0>; | ||
1233 | compatible = "ti,gate-clock"; | ||
1234 | clocks = <&func_48mc_fclk>; | ||
1235 | ti,bit-shift = <1>; | ||
1236 | reg = <0x13d0>; | ||
1237 | }; | ||
1238 | |||
1239 | utmi_p1_gfclk: utmi_p1_gfclk@1358 { | ||
1240 | #clock-cells = <0>; | ||
1241 | compatible = "ti,mux-clock"; | ||
1242 | clocks = <&init_60m_fclk>, <&xclk60mhsp1_ck>; | ||
1243 | ti,bit-shift = <24>; | ||
1244 | reg = <0x1358>; | ||
1245 | }; | ||
1246 | |||
1247 | usb_host_hs_utmi_p1_clk: usb_host_hs_utmi_p1_clk@1358 { | ||
1248 | #clock-cells = <0>; | ||
1249 | compatible = "ti,gate-clock"; | ||
1250 | clocks = <&utmi_p1_gfclk>; | ||
1251 | ti,bit-shift = <8>; | ||
1252 | reg = <0x1358>; | ||
1253 | }; | ||
1254 | |||
1255 | utmi_p2_gfclk: utmi_p2_gfclk@1358 { | ||
1256 | #clock-cells = <0>; | ||
1257 | compatible = "ti,mux-clock"; | ||
1258 | clocks = <&init_60m_fclk>, <&xclk60mhsp2_ck>; | ||
1259 | ti,bit-shift = <25>; | ||
1260 | reg = <0x1358>; | ||
1261 | }; | ||
1262 | |||
1263 | usb_host_hs_utmi_p2_clk: usb_host_hs_utmi_p2_clk@1358 { | ||
1264 | #clock-cells = <0>; | ||
1265 | compatible = "ti,gate-clock"; | ||
1266 | clocks = <&utmi_p2_gfclk>; | ||
1267 | ti,bit-shift = <9>; | ||
1268 | reg = <0x1358>; | ||
1269 | }; | ||
1270 | |||
1271 | usb_host_hs_utmi_p3_clk: usb_host_hs_utmi_p3_clk@1358 { | ||
1272 | #clock-cells = <0>; | ||
1273 | compatible = "ti,gate-clock"; | ||
1274 | clocks = <&init_60m_fclk>; | ||
1275 | ti,bit-shift = <10>; | ||
1276 | reg = <0x1358>; | ||
1277 | }; | ||
1278 | |||
1279 | usb_host_hs_hsic480m_p1_clk: usb_host_hs_hsic480m_p1_clk@1358 { | ||
1280 | #clock-cells = <0>; | ||
1281 | compatible = "ti,gate-clock"; | ||
1282 | clocks = <&dpll_usb_m2_ck>; | ||
1283 | ti,bit-shift = <13>; | ||
1284 | reg = <0x1358>; | ||
1285 | }; | ||
1286 | |||
1287 | usb_host_hs_hsic60m_p1_clk: usb_host_hs_hsic60m_p1_clk@1358 { | ||
1288 | #clock-cells = <0>; | ||
1289 | compatible = "ti,gate-clock"; | ||
1290 | clocks = <&init_60m_fclk>; | ||
1291 | ti,bit-shift = <11>; | ||
1292 | reg = <0x1358>; | ||
1293 | }; | ||
1294 | |||
1295 | usb_host_hs_hsic60m_p2_clk: usb_host_hs_hsic60m_p2_clk@1358 { | ||
1296 | #clock-cells = <0>; | ||
1297 | compatible = "ti,gate-clock"; | ||
1298 | clocks = <&init_60m_fclk>; | ||
1299 | ti,bit-shift = <12>; | ||
1300 | reg = <0x1358>; | ||
1301 | }; | ||
1302 | |||
1303 | usb_host_hs_hsic480m_p2_clk: usb_host_hs_hsic480m_p2_clk@1358 { | ||
1304 | #clock-cells = <0>; | ||
1305 | compatible = "ti,gate-clock"; | ||
1306 | clocks = <&dpll_usb_m2_ck>; | ||
1307 | ti,bit-shift = <14>; | ||
1308 | reg = <0x1358>; | ||
1309 | }; | ||
1310 | |||
1311 | usb_host_hs_func48mclk: usb_host_hs_func48mclk@1358 { | ||
1312 | #clock-cells = <0>; | ||
1313 | compatible = "ti,gate-clock"; | ||
1314 | clocks = <&func_48mc_fclk>; | ||
1315 | ti,bit-shift = <15>; | ||
1316 | reg = <0x1358>; | ||
1317 | }; | ||
1318 | |||
1319 | usb_host_hs_fck: usb_host_hs_fck@1358 { | ||
1320 | #clock-cells = <0>; | ||
1321 | compatible = "ti,gate-clock"; | ||
1322 | clocks = <&init_60m_fclk>; | ||
1323 | ti,bit-shift = <1>; | ||
1324 | reg = <0x1358>; | ||
1325 | }; | ||
1326 | |||
1327 | otg_60m_gfclk: otg_60m_gfclk@1360 { | ||
1328 | #clock-cells = <0>; | ||
1329 | compatible = "ti,mux-clock"; | ||
1330 | clocks = <&utmi_phy_clkout_ck>, <&xclk60motg_ck>; | ||
1331 | ti,bit-shift = <24>; | ||
1332 | reg = <0x1360>; | ||
1333 | }; | ||
1334 | |||
1335 | usb_otg_hs_xclk: usb_otg_hs_xclk@1360 { | ||
1336 | #clock-cells = <0>; | ||
1337 | compatible = "ti,gate-clock"; | ||
1338 | clocks = <&otg_60m_gfclk>; | ||
1339 | ti,bit-shift = <8>; | ||
1340 | reg = <0x1360>; | ||
1341 | }; | ||
1342 | |||
1343 | usb_otg_hs_ick: usb_otg_hs_ick@1360 { | ||
1344 | #clock-cells = <0>; | ||
1345 | compatible = "ti,gate-clock"; | ||
1346 | clocks = <&l3_div_ck>; | ||
1347 | ti,bit-shift = <0>; | ||
1348 | reg = <0x1360>; | ||
1349 | }; | ||
1350 | |||
1351 | usb_phy_cm_clk32k: usb_phy_cm_clk32k@640 { | 784 | usb_phy_cm_clk32k: usb_phy_cm_clk32k@640 { |
1352 | #clock-cells = <0>; | 785 | #clock-cells = <0>; |
1353 | compatible = "ti,gate-clock"; | 786 | compatible = "ti,gate-clock"; |
@@ -1355,44 +788,12 @@ | |||
1355 | ti,bit-shift = <8>; | 788 | ti,bit-shift = <8>; |
1356 | reg = <0x0640>; | 789 | reg = <0x0640>; |
1357 | }; | 790 | }; |
1358 | |||
1359 | usb_tll_hs_usb_ch2_clk: usb_tll_hs_usb_ch2_clk@1368 { | ||
1360 | #clock-cells = <0>; | ||
1361 | compatible = "ti,gate-clock"; | ||
1362 | clocks = <&init_60m_fclk>; | ||
1363 | ti,bit-shift = <10>; | ||
1364 | reg = <0x1368>; | ||
1365 | }; | ||
1366 | |||
1367 | usb_tll_hs_usb_ch0_clk: usb_tll_hs_usb_ch0_clk@1368 { | ||
1368 | #clock-cells = <0>; | ||
1369 | compatible = "ti,gate-clock"; | ||
1370 | clocks = <&init_60m_fclk>; | ||
1371 | ti,bit-shift = <8>; | ||
1372 | reg = <0x1368>; | ||
1373 | }; | ||
1374 | |||
1375 | usb_tll_hs_usb_ch1_clk: usb_tll_hs_usb_ch1_clk@1368 { | ||
1376 | #clock-cells = <0>; | ||
1377 | compatible = "ti,gate-clock"; | ||
1378 | clocks = <&init_60m_fclk>; | ||
1379 | ti,bit-shift = <9>; | ||
1380 | reg = <0x1368>; | ||
1381 | }; | ||
1382 | |||
1383 | usb_tll_hs_ick: usb_tll_hs_ick@1368 { | ||
1384 | #clock-cells = <0>; | ||
1385 | compatible = "ti,gate-clock"; | ||
1386 | clocks = <&l4_div_ck>; | ||
1387 | ti,bit-shift = <0>; | ||
1388 | reg = <0x1368>; | ||
1389 | }; | ||
1390 | }; | 791 | }; |
1391 | 792 | ||
1392 | &cm2_clockdomains { | 793 | &cm2_clockdomains { |
1393 | l3_init_clkdm: l3_init_clkdm { | 794 | l3_init_clkdm: l3_init_clkdm { |
1394 | compatible = "ti,clockdomain"; | 795 | compatible = "ti,clockdomain"; |
1395 | clocks = <&dpll_usb_ck>, <&usb_host_fs_fck>; | 796 | clocks = <&dpll_usb_ck>; |
1396 | }; | 797 | }; |
1397 | }; | 798 | }; |
1398 | 799 | ||
@@ -1631,3 +1032,291 @@ | |||
1631 | reg = <0x0224>; | 1032 | reg = <0x0224>; |
1632 | }; | 1033 | }; |
1633 | }; | 1034 | }; |
1035 | |||
1036 | &cm1 { | ||
1037 | mpuss_cm: mpuss_cm@300 { | ||
1038 | compatible = "ti,omap4-cm"; | ||
1039 | reg = <0x300 0x100>; | ||
1040 | #address-cells = <1>; | ||
1041 | #size-cells = <1>; | ||
1042 | ranges = <0 0x300 0x100>; | ||
1043 | |||
1044 | mpuss_clkctrl: clk@20 { | ||
1045 | compatible = "ti,clkctrl"; | ||
1046 | reg = <0x20 0x4>; | ||
1047 | #clock-cells = <2>; | ||
1048 | }; | ||
1049 | }; | ||
1050 | |||
1051 | tesla_cm: tesla_cm@400 { | ||
1052 | compatible = "ti,omap4-cm"; | ||
1053 | reg = <0x400 0x100>; | ||
1054 | #address-cells = <1>; | ||
1055 | #size-cells = <1>; | ||
1056 | ranges = <0 0x400 0x100>; | ||
1057 | |||
1058 | tesla_clkctrl: clk@20 { | ||
1059 | compatible = "ti,clkctrl"; | ||
1060 | reg = <0x20 0x4>; | ||
1061 | #clock-cells = <2>; | ||
1062 | }; | ||
1063 | }; | ||
1064 | |||
1065 | abe_cm: abe_cm@500 { | ||
1066 | compatible = "ti,omap4-cm"; | ||
1067 | reg = <0x500 0x100>; | ||
1068 | #address-cells = <1>; | ||
1069 | #size-cells = <1>; | ||
1070 | ranges = <0 0x500 0x100>; | ||
1071 | |||
1072 | abe_clkctrl: clk@20 { | ||
1073 | compatible = "ti,clkctrl"; | ||
1074 | reg = <0x20 0x6c>; | ||
1075 | #clock-cells = <2>; | ||
1076 | }; | ||
1077 | }; | ||
1078 | |||
1079 | }; | ||
1080 | |||
1081 | &cm2 { | ||
1082 | l4_ao_cm: l4_ao_cm@600 { | ||
1083 | compatible = "ti,omap4-cm"; | ||
1084 | reg = <0x600 0x100>; | ||
1085 | #address-cells = <1>; | ||
1086 | #size-cells = <1>; | ||
1087 | ranges = <0 0x600 0x100>; | ||
1088 | |||
1089 | l4_ao_clkctrl: clk@20 { | ||
1090 | compatible = "ti,clkctrl"; | ||
1091 | reg = <0x20 0x1c>; | ||
1092 | #clock-cells = <2>; | ||
1093 | }; | ||
1094 | }; | ||
1095 | |||
1096 | l3_1_cm: l3_1_cm@700 { | ||
1097 | compatible = "ti,omap4-cm"; | ||
1098 | reg = <0x700 0x100>; | ||
1099 | #address-cells = <1>; | ||
1100 | #size-cells = <1>; | ||
1101 | ranges = <0 0x700 0x100>; | ||
1102 | |||
1103 | l3_1_clkctrl: clk@20 { | ||
1104 | compatible = "ti,clkctrl"; | ||
1105 | reg = <0x20 0x4>; | ||
1106 | #clock-cells = <2>; | ||
1107 | }; | ||
1108 | }; | ||
1109 | |||
1110 | l3_2_cm: l3_2_cm@800 { | ||
1111 | compatible = "ti,omap4-cm"; | ||
1112 | reg = <0x800 0x100>; | ||
1113 | #address-cells = <1>; | ||
1114 | #size-cells = <1>; | ||
1115 | ranges = <0 0x800 0x100>; | ||
1116 | |||
1117 | l3_2_clkctrl: clk@20 { | ||
1118 | compatible = "ti,clkctrl"; | ||
1119 | reg = <0x20 0x14>; | ||
1120 | #clock-cells = <2>; | ||
1121 | }; | ||
1122 | }; | ||
1123 | |||
1124 | ducati_cm: ducati_cm@900 { | ||
1125 | compatible = "ti,omap4-cm"; | ||
1126 | reg = <0x900 0x100>; | ||
1127 | #address-cells = <1>; | ||
1128 | #size-cells = <1>; | ||
1129 | ranges = <0 0x900 0x100>; | ||
1130 | |||
1131 | ducati_clkctrl: clk@20 { | ||
1132 | compatible = "ti,clkctrl"; | ||
1133 | reg = <0x20 0x4>; | ||
1134 | #clock-cells = <2>; | ||
1135 | }; | ||
1136 | }; | ||
1137 | |||
1138 | l3_dma_cm: l3_dma_cm@a00 { | ||
1139 | compatible = "ti,omap4-cm"; | ||
1140 | reg = <0xa00 0x100>; | ||
1141 | #address-cells = <1>; | ||
1142 | #size-cells = <1>; | ||
1143 | ranges = <0 0xa00 0x100>; | ||
1144 | |||
1145 | l3_dma_clkctrl: clk@20 { | ||
1146 | compatible = "ti,clkctrl"; | ||
1147 | reg = <0x20 0x4>; | ||
1148 | #clock-cells = <2>; | ||
1149 | }; | ||
1150 | }; | ||
1151 | |||
1152 | l3_emif_cm: l3_emif_cm@b00 { | ||
1153 | compatible = "ti,omap4-cm"; | ||
1154 | reg = <0xb00 0x100>; | ||
1155 | #address-cells = <1>; | ||
1156 | #size-cells = <1>; | ||
1157 | ranges = <0 0xb00 0x100>; | ||
1158 | |||
1159 | l3_emif_clkctrl: clk@20 { | ||
1160 | compatible = "ti,clkctrl"; | ||
1161 | reg = <0x20 0x1c>; | ||
1162 | #clock-cells = <2>; | ||
1163 | }; | ||
1164 | }; | ||
1165 | |||
1166 | d2d_cm: d2d_cm@c00 { | ||
1167 | compatible = "ti,omap4-cm"; | ||
1168 | reg = <0xc00 0x100>; | ||
1169 | #address-cells = <1>; | ||
1170 | #size-cells = <1>; | ||
1171 | ranges = <0 0xc00 0x100>; | ||
1172 | |||
1173 | d2d_clkctrl: clk@20 { | ||
1174 | compatible = "ti,clkctrl"; | ||
1175 | reg = <0x20 0x4>; | ||
1176 | #clock-cells = <2>; | ||
1177 | }; | ||
1178 | }; | ||
1179 | |||
1180 | l4_cfg_cm: l4_cfg_cm@d00 { | ||
1181 | compatible = "ti,omap4-cm"; | ||
1182 | reg = <0xd00 0x100>; | ||
1183 | #address-cells = <1>; | ||
1184 | #size-cells = <1>; | ||
1185 | ranges = <0 0xd00 0x100>; | ||
1186 | |||
1187 | l4_cfg_clkctrl: clk@20 { | ||
1188 | compatible = "ti,clkctrl"; | ||
1189 | reg = <0x20 0x14>; | ||
1190 | #clock-cells = <2>; | ||
1191 | }; | ||
1192 | }; | ||
1193 | |||
1194 | l3_instr_cm: l3_instr_cm@e00 { | ||
1195 | compatible = "ti,omap4-cm"; | ||
1196 | reg = <0xe00 0x100>; | ||
1197 | #address-cells = <1>; | ||
1198 | #size-cells = <1>; | ||
1199 | ranges = <0 0xe00 0x100>; | ||
1200 | |||
1201 | l3_instr_clkctrl: clk@20 { | ||
1202 | compatible = "ti,clkctrl"; | ||
1203 | reg = <0x20 0x24>; | ||
1204 | #clock-cells = <2>; | ||
1205 | }; | ||
1206 | }; | ||
1207 | |||
1208 | ivahd_cm: ivahd_cm@f00 { | ||
1209 | compatible = "ti,omap4-cm"; | ||
1210 | reg = <0xf00 0x100>; | ||
1211 | #address-cells = <1>; | ||
1212 | #size-cells = <1>; | ||
1213 | ranges = <0 0xf00 0x100>; | ||
1214 | |||
1215 | ivahd_clkctrl: clk@20 { | ||
1216 | compatible = "ti,clkctrl"; | ||
1217 | reg = <0x20 0xc>; | ||
1218 | #clock-cells = <2>; | ||
1219 | }; | ||
1220 | }; | ||
1221 | |||
1222 | iss_cm: iss_cm@1000 { | ||
1223 | compatible = "ti,omap4-cm"; | ||
1224 | reg = <0x1000 0x100>; | ||
1225 | #address-cells = <1>; | ||
1226 | #size-cells = <1>; | ||
1227 | ranges = <0 0x1000 0x100>; | ||
1228 | |||
1229 | iss_clkctrl: clk@20 { | ||
1230 | compatible = "ti,clkctrl"; | ||
1231 | reg = <0x20 0xc>; | ||
1232 | #clock-cells = <2>; | ||
1233 | }; | ||
1234 | }; | ||
1235 | |||
1236 | l3_dss_cm: l3_dss_cm@1100 { | ||
1237 | compatible = "ti,omap4-cm"; | ||
1238 | reg = <0x1100 0x100>; | ||
1239 | #address-cells = <1>; | ||
1240 | #size-cells = <1>; | ||
1241 | ranges = <0 0x1100 0x100>; | ||
1242 | |||
1243 | l3_dss_clkctrl: clk@20 { | ||
1244 | compatible = "ti,clkctrl"; | ||
1245 | reg = <0x20 0x4>; | ||
1246 | #clock-cells = <2>; | ||
1247 | }; | ||
1248 | }; | ||
1249 | |||
1250 | l3_gfx_cm: l3_gfx_cm@1200 { | ||
1251 | compatible = "ti,omap4-cm"; | ||
1252 | reg = <0x1200 0x100>; | ||
1253 | #address-cells = <1>; | ||
1254 | #size-cells = <1>; | ||
1255 | ranges = <0 0x1200 0x100>; | ||
1256 | |||
1257 | l3_gfx_clkctrl: clk@20 { | ||
1258 | compatible = "ti,clkctrl"; | ||
1259 | reg = <0x20 0x4>; | ||
1260 | #clock-cells = <2>; | ||
1261 | }; | ||
1262 | }; | ||
1263 | |||
1264 | l3_init_cm: l3_init_cm@1300 { | ||
1265 | compatible = "ti,omap4-cm"; | ||
1266 | reg = <0x1300 0x100>; | ||
1267 | #address-cells = <1>; | ||
1268 | #size-cells = <1>; | ||
1269 | ranges = <0 0x1300 0x100>; | ||
1270 | |||
1271 | l3_init_clkctrl: clk@20 { | ||
1272 | compatible = "ti,clkctrl"; | ||
1273 | reg = <0x20 0xc4>; | ||
1274 | #clock-cells = <2>; | ||
1275 | }; | ||
1276 | }; | ||
1277 | |||
1278 | l4_per_cm: l4_per_cm@1400 { | ||
1279 | compatible = "ti,omap4-cm"; | ||
1280 | reg = <0x1400 0x200>; | ||
1281 | #address-cells = <1>; | ||
1282 | #size-cells = <1>; | ||
1283 | ranges = <0 0x1400 0x200>; | ||
1284 | |||
1285 | l4_per_clkctrl: clk@20 { | ||
1286 | compatible = "ti,clkctrl"; | ||
1287 | reg = <0x20 0x144>; | ||
1288 | #clock-cells = <2>; | ||
1289 | }; | ||
1290 | }; | ||
1291 | |||
1292 | }; | ||
1293 | |||
1294 | &prm { | ||
1295 | l4_wkup_cm: l4_wkup_cm@1800 { | ||
1296 | compatible = "ti,omap4-cm"; | ||
1297 | reg = <0x1800 0x100>; | ||
1298 | #address-cells = <1>; | ||
1299 | #size-cells = <1>; | ||
1300 | ranges = <0 0x1800 0x100>; | ||
1301 | |||
1302 | l4_wkup_clkctrl: clk@20 { | ||
1303 | compatible = "ti,clkctrl"; | ||
1304 | reg = <0x20 0x5c>; | ||
1305 | #clock-cells = <2>; | ||
1306 | }; | ||
1307 | }; | ||
1308 | |||
1309 | emu_sys_cm: emu_sys_cm@1a00 { | ||
1310 | compatible = "ti,omap4-cm"; | ||
1311 | reg = <0x1a00 0x100>; | ||
1312 | #address-cells = <1>; | ||
1313 | #size-cells = <1>; | ||
1314 | ranges = <0 0x1a00 0x100>; | ||
1315 | |||
1316 | emu_sys_clkctrl: clk@20 { | ||
1317 | compatible = "ti,clkctrl"; | ||
1318 | reg = <0x20 0x4>; | ||
1319 | #clock-cells = <2>; | ||
1320 | }; | ||
1321 | }; | ||
1322 | }; | ||
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index 51a7fb3d7b9a..35d4298da83d 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <dt-bindings/gpio/gpio.h> | 10 | #include <dt-bindings/gpio/gpio.h> |
11 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 11 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
12 | #include <dt-bindings/pinctrl/omap.h> | 12 | #include <dt-bindings/pinctrl/omap.h> |
13 | #include <dt-bindings/clock/omap5.h> | ||
13 | 14 | ||
14 | / { | 15 | / { |
15 | #address-cells = <2>; | 16 | #address-cells = <2>; |
@@ -201,8 +202,12 @@ | |||
201 | }; | 202 | }; |
202 | 203 | ||
203 | cm_core_aon: cm_core_aon@4000 { | 204 | cm_core_aon: cm_core_aon@4000 { |
204 | compatible = "ti,omap5-cm-core-aon"; | 205 | compatible = "ti,omap5-cm-core-aon", |
206 | "simple-bus"; | ||
205 | reg = <0x4000 0x2000>; | 207 | reg = <0x4000 0x2000>; |
208 | #address-cells = <1>; | ||
209 | #size-cells = <1>; | ||
210 | ranges = <0 0x4000 0x2000>; | ||
206 | 211 | ||
207 | cm_core_aon_clocks: clocks { | 212 | cm_core_aon_clocks: clocks { |
208 | #address-cells = <1>; | 213 | #address-cells = <1>; |
@@ -214,8 +219,11 @@ | |||
214 | }; | 219 | }; |
215 | 220 | ||
216 | cm_core: cm_core@8000 { | 221 | cm_core: cm_core@8000 { |
217 | compatible = "ti,omap5-cm-core"; | 222 | compatible = "ti,omap5-cm-core", "simple-bus"; |
218 | reg = <0x8000 0x3000>; | 223 | reg = <0x8000 0x3000>; |
224 | #address-cells = <1>; | ||
225 | #size-cells = <1>; | ||
226 | ranges = <0 0x8000 0x3000>; | ||
219 | 227 | ||
220 | cm_core_clocks: clocks { | 228 | cm_core_clocks: clocks { |
221 | #address-cells = <1>; | 229 | #address-cells = <1>; |
@@ -240,9 +248,12 @@ | |||
240 | }; | 248 | }; |
241 | 249 | ||
242 | prm: prm@6000 { | 250 | prm: prm@6000 { |
243 | compatible = "ti,omap5-prm"; | 251 | compatible = "ti,omap5-prm", "simple-bus"; |
244 | reg = <0x6000 0x3000>; | 252 | reg = <0x6000 0x3000>; |
245 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | 253 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; |
254 | #address-cells = <1>; | ||
255 | #size-cells = <1>; | ||
256 | ranges = <0 0x6000 0x3000>; | ||
246 | 257 | ||
247 | prm_clocks: clocks { | 258 | prm_clocks: clocks { |
248 | #address-cells = <1>; | 259 | #address-cells = <1>; |
@@ -734,6 +745,8 @@ | |||
734 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | 745 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |
735 | ti,hwmods = "timer1"; | 746 | ti,hwmods = "timer1"; |
736 | ti,timer-alwon; | 747 | ti,timer-alwon; |
748 | clocks = <&wkupaon_clkctrl OMAP5_TIMER1_CLKCTRL 24>; | ||
749 | clock-names = "fck"; | ||
737 | }; | 750 | }; |
738 | 751 | ||
739 | timer2: timer@48032000 { | 752 | timer2: timer@48032000 { |
@@ -893,7 +906,8 @@ | |||
893 | compatible = "ti,omap-usb2"; | 906 | compatible = "ti,omap-usb2"; |
894 | reg = <0x4a084000 0x7c>; | 907 | reg = <0x4a084000 0x7c>; |
895 | syscon-phy-power = <&scm_conf 0x300>; | 908 | syscon-phy-power = <&scm_conf 0x300>; |
896 | clocks = <&usb_phy_cm_clk32k>, <&usb_otg_ss_refclk960m>; | 909 | clocks = <&usb_phy_cm_clk32k>, |
910 | <&l3init_clkctrl OMAP5_USB_OTG_SS_CLKCTRL 8>; | ||
897 | clock-names = "wkupclk", "refclk"; | 911 | clock-names = "wkupclk", "refclk"; |
898 | #phy-cells = <0>; | 912 | #phy-cells = <0>; |
899 | }; | 913 | }; |
@@ -907,7 +921,7 @@ | |||
907 | syscon-phy-power = <&scm_conf 0x370>; | 921 | syscon-phy-power = <&scm_conf 0x370>; |
908 | clocks = <&usb_phy_cm_clk32k>, | 922 | clocks = <&usb_phy_cm_clk32k>, |
909 | <&sys_clkin>, | 923 | <&sys_clkin>, |
910 | <&usb_otg_ss_refclk960m>; | 924 | <&l3init_clkctrl OMAP5_USB_OTG_SS_CLKCTRL 8>; |
911 | clock-names = "wkupclk", | 925 | clock-names = "wkupclk", |
912 | "sysclk", | 926 | "sysclk", |
913 | "refclk"; | 927 | "refclk"; |
@@ -976,7 +990,8 @@ | |||
976 | <0x4A096800 0x40>; /* pll_ctrl */ | 990 | <0x4A096800 0x40>; /* pll_ctrl */ |
977 | reg-names = "phy_rx", "phy_tx", "pll_ctrl"; | 991 | reg-names = "phy_rx", "phy_tx", "pll_ctrl"; |
978 | syscon-phy-power = <&scm_conf 0x374>; | 992 | syscon-phy-power = <&scm_conf 0x374>; |
979 | clocks = <&sys_clkin>, <&sata_ref_clk>; | 993 | clocks = <&sys_clkin>, |
994 | <&l3init_clkctrl OMAP5_SATA_CLKCTRL 8>; | ||
980 | clock-names = "sysclk", "refclk"; | 995 | clock-names = "sysclk", "refclk"; |
981 | #phy-cells = <0>; | 996 | #phy-cells = <0>; |
982 | }; | 997 | }; |
@@ -988,7 +1003,7 @@ | |||
988 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; | 1003 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; |
989 | phys = <&sata_phy>; | 1004 | phys = <&sata_phy>; |
990 | phy-names = "sata-phy"; | 1005 | phy-names = "sata-phy"; |
991 | clocks = <&sata_ref_clk>; | 1006 | clocks = <&l3init_clkctrl OMAP5_SATA_CLKCTRL 8>; |
992 | ti,hwmods = "sata"; | 1007 | ti,hwmods = "sata"; |
993 | ports-implemented = <0x1>; | 1008 | ports-implemented = <0x1>; |
994 | }; | 1009 | }; |
@@ -998,7 +1013,7 @@ | |||
998 | reg = <0x58000000 0x80>; | 1013 | reg = <0x58000000 0x80>; |
999 | status = "disabled"; | 1014 | status = "disabled"; |
1000 | ti,hwmods = "dss_core"; | 1015 | ti,hwmods = "dss_core"; |
1001 | clocks = <&dss_dss_clk>; | 1016 | clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; |
1002 | clock-names = "fck"; | 1017 | clock-names = "fck"; |
1003 | #address-cells = <1>; | 1018 | #address-cells = <1>; |
1004 | #size-cells = <1>; | 1019 | #size-cells = <1>; |
@@ -1009,7 +1024,7 @@ | |||
1009 | reg = <0x58001000 0x1000>; | 1024 | reg = <0x58001000 0x1000>; |
1010 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | 1025 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; |
1011 | ti,hwmods = "dss_dispc"; | 1026 | ti,hwmods = "dss_dispc"; |
1012 | clocks = <&dss_dss_clk>; | 1027 | clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; |
1013 | clock-names = "fck"; | 1028 | clock-names = "fck"; |
1014 | }; | 1029 | }; |
1015 | 1030 | ||
@@ -1018,7 +1033,7 @@ | |||
1018 | reg = <0x58002000 0x100>; | 1033 | reg = <0x58002000 0x100>; |
1019 | status = "disabled"; | 1034 | status = "disabled"; |
1020 | ti,hwmods = "dss_rfbi"; | 1035 | ti,hwmods = "dss_rfbi"; |
1021 | clocks = <&dss_dss_clk>, <&l3_iclk_div>; | 1036 | clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, <&l3_iclk_div>; |
1022 | clock-names = "fck", "ick"; | 1037 | clock-names = "fck", "ick"; |
1023 | }; | 1038 | }; |
1024 | 1039 | ||
@@ -1031,7 +1046,8 @@ | |||
1031 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; | 1046 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; |
1032 | status = "disabled"; | 1047 | status = "disabled"; |
1033 | ti,hwmods = "dss_dsi1"; | 1048 | ti,hwmods = "dss_dsi1"; |
1034 | clocks = <&dss_dss_clk>, <&dss_sys_clk>; | 1049 | clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, |
1050 | <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; | ||
1035 | clock-names = "fck", "sys_clk"; | 1051 | clock-names = "fck", "sys_clk"; |
1036 | }; | 1052 | }; |
1037 | 1053 | ||
@@ -1044,7 +1060,8 @@ | |||
1044 | interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; | 1060 | interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; |
1045 | status = "disabled"; | 1061 | status = "disabled"; |
1046 | ti,hwmods = "dss_dsi2"; | 1062 | ti,hwmods = "dss_dsi2"; |
1047 | clocks = <&dss_dss_clk>, <&dss_sys_clk>; | 1063 | clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, |
1064 | <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; | ||
1048 | clock-names = "fck", "sys_clk"; | 1065 | clock-names = "fck", "sys_clk"; |
1049 | }; | 1066 | }; |
1050 | 1067 | ||
@@ -1058,7 +1075,8 @@ | |||
1058 | interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | 1075 | interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; |
1059 | status = "disabled"; | 1076 | status = "disabled"; |
1060 | ti,hwmods = "dss_hdmi"; | 1077 | ti,hwmods = "dss_hdmi"; |
1061 | clocks = <&dss_48mhz_clk>, <&dss_sys_clk>; | 1078 | clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>, |
1079 | <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; | ||
1062 | clock-names = "fck", "sys_clk"; | 1080 | clock-names = "fck", "sys_clk"; |
1063 | dmas = <&sdma 76>; | 1081 | dmas = <&sdma 76>; |
1064 | dma-names = "audio_tx"; | 1082 | dma-names = "audio_tx"; |
@@ -1132,7 +1150,7 @@ | |||
1132 | coefficients = <65 (-1791)>; | 1150 | coefficients = <65 (-1791)>; |
1133 | }; | 1151 | }; |
1134 | 1152 | ||
1135 | /include/ "omap54xx-clocks.dtsi" | 1153 | #include "omap54xx-clocks.dtsi" |
1136 | 1154 | ||
1137 | &gpu_thermal { | 1155 | &gpu_thermal { |
1138 | coefficients = <117 (-2992)>; | 1156 | coefficients = <117 (-2992)>; |
diff --git a/arch/arm/boot/dts/omap54xx-clocks.dtsi b/arch/arm/boot/dts/omap54xx-clocks.dtsi index 529193442620..9619a746d657 100644 --- a/arch/arm/boot/dts/omap54xx-clocks.dtsi +++ b/arch/arm/boot/dts/omap54xx-clocks.dtsi | |||
@@ -432,22 +432,6 @@ | |||
432 | reg = <0x0528>; | 432 | reg = <0x0528>; |
433 | }; | 433 | }; |
434 | 434 | ||
435 | dmic_sync_mux_ck: dmic_sync_mux_ck@538 { | ||
436 | #clock-cells = <0>; | ||
437 | compatible = "ti,mux-clock"; | ||
438 | clocks = <&abe_24m_fclk>, <&dss_syc_gfclk_div>, <&func_24m_clk>; | ||
439 | ti,bit-shift = <26>; | ||
440 | reg = <0x0538>; | ||
441 | }; | ||
442 | |||
443 | dmic_gfclk: dmic_gfclk@538 { | ||
444 | #clock-cells = <0>; | ||
445 | compatible = "ti,mux-clock"; | ||
446 | clocks = <&dmic_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
447 | ti,bit-shift = <24>; | ||
448 | reg = <0x0538>; | ||
449 | }; | ||
450 | |||
451 | mcasp_sync_mux_ck: mcasp_sync_mux_ck@540 { | 435 | mcasp_sync_mux_ck: mcasp_sync_mux_ck@540 { |
452 | #clock-cells = <0>; | 436 | #clock-cells = <0>; |
453 | compatible = "ti,mux-clock"; | 437 | compatible = "ti,mux-clock"; |
@@ -464,86 +448,6 @@ | |||
464 | reg = <0x0540>; | 448 | reg = <0x0540>; |
465 | }; | 449 | }; |
466 | 450 | ||
467 | mcbsp1_sync_mux_ck: mcbsp1_sync_mux_ck@548 { | ||
468 | #clock-cells = <0>; | ||
469 | compatible = "ti,mux-clock"; | ||
470 | clocks = <&abe_24m_fclk>, <&dss_syc_gfclk_div>, <&func_24m_clk>; | ||
471 | ti,bit-shift = <26>; | ||
472 | reg = <0x0548>; | ||
473 | }; | ||
474 | |||
475 | mcbsp1_gfclk: mcbsp1_gfclk@548 { | ||
476 | #clock-cells = <0>; | ||
477 | compatible = "ti,mux-clock"; | ||
478 | clocks = <&mcbsp1_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
479 | ti,bit-shift = <24>; | ||
480 | reg = <0x0548>; | ||
481 | }; | ||
482 | |||
483 | mcbsp2_sync_mux_ck: mcbsp2_sync_mux_ck@550 { | ||
484 | #clock-cells = <0>; | ||
485 | compatible = "ti,mux-clock"; | ||
486 | clocks = <&abe_24m_fclk>, <&dss_syc_gfclk_div>, <&func_24m_clk>; | ||
487 | ti,bit-shift = <26>; | ||
488 | reg = <0x0550>; | ||
489 | }; | ||
490 | |||
491 | mcbsp2_gfclk: mcbsp2_gfclk@550 { | ||
492 | #clock-cells = <0>; | ||
493 | compatible = "ti,mux-clock"; | ||
494 | clocks = <&mcbsp2_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
495 | ti,bit-shift = <24>; | ||
496 | reg = <0x0550>; | ||
497 | }; | ||
498 | |||
499 | mcbsp3_sync_mux_ck: mcbsp3_sync_mux_ck@558 { | ||
500 | #clock-cells = <0>; | ||
501 | compatible = "ti,mux-clock"; | ||
502 | clocks = <&abe_24m_fclk>, <&dss_syc_gfclk_div>, <&func_24m_clk>; | ||
503 | ti,bit-shift = <26>; | ||
504 | reg = <0x0558>; | ||
505 | }; | ||
506 | |||
507 | mcbsp3_gfclk: mcbsp3_gfclk@558 { | ||
508 | #clock-cells = <0>; | ||
509 | compatible = "ti,mux-clock"; | ||
510 | clocks = <&mcbsp3_sync_mux_ck>, <&pad_clks_ck>, <&slimbus_clk>; | ||
511 | ti,bit-shift = <24>; | ||
512 | reg = <0x0558>; | ||
513 | }; | ||
514 | |||
515 | timer5_gfclk_mux: timer5_gfclk_mux@568 { | ||
516 | #clock-cells = <0>; | ||
517 | compatible = "ti,mux-clock"; | ||
518 | clocks = <&dss_syc_gfclk_div>, <&sys_32k_ck>; | ||
519 | ti,bit-shift = <24>; | ||
520 | reg = <0x0568>; | ||
521 | }; | ||
522 | |||
523 | timer6_gfclk_mux: timer6_gfclk_mux@570 { | ||
524 | #clock-cells = <0>; | ||
525 | compatible = "ti,mux-clock"; | ||
526 | clocks = <&dss_syc_gfclk_div>, <&sys_32k_ck>; | ||
527 | ti,bit-shift = <24>; | ||
528 | reg = <0x0570>; | ||
529 | }; | ||
530 | |||
531 | timer7_gfclk_mux: timer7_gfclk_mux@578 { | ||
532 | #clock-cells = <0>; | ||
533 | compatible = "ti,mux-clock"; | ||
534 | clocks = <&dss_syc_gfclk_div>, <&sys_32k_ck>; | ||
535 | ti,bit-shift = <24>; | ||
536 | reg = <0x0578>; | ||
537 | }; | ||
538 | |||
539 | timer8_gfclk_mux: timer8_gfclk_mux@580 { | ||
540 | #clock-cells = <0>; | ||
541 | compatible = "ti,mux-clock"; | ||
542 | clocks = <&dss_syc_gfclk_div>, <&sys_32k_ck>; | ||
543 | ti,bit-shift = <24>; | ||
544 | reg = <0x0580>; | ||
545 | }; | ||
546 | |||
547 | dummy_ck: dummy_ck { | 451 | dummy_ck: dummy_ck { |
548 | #clock-cells = <0>; | 452 | #clock-cells = <0>; |
549 | compatible = "fixed-clock"; | 453 | compatible = "fixed-clock"; |
@@ -603,23 +507,8 @@ | |||
603 | clock-mult = <1>; | 507 | clock-mult = <1>; |
604 | clock-div = <1>; | 508 | clock-div = <1>; |
605 | }; | 509 | }; |
606 | |||
607 | gpio1_dbclk: gpio1_dbclk@1938 { | ||
608 | #clock-cells = <0>; | ||
609 | compatible = "ti,gate-clock"; | ||
610 | clocks = <&sys_32k_ck>; | ||
611 | ti,bit-shift = <8>; | ||
612 | reg = <0x1938>; | ||
613 | }; | ||
614 | |||
615 | timer1_gfclk_mux: timer1_gfclk_mux@1940 { | ||
616 | #clock-cells = <0>; | ||
617 | compatible = "ti,mux-clock"; | ||
618 | clocks = <&sys_clkin>, <&sys_32k_ck>; | ||
619 | ti,bit-shift = <24>; | ||
620 | reg = <0x1940>; | ||
621 | }; | ||
622 | }; | 510 | }; |
511 | |||
623 | &cm_core_clocks { | 512 | &cm_core_clocks { |
624 | 513 | ||
625 | dpll_per_byp_mux: dpll_per_byp_mux@14c { | 514 | dpll_per_byp_mux: dpll_per_byp_mux@14c { |
@@ -825,95 +714,6 @@ | |||
825 | ti,dividers = <1>, <8>; | 714 | ti,dividers = <1>, <8>; |
826 | }; | 715 | }; |
827 | 716 | ||
828 | dss_32khz_clk: dss_32khz_clk@1420 { | ||
829 | #clock-cells = <0>; | ||
830 | compatible = "ti,gate-clock"; | ||
831 | clocks = <&sys_32k_ck>; | ||
832 | ti,bit-shift = <11>; | ||
833 | reg = <0x1420>; | ||
834 | }; | ||
835 | |||
836 | dss_48mhz_clk: dss_48mhz_clk@1420 { | ||
837 | #clock-cells = <0>; | ||
838 | compatible = "ti,gate-clock"; | ||
839 | clocks = <&func_48m_fclk>; | ||
840 | ti,bit-shift = <9>; | ||
841 | reg = <0x1420>; | ||
842 | }; | ||
843 | |||
844 | dss_dss_clk: dss_dss_clk@1420 { | ||
845 | #clock-cells = <0>; | ||
846 | compatible = "ti,gate-clock"; | ||
847 | clocks = <&dpll_per_h12x2_ck>; | ||
848 | ti,bit-shift = <8>; | ||
849 | reg = <0x1420>; | ||
850 | ti,set-rate-parent; | ||
851 | }; | ||
852 | |||
853 | dss_sys_clk: dss_sys_clk@1420 { | ||
854 | #clock-cells = <0>; | ||
855 | compatible = "ti,gate-clock"; | ||
856 | clocks = <&dss_syc_gfclk_div>; | ||
857 | ti,bit-shift = <10>; | ||
858 | reg = <0x1420>; | ||
859 | }; | ||
860 | |||
861 | gpio2_dbclk: gpio2_dbclk@1060 { | ||
862 | #clock-cells = <0>; | ||
863 | compatible = "ti,gate-clock"; | ||
864 | clocks = <&sys_32k_ck>; | ||
865 | ti,bit-shift = <8>; | ||
866 | reg = <0x1060>; | ||
867 | }; | ||
868 | |||
869 | gpio3_dbclk: gpio3_dbclk@1068 { | ||
870 | #clock-cells = <0>; | ||
871 | compatible = "ti,gate-clock"; | ||
872 | clocks = <&sys_32k_ck>; | ||
873 | ti,bit-shift = <8>; | ||
874 | reg = <0x1068>; | ||
875 | }; | ||
876 | |||
877 | gpio4_dbclk: gpio4_dbclk@1070 { | ||
878 | #clock-cells = <0>; | ||
879 | compatible = "ti,gate-clock"; | ||
880 | clocks = <&sys_32k_ck>; | ||
881 | ti,bit-shift = <8>; | ||
882 | reg = <0x1070>; | ||
883 | }; | ||
884 | |||
885 | gpio5_dbclk: gpio5_dbclk@1078 { | ||
886 | #clock-cells = <0>; | ||
887 | compatible = "ti,gate-clock"; | ||
888 | clocks = <&sys_32k_ck>; | ||
889 | ti,bit-shift = <8>; | ||
890 | reg = <0x1078>; | ||
891 | }; | ||
892 | |||
893 | gpio6_dbclk: gpio6_dbclk@1080 { | ||
894 | #clock-cells = <0>; | ||
895 | compatible = "ti,gate-clock"; | ||
896 | clocks = <&sys_32k_ck>; | ||
897 | ti,bit-shift = <8>; | ||
898 | reg = <0x1080>; | ||
899 | }; | ||
900 | |||
901 | gpio7_dbclk: gpio7_dbclk@1110 { | ||
902 | #clock-cells = <0>; | ||
903 | compatible = "ti,gate-clock"; | ||
904 | clocks = <&sys_32k_ck>; | ||
905 | ti,bit-shift = <8>; | ||
906 | reg = <0x1110>; | ||
907 | }; | ||
908 | |||
909 | gpio8_dbclk: gpio8_dbclk@1118 { | ||
910 | #clock-cells = <0>; | ||
911 | compatible = "ti,gate-clock"; | ||
912 | clocks = <&sys_32k_ck>; | ||
913 | ti,bit-shift = <8>; | ||
914 | reg = <0x1118>; | ||
915 | }; | ||
916 | |||
917 | iss_ctrlclk: iss_ctrlclk@1320 { | 717 | iss_ctrlclk: iss_ctrlclk@1320 { |
918 | #clock-cells = <0>; | 718 | #clock-cells = <0>; |
919 | compatible = "ti,gate-clock"; | 719 | compatible = "ti,gate-clock"; |
@@ -938,118 +738,6 @@ | |||
938 | reg = <0x0f20>; | 738 | reg = <0x0f20>; |
939 | }; | 739 | }; |
940 | 740 | ||
941 | mmc1_32khz_clk: mmc1_32khz_clk@1628 { | ||
942 | #clock-cells = <0>; | ||
943 | compatible = "ti,gate-clock"; | ||
944 | clocks = <&sys_32k_ck>; | ||
945 | ti,bit-shift = <8>; | ||
946 | reg = <0x1628>; | ||
947 | }; | ||
948 | |||
949 | sata_ref_clk: sata_ref_clk@1688 { | ||
950 | #clock-cells = <0>; | ||
951 | compatible = "ti,gate-clock"; | ||
952 | clocks = <&sys_clkin>; | ||
953 | ti,bit-shift = <8>; | ||
954 | reg = <0x1688>; | ||
955 | }; | ||
956 | |||
957 | usb_host_hs_hsic480m_p1_clk: usb_host_hs_hsic480m_p1_clk@1658 { | ||
958 | #clock-cells = <0>; | ||
959 | compatible = "ti,gate-clock"; | ||
960 | clocks = <&dpll_usb_m2_ck>; | ||
961 | ti,bit-shift = <13>; | ||
962 | reg = <0x1658>; | ||
963 | }; | ||
964 | |||
965 | usb_host_hs_hsic480m_p2_clk: usb_host_hs_hsic480m_p2_clk@1658 { | ||
966 | #clock-cells = <0>; | ||
967 | compatible = "ti,gate-clock"; | ||
968 | clocks = <&dpll_usb_m2_ck>; | ||
969 | ti,bit-shift = <14>; | ||
970 | reg = <0x1658>; | ||
971 | }; | ||
972 | |||
973 | usb_host_hs_hsic480m_p3_clk: usb_host_hs_hsic480m_p3_clk@1658 { | ||
974 | #clock-cells = <0>; | ||
975 | compatible = "ti,gate-clock"; | ||
976 | clocks = <&dpll_usb_m2_ck>; | ||
977 | ti,bit-shift = <7>; | ||
978 | reg = <0x1658>; | ||
979 | }; | ||
980 | |||
981 | usb_host_hs_hsic60m_p1_clk: usb_host_hs_hsic60m_p1_clk@1658 { | ||
982 | #clock-cells = <0>; | ||
983 | compatible = "ti,gate-clock"; | ||
984 | clocks = <&l3init_60m_fclk>; | ||
985 | ti,bit-shift = <11>; | ||
986 | reg = <0x1658>; | ||
987 | }; | ||
988 | |||
989 | usb_host_hs_hsic60m_p2_clk: usb_host_hs_hsic60m_p2_clk@1658 { | ||
990 | #clock-cells = <0>; | ||
991 | compatible = "ti,gate-clock"; | ||
992 | clocks = <&l3init_60m_fclk>; | ||
993 | ti,bit-shift = <12>; | ||
994 | reg = <0x1658>; | ||
995 | }; | ||
996 | |||
997 | usb_host_hs_hsic60m_p3_clk: usb_host_hs_hsic60m_p3_clk@1658 { | ||
998 | #clock-cells = <0>; | ||
999 | compatible = "ti,gate-clock"; | ||
1000 | clocks = <&l3init_60m_fclk>; | ||
1001 | ti,bit-shift = <6>; | ||
1002 | reg = <0x1658>; | ||
1003 | }; | ||
1004 | |||
1005 | utmi_p1_gfclk: utmi_p1_gfclk@1658 { | ||
1006 | #clock-cells = <0>; | ||
1007 | compatible = "ti,mux-clock"; | ||
1008 | clocks = <&l3init_60m_fclk>, <&xclk60mhsp1_ck>; | ||
1009 | ti,bit-shift = <24>; | ||
1010 | reg = <0x1658>; | ||
1011 | }; | ||
1012 | |||
1013 | usb_host_hs_utmi_p1_clk: usb_host_hs_utmi_p1_clk@1658 { | ||
1014 | #clock-cells = <0>; | ||
1015 | compatible = "ti,gate-clock"; | ||
1016 | clocks = <&utmi_p1_gfclk>; | ||
1017 | ti,bit-shift = <8>; | ||
1018 | reg = <0x1658>; | ||
1019 | }; | ||
1020 | |||
1021 | utmi_p2_gfclk: utmi_p2_gfclk@1658 { | ||
1022 | #clock-cells = <0>; | ||
1023 | compatible = "ti,mux-clock"; | ||
1024 | clocks = <&l3init_60m_fclk>, <&xclk60mhsp2_ck>; | ||
1025 | ti,bit-shift = <25>; | ||
1026 | reg = <0x1658>; | ||
1027 | }; | ||
1028 | |||
1029 | usb_host_hs_utmi_p2_clk: usb_host_hs_utmi_p2_clk@1658 { | ||
1030 | #clock-cells = <0>; | ||
1031 | compatible = "ti,gate-clock"; | ||
1032 | clocks = <&utmi_p2_gfclk>; | ||
1033 | ti,bit-shift = <9>; | ||
1034 | reg = <0x1658>; | ||
1035 | }; | ||
1036 | |||
1037 | usb_host_hs_utmi_p3_clk: usb_host_hs_utmi_p3_clk@1658 { | ||
1038 | #clock-cells = <0>; | ||
1039 | compatible = "ti,gate-clock"; | ||
1040 | clocks = <&l3init_60m_fclk>; | ||
1041 | ti,bit-shift = <10>; | ||
1042 | reg = <0x1658>; | ||
1043 | }; | ||
1044 | |||
1045 | usb_otg_ss_refclk960m: usb_otg_ss_refclk960m@16f0 { | ||
1046 | #clock-cells = <0>; | ||
1047 | compatible = "ti,gate-clock"; | ||
1048 | clocks = <&dpll_usb_clkdcoldo>; | ||
1049 | ti,bit-shift = <8>; | ||
1050 | reg = <0x16f0>; | ||
1051 | }; | ||
1052 | |||
1053 | usb_phy_cm_clk32k: usb_phy_cm_clk32k@640 { | 741 | usb_phy_cm_clk32k: usb_phy_cm_clk32k@640 { |
1054 | #clock-cells = <0>; | 742 | #clock-cells = <0>; |
1055 | compatible = "ti,gate-clock"; | 743 | compatible = "ti,gate-clock"; |
@@ -1058,30 +746,6 @@ | |||
1058 | reg = <0x0640>; | 746 | reg = <0x0640>; |
1059 | }; | 747 | }; |
1060 | 748 | ||
1061 | usb_tll_hs_usb_ch0_clk: usb_tll_hs_usb_ch0_clk@1668 { | ||
1062 | #clock-cells = <0>; | ||
1063 | compatible = "ti,gate-clock"; | ||
1064 | clocks = <&l3init_60m_fclk>; | ||
1065 | ti,bit-shift = <8>; | ||
1066 | reg = <0x1668>; | ||
1067 | }; | ||
1068 | |||
1069 | usb_tll_hs_usb_ch1_clk: usb_tll_hs_usb_ch1_clk@1668 { | ||
1070 | #clock-cells = <0>; | ||
1071 | compatible = "ti,gate-clock"; | ||
1072 | clocks = <&l3init_60m_fclk>; | ||
1073 | ti,bit-shift = <9>; | ||
1074 | reg = <0x1668>; | ||
1075 | }; | ||
1076 | |||
1077 | usb_tll_hs_usb_ch2_clk: usb_tll_hs_usb_ch2_clk@1668 { | ||
1078 | #clock-cells = <0>; | ||
1079 | compatible = "ti,gate-clock"; | ||
1080 | clocks = <&l3init_60m_fclk>; | ||
1081 | ti,bit-shift = <10>; | ||
1082 | reg = <0x1668>; | ||
1083 | }; | ||
1084 | |||
1085 | fdif_fclk: fdif_fclk@1328 { | 749 | fdif_fclk: fdif_fclk@1328 { |
1086 | #clock-cells = <0>; | 750 | #clock-cells = <0>; |
1087 | compatible = "ti,divider-clock"; | 751 | compatible = "ti,divider-clock"; |
@@ -1115,88 +779,6 @@ | |||
1115 | ti,max-div = <2>; | 779 | ti,max-div = <2>; |
1116 | reg = <0x1638>; | 780 | reg = <0x1638>; |
1117 | }; | 781 | }; |
1118 | |||
1119 | mmc1_fclk_mux: mmc1_fclk_mux@1628 { | ||
1120 | #clock-cells = <0>; | ||
1121 | compatible = "ti,mux-clock"; | ||
1122 | clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>; | ||
1123 | ti,bit-shift = <24>; | ||
1124 | reg = <0x1628>; | ||
1125 | }; | ||
1126 | |||
1127 | mmc1_fclk: mmc1_fclk@1628 { | ||
1128 | #clock-cells = <0>; | ||
1129 | compatible = "ti,divider-clock"; | ||
1130 | clocks = <&mmc1_fclk_mux>; | ||
1131 | ti,bit-shift = <25>; | ||
1132 | ti,max-div = <2>; | ||
1133 | reg = <0x1628>; | ||
1134 | }; | ||
1135 | |||
1136 | mmc2_fclk_mux: mmc2_fclk_mux@1630 { | ||
1137 | #clock-cells = <0>; | ||
1138 | compatible = "ti,mux-clock"; | ||
1139 | clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>; | ||
1140 | ti,bit-shift = <24>; | ||
1141 | reg = <0x1630>; | ||
1142 | }; | ||
1143 | |||
1144 | mmc2_fclk: mmc2_fclk@1630 { | ||
1145 | #clock-cells = <0>; | ||
1146 | compatible = "ti,divider-clock"; | ||
1147 | clocks = <&mmc2_fclk_mux>; | ||
1148 | ti,bit-shift = <25>; | ||
1149 | ti,max-div = <2>; | ||
1150 | reg = <0x1630>; | ||
1151 | }; | ||
1152 | |||
1153 | timer10_gfclk_mux: timer10_gfclk_mux@1028 { | ||
1154 | #clock-cells = <0>; | ||
1155 | compatible = "ti,mux-clock"; | ||
1156 | clocks = <&sys_clkin>, <&sys_32k_ck>; | ||
1157 | ti,bit-shift = <24>; | ||
1158 | reg = <0x1028>; | ||
1159 | }; | ||
1160 | |||
1161 | timer11_gfclk_mux: timer11_gfclk_mux@1030 { | ||
1162 | #clock-cells = <0>; | ||
1163 | compatible = "ti,mux-clock"; | ||
1164 | clocks = <&sys_clkin>, <&sys_32k_ck>; | ||
1165 | ti,bit-shift = <24>; | ||
1166 | reg = <0x1030>; | ||
1167 | }; | ||
1168 | |||
1169 | timer2_gfclk_mux: timer2_gfclk_mux@1038 { | ||
1170 | #clock-cells = <0>; | ||
1171 | compatible = "ti,mux-clock"; | ||
1172 | clocks = <&sys_clkin>, <&sys_32k_ck>; | ||
1173 | ti,bit-shift = <24>; | ||
1174 | reg = <0x1038>; | ||
1175 | }; | ||
1176 | |||
1177 | timer3_gfclk_mux: timer3_gfclk_mux@1040 { | ||
1178 | #clock-cells = <0>; | ||
1179 | compatible = "ti,mux-clock"; | ||
1180 | clocks = <&sys_clkin>, <&sys_32k_ck>; | ||
1181 | ti,bit-shift = <24>; | ||
1182 | reg = <0x1040>; | ||
1183 | }; | ||
1184 | |||
1185 | timer4_gfclk_mux: timer4_gfclk_mux@1048 { | ||
1186 | #clock-cells = <0>; | ||
1187 | compatible = "ti,mux-clock"; | ||
1188 | clocks = <&sys_clkin>, <&sys_32k_ck>; | ||
1189 | ti,bit-shift = <24>; | ||
1190 | reg = <0x1048>; | ||
1191 | }; | ||
1192 | |||
1193 | timer9_gfclk_mux: timer9_gfclk_mux@1050 { | ||
1194 | #clock-cells = <0>; | ||
1195 | compatible = "ti,mux-clock"; | ||
1196 | clocks = <&sys_clkin>, <&sys_32k_ck>; | ||
1197 | ti,bit-shift = <24>; | ||
1198 | reg = <0x1050>; | ||
1199 | }; | ||
1200 | }; | 782 | }; |
1201 | 783 | ||
1202 | &cm_core_clockdomains { | 784 | &cm_core_clockdomains { |
@@ -1394,3 +976,206 @@ | |||
1394 | reg = <0x021c>; | 976 | reg = <0x021c>; |
1395 | }; | 977 | }; |
1396 | }; | 978 | }; |
979 | |||
980 | &cm_core_aon { | ||
981 | mpu_cm: mpu_cm@300 { | ||
982 | compatible = "ti,omap4-cm"; | ||
983 | reg = <0x300 0x100>; | ||
984 | #address-cells = <1>; | ||
985 | #size-cells = <1>; | ||
986 | ranges = <0 0x300 0x100>; | ||
987 | |||
988 | mpu_clkctrl: clk@20 { | ||
989 | compatible = "ti,clkctrl"; | ||
990 | reg = <0x20 0x4>; | ||
991 | #clock-cells = <2>; | ||
992 | }; | ||
993 | }; | ||
994 | |||
995 | dsp_cm: dsp_cm@400 { | ||
996 | compatible = "ti,omap4-cm"; | ||
997 | reg = <0x400 0x100>; | ||
998 | #address-cells = <1>; | ||
999 | #size-cells = <1>; | ||
1000 | ranges = <0 0x400 0x100>; | ||
1001 | |||
1002 | dsp_clkctrl: clk@20 { | ||
1003 | compatible = "ti,clkctrl"; | ||
1004 | reg = <0x20 0x4>; | ||
1005 | #clock-cells = <2>; | ||
1006 | }; | ||
1007 | }; | ||
1008 | |||
1009 | abe_cm: abe_cm@500 { | ||
1010 | compatible = "ti,omap4-cm"; | ||
1011 | reg = <0x500 0x100>; | ||
1012 | #address-cells = <1>; | ||
1013 | #size-cells = <1>; | ||
1014 | ranges = <0 0x500 0x100>; | ||
1015 | |||
1016 | abe_clkctrl: clk@20 { | ||
1017 | compatible = "ti,clkctrl"; | ||
1018 | reg = <0x20 0x64>; | ||
1019 | #clock-cells = <2>; | ||
1020 | }; | ||
1021 | }; | ||
1022 | |||
1023 | }; | ||
1024 | |||
1025 | &cm_core { | ||
1026 | l3main1_cm: l3main1_cm@700 { | ||
1027 | compatible = "ti,omap4-cm"; | ||
1028 | reg = <0x700 0x100>; | ||
1029 | #address-cells = <1>; | ||
1030 | #size-cells = <1>; | ||
1031 | ranges = <0 0x700 0x100>; | ||
1032 | |||
1033 | l3main1_clkctrl: clk@20 { | ||
1034 | compatible = "ti,clkctrl"; | ||
1035 | reg = <0x20 0x4>; | ||
1036 | #clock-cells = <2>; | ||
1037 | }; | ||
1038 | }; | ||
1039 | |||
1040 | l3main2_cm: l3main2_cm@800 { | ||
1041 | compatible = "ti,omap4-cm"; | ||
1042 | reg = <0x800 0x100>; | ||
1043 | #address-cells = <1>; | ||
1044 | #size-cells = <1>; | ||
1045 | ranges = <0 0x800 0x100>; | ||
1046 | |||
1047 | l3main2_clkctrl: clk@20 { | ||
1048 | compatible = "ti,clkctrl"; | ||
1049 | reg = <0x20 0x4>; | ||
1050 | #clock-cells = <2>; | ||
1051 | }; | ||
1052 | }; | ||
1053 | |||
1054 | ipu_cm: ipu_cm@900 { | ||
1055 | compatible = "ti,omap4-cm"; | ||
1056 | reg = <0x900 0x100>; | ||
1057 | #address-cells = <1>; | ||
1058 | #size-cells = <1>; | ||
1059 | ranges = <0 0x900 0x100>; | ||
1060 | |||
1061 | ipu_clkctrl: clk@20 { | ||
1062 | compatible = "ti,clkctrl"; | ||
1063 | reg = <0x20 0x4>; | ||
1064 | #clock-cells = <2>; | ||
1065 | }; | ||
1066 | }; | ||
1067 | |||
1068 | dma_cm: dma_cm@a00 { | ||
1069 | compatible = "ti,omap4-cm"; | ||
1070 | reg = <0xa00 0x100>; | ||
1071 | #address-cells = <1>; | ||
1072 | #size-cells = <1>; | ||
1073 | ranges = <0 0xa00 0x100>; | ||
1074 | |||
1075 | dma_clkctrl: clk@20 { | ||
1076 | compatible = "ti,clkctrl"; | ||
1077 | reg = <0x20 0x4>; | ||
1078 | #clock-cells = <2>; | ||
1079 | }; | ||
1080 | }; | ||
1081 | |||
1082 | emif_cm: emif_cm@b00 { | ||
1083 | compatible = "ti,omap4-cm"; | ||
1084 | reg = <0xb00 0x100>; | ||
1085 | #address-cells = <1>; | ||
1086 | #size-cells = <1>; | ||
1087 | ranges = <0 0xb00 0x100>; | ||
1088 | |||
1089 | emif_clkctrl: clk@20 { | ||
1090 | compatible = "ti,clkctrl"; | ||
1091 | reg = <0x20 0x1c>; | ||
1092 | #clock-cells = <2>; | ||
1093 | }; | ||
1094 | }; | ||
1095 | |||
1096 | l4cfg_cm: l4cfg_cm@d00 { | ||
1097 | compatible = "ti,omap4-cm"; | ||
1098 | reg = <0xd00 0x100>; | ||
1099 | #address-cells = <1>; | ||
1100 | #size-cells = <1>; | ||
1101 | ranges = <0 0xd00 0x100>; | ||
1102 | |||
1103 | l4cfg_clkctrl: clk@20 { | ||
1104 | compatible = "ti,clkctrl"; | ||
1105 | reg = <0x20 0x14>; | ||
1106 | #clock-cells = <2>; | ||
1107 | }; | ||
1108 | }; | ||
1109 | |||
1110 | l3instr_cm: l3instr_cm@e00 { | ||
1111 | compatible = "ti,omap4-cm"; | ||
1112 | reg = <0xe00 0x100>; | ||
1113 | #address-cells = <1>; | ||
1114 | #size-cells = <1>; | ||
1115 | ranges = <0 0xe00 0x100>; | ||
1116 | |||
1117 | l3instr_clkctrl: clk@20 { | ||
1118 | compatible = "ti,clkctrl"; | ||
1119 | reg = <0x20 0xc>; | ||
1120 | #clock-cells = <2>; | ||
1121 | }; | ||
1122 | }; | ||
1123 | |||
1124 | l4per_cm: l4per_cm@1000 { | ||
1125 | compatible = "ti,omap4-cm"; | ||
1126 | reg = <0x1000 0x200>; | ||
1127 | #address-cells = <1>; | ||
1128 | #size-cells = <1>; | ||
1129 | ranges = <0 0x1000 0x200>; | ||
1130 | |||
1131 | l4per_clkctrl: clk@20 { | ||
1132 | compatible = "ti,clkctrl"; | ||
1133 | reg = <0x20 0x15c>; | ||
1134 | #clock-cells = <2>; | ||
1135 | }; | ||
1136 | }; | ||
1137 | |||
1138 | dss_cm: dss_cm@1400 { | ||
1139 | compatible = "ti,omap4-cm"; | ||
1140 | reg = <0x1400 0x100>; | ||
1141 | #address-cells = <1>; | ||
1142 | #size-cells = <1>; | ||
1143 | ranges = <0 0x1400 0x100>; | ||
1144 | |||
1145 | dss_clkctrl: clk@20 { | ||
1146 | compatible = "ti,clkctrl"; | ||
1147 | reg = <0x20 0x4>; | ||
1148 | #clock-cells = <2>; | ||
1149 | }; | ||
1150 | }; | ||
1151 | |||
1152 | l3init_cm: l3init_cm@1600 { | ||
1153 | compatible = "ti,omap4-cm"; | ||
1154 | reg = <0x1600 0x100>; | ||
1155 | #address-cells = <1>; | ||
1156 | #size-cells = <1>; | ||
1157 | ranges = <0 0x1600 0x100>; | ||
1158 | |||
1159 | l3init_clkctrl: clk@20 { | ||
1160 | compatible = "ti,clkctrl"; | ||
1161 | reg = <0x20 0xd4>; | ||
1162 | #clock-cells = <2>; | ||
1163 | }; | ||
1164 | }; | ||
1165 | }; | ||
1166 | |||
1167 | &prm { | ||
1168 | wkupaon_cm: wkupaon_cm@1900 { | ||
1169 | compatible = "ti,omap4-cm"; | ||
1170 | reg = <0x1900 0x100>; | ||
1171 | #address-cells = <1>; | ||
1172 | #size-cells = <1>; | ||
1173 | ranges = <0 0x1900 0x100>; | ||
1174 | |||
1175 | wkupaon_clkctrl: clk@20 { | ||
1176 | compatible = "ti,clkctrl"; | ||
1177 | reg = <0x20 0x5c>; | ||
1178 | #clock-cells = <2>; | ||
1179 | }; | ||
1180 | }; | ||
1181 | }; | ||
diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c index 518926410b62..b79b1ca9aee9 100644 --- a/arch/arm/mach-omap2/clockdomain.c +++ b/arch/arm/mach-omap2/clockdomain.c | |||
@@ -1224,14 +1224,6 @@ ccd_exit: | |||
1224 | return 0; | 1224 | return 0; |
1225 | } | 1225 | } |
1226 | 1226 | ||
1227 | u32 clkdm_xlate_address(struct clockdomain *clkdm) | ||
1228 | { | ||
1229 | if (arch_clkdm->clkdm_xlate_address) | ||
1230 | return arch_clkdm->clkdm_xlate_address(clkdm); | ||
1231 | |||
1232 | return 0; | ||
1233 | } | ||
1234 | |||
1235 | /** | 1227 | /** |
1236 | * clkdm_hwmod_enable - add an enabled downstream hwmod to this clkdm | 1228 | * clkdm_hwmod_enable - add an enabled downstream hwmod to this clkdm |
1237 | * @clkdm: struct clockdomain * | 1229 | * @clkdm: struct clockdomain * |
diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h index 827f01e2d0af..24667a5a9dc0 100644 --- a/arch/arm/mach-omap2/clockdomain.h +++ b/arch/arm/mach-omap2/clockdomain.h | |||
@@ -175,7 +175,6 @@ struct clkdm_ops { | |||
175 | void (*clkdm_deny_idle)(struct clockdomain *clkdm); | 175 | void (*clkdm_deny_idle)(struct clockdomain *clkdm); |
176 | int (*clkdm_clk_enable)(struct clockdomain *clkdm); | 176 | int (*clkdm_clk_enable)(struct clockdomain *clkdm); |
177 | int (*clkdm_clk_disable)(struct clockdomain *clkdm); | 177 | int (*clkdm_clk_disable)(struct clockdomain *clkdm); |
178 | u32 (*clkdm_xlate_address)(struct clockdomain *clkdm); | ||
179 | }; | 178 | }; |
180 | 179 | ||
181 | int clkdm_register_platform_funcs(struct clkdm_ops *co); | 180 | int clkdm_register_platform_funcs(struct clkdm_ops *co); |
@@ -214,7 +213,6 @@ int clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk); | |||
214 | int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk); | 213 | int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk); |
215 | int clkdm_hwmod_enable(struct clockdomain *clkdm, struct omap_hwmod *oh); | 214 | int clkdm_hwmod_enable(struct clockdomain *clkdm, struct omap_hwmod *oh); |
216 | int clkdm_hwmod_disable(struct clockdomain *clkdm, struct omap_hwmod *oh); | 215 | int clkdm_hwmod_disable(struct clockdomain *clkdm, struct omap_hwmod *oh); |
217 | u32 clkdm_xlate_address(struct clockdomain *clkdm); | ||
218 | 216 | ||
219 | extern void __init omap242x_clockdomains_init(void); | 217 | extern void __init omap242x_clockdomains_init(void); |
220 | extern void __init omap243x_clockdomains_init(void); | 218 | extern void __init omap243x_clockdomains_init(void); |
diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h index e833984cc85e..b19e83d53501 100644 --- a/arch/arm/mach-omap2/cm.h +++ b/arch/arm/mach-omap2/cm.h | |||
@@ -52,6 +52,7 @@ extern void omap2_set_globals_cm(void __iomem *cm, void __iomem *cm2); | |||
52 | * @wait_module_idle: ptr to the SoC CM-specific wait_module_idle impl | 52 | * @wait_module_idle: ptr to the SoC CM-specific wait_module_idle impl |
53 | * @module_enable: ptr to the SoC CM-specific module_enable impl | 53 | * @module_enable: ptr to the SoC CM-specific module_enable impl |
54 | * @module_disable: ptr to the SoC CM-specific module_disable impl | 54 | * @module_disable: ptr to the SoC CM-specific module_disable impl |
55 | * @xlate_clkctrl: ptr to the SoC CM-specific clkctrl xlate addr impl | ||
55 | */ | 56 | */ |
56 | struct cm_ll_data { | 57 | struct cm_ll_data { |
57 | int (*split_idlest_reg)(struct clk_omap_reg *idlest_reg, s16 *prcm_inst, | 58 | int (*split_idlest_reg)(struct clk_omap_reg *idlest_reg, s16 *prcm_inst, |
@@ -62,6 +63,7 @@ struct cm_ll_data { | |||
62 | u8 idlest_shift); | 63 | u8 idlest_shift); |
63 | void (*module_enable)(u8 mode, u8 part, u16 inst, u16 clkctrl_offs); | 64 | void (*module_enable)(u8 mode, u8 part, u16 inst, u16 clkctrl_offs); |
64 | void (*module_disable)(u8 part, u16 inst, u16 clkctrl_offs); | 65 | void (*module_disable)(u8 part, u16 inst, u16 clkctrl_offs); |
66 | u32 (*xlate_clkctrl)(u8 part, u16 inst, u16 clkctrl_offs); | ||
65 | }; | 67 | }; |
66 | 68 | ||
67 | extern int cm_split_idlest_reg(struct clk_omap_reg *idlest_reg, s16 *prcm_inst, | 69 | extern int cm_split_idlest_reg(struct clk_omap_reg *idlest_reg, s16 *prcm_inst, |
@@ -72,8 +74,9 @@ int omap_cm_wait_module_idle(u8 part, s16 prcm_mod, u16 idlest_reg, | |||
72 | u8 idlest_shift); | 74 | u8 idlest_shift); |
73 | int omap_cm_module_enable(u8 mode, u8 part, u16 inst, u16 clkctrl_offs); | 75 | int omap_cm_module_enable(u8 mode, u8 part, u16 inst, u16 clkctrl_offs); |
74 | int omap_cm_module_disable(u8 part, u16 inst, u16 clkctrl_offs); | 76 | int omap_cm_module_disable(u8 part, u16 inst, u16 clkctrl_offs); |
75 | extern int cm_register(struct cm_ll_data *cld); | 77 | u32 omap_cm_xlate_clkctrl(u8 part, u16 inst, u16 clkctrl_offs); |
76 | extern int cm_unregister(struct cm_ll_data *cld); | 78 | extern int cm_register(const struct cm_ll_data *cld); |
79 | extern int cm_unregister(const struct cm_ll_data *cld); | ||
77 | int omap_cm_init(void); | 80 | int omap_cm_init(void); |
78 | int omap2_cm_base_init(void); | 81 | int omap2_cm_base_init(void); |
79 | 82 | ||
diff --git a/arch/arm/mach-omap2/cm2xxx.c b/arch/arm/mach-omap2/cm2xxx.c index cd90b4c6a06b..d5b87f42a96e 100644 --- a/arch/arm/mach-omap2/cm2xxx.c +++ b/arch/arm/mach-omap2/cm2xxx.c | |||
@@ -385,7 +385,7 @@ void omap2xxx_cm_set_mod_dividers(u32 mpu, u32 dsp, u32 gfx, u32 core, u32 mdm) | |||
385 | * | 385 | * |
386 | */ | 386 | */ |
387 | 387 | ||
388 | static struct cm_ll_data omap2xxx_cm_ll_data = { | 388 | static const struct cm_ll_data omap2xxx_cm_ll_data = { |
389 | .split_idlest_reg = &omap2xxx_cm_split_idlest_reg, | 389 | .split_idlest_reg = &omap2xxx_cm_split_idlest_reg, |
390 | .wait_module_ready = &omap2xxx_cm_wait_module_ready, | 390 | .wait_module_ready = &omap2xxx_cm_wait_module_ready, |
391 | }; | 391 | }; |
diff --git a/arch/arm/mach-omap2/cm33xx.c b/arch/arm/mach-omap2/cm33xx.c index a9e08d89104e..1cc0247a2cb5 100644 --- a/arch/arm/mach-omap2/cm33xx.c +++ b/arch/arm/mach-omap2/cm33xx.c | |||
@@ -333,6 +333,11 @@ static int am33xx_clkdm_clk_disable(struct clockdomain *clkdm) | |||
333 | return 0; | 333 | return 0; |
334 | } | 334 | } |
335 | 335 | ||
336 | static u32 am33xx_cm_xlate_clkctrl(u8 part, u16 inst, u16 offset) | ||
337 | { | ||
338 | return cm_base.pa + inst + offset; | ||
339 | } | ||
340 | |||
336 | struct clkdm_ops am33xx_clkdm_operations = { | 341 | struct clkdm_ops am33xx_clkdm_operations = { |
337 | .clkdm_sleep = am33xx_clkdm_sleep, | 342 | .clkdm_sleep = am33xx_clkdm_sleep, |
338 | .clkdm_wakeup = am33xx_clkdm_wakeup, | 343 | .clkdm_wakeup = am33xx_clkdm_wakeup, |
@@ -342,11 +347,12 @@ struct clkdm_ops am33xx_clkdm_operations = { | |||
342 | .clkdm_clk_disable = am33xx_clkdm_clk_disable, | 347 | .clkdm_clk_disable = am33xx_clkdm_clk_disable, |
343 | }; | 348 | }; |
344 | 349 | ||
345 | static struct cm_ll_data am33xx_cm_ll_data = { | 350 | static const struct cm_ll_data am33xx_cm_ll_data = { |
346 | .wait_module_ready = &am33xx_cm_wait_module_ready, | 351 | .wait_module_ready = &am33xx_cm_wait_module_ready, |
347 | .wait_module_idle = &am33xx_cm_wait_module_idle, | 352 | .wait_module_idle = &am33xx_cm_wait_module_idle, |
348 | .module_enable = &am33xx_cm_module_enable, | 353 | .module_enable = &am33xx_cm_module_enable, |
349 | .module_disable = &am33xx_cm_module_disable, | 354 | .module_disable = &am33xx_cm_module_disable, |
355 | .xlate_clkctrl = &am33xx_cm_xlate_clkctrl, | ||
350 | }; | 356 | }; |
351 | 357 | ||
352 | int __init am33xx_cm_init(const struct omap_prcm_init_data *data) | 358 | int __init am33xx_cm_init(const struct omap_prcm_init_data *data) |
diff --git a/arch/arm/mach-omap2/cm3xxx.c b/arch/arm/mach-omap2/cm3xxx.c index 961bc478b9de..ec580fd094a6 100644 --- a/arch/arm/mach-omap2/cm3xxx.c +++ b/arch/arm/mach-omap2/cm3xxx.c | |||
@@ -662,7 +662,7 @@ void omap3_cm_save_scratchpad_contents(u32 *ptr) | |||
662 | * | 662 | * |
663 | */ | 663 | */ |
664 | 664 | ||
665 | static struct cm_ll_data omap3xxx_cm_ll_data = { | 665 | static const struct cm_ll_data omap3xxx_cm_ll_data = { |
666 | .split_idlest_reg = &omap3xxx_cm_split_idlest_reg, | 666 | .split_idlest_reg = &omap3xxx_cm_split_idlest_reg, |
667 | .wait_module_ready = &omap3xxx_cm_wait_module_ready, | 667 | .wait_module_ready = &omap3xxx_cm_wait_module_ready, |
668 | }; | 668 | }; |
diff --git a/arch/arm/mach-omap2/cm_common.c b/arch/arm/mach-omap2/cm_common.c index 83c6fa74cc31..aff747ecad51 100644 --- a/arch/arm/mach-omap2/cm_common.c +++ b/arch/arm/mach-omap2/cm_common.c | |||
@@ -29,7 +29,7 @@ | |||
29 | * common CM functions | 29 | * common CM functions |
30 | */ | 30 | */ |
31 | static struct cm_ll_data null_cm_ll_data; | 31 | static struct cm_ll_data null_cm_ll_data; |
32 | static struct cm_ll_data *cm_ll_data = &null_cm_ll_data; | 32 | static const struct cm_ll_data *cm_ll_data = &null_cm_ll_data; |
33 | 33 | ||
34 | /* cm_base: base virtual address of the CM IP block */ | 34 | /* cm_base: base virtual address of the CM IP block */ |
35 | struct omap_domain_base cm_base; | 35 | struct omap_domain_base cm_base; |
@@ -178,6 +178,16 @@ int omap_cm_module_disable(u8 part, u16 inst, u16 clkctrl_offs) | |||
178 | return 0; | 178 | return 0; |
179 | } | 179 | } |
180 | 180 | ||
181 | u32 omap_cm_xlate_clkctrl(u8 part, u16 inst, u16 clkctrl_offs) | ||
182 | { | ||
183 | if (!cm_ll_data->xlate_clkctrl) { | ||
184 | WARN_ONCE(1, "cm: %s: no low-level function defined\n", | ||
185 | __func__); | ||
186 | return 0; | ||
187 | } | ||
188 | return cm_ll_data->xlate_clkctrl(part, inst, clkctrl_offs); | ||
189 | } | ||
190 | |||
181 | /** | 191 | /** |
182 | * cm_register - register per-SoC low-level data with the CM | 192 | * cm_register - register per-SoC low-level data with the CM |
183 | * @cld: low-level per-SoC OMAP CM data & function pointers to register | 193 | * @cld: low-level per-SoC OMAP CM data & function pointers to register |
@@ -189,7 +199,7 @@ int omap_cm_module_disable(u8 part, u16 inst, u16 clkctrl_offs) | |||
189 | * is NULL, or -EEXIST if cm_register() has already been called | 199 | * is NULL, or -EEXIST if cm_register() has already been called |
190 | * without an intervening cm_unregister(). | 200 | * without an intervening cm_unregister(). |
191 | */ | 201 | */ |
192 | int cm_register(struct cm_ll_data *cld) | 202 | int cm_register(const struct cm_ll_data *cld) |
193 | { | 203 | { |
194 | if (!cld) | 204 | if (!cld) |
195 | return -EINVAL; | 205 | return -EINVAL; |
@@ -213,7 +223,7 @@ int cm_register(struct cm_ll_data *cld) | |||
213 | * -EINVAL if @cld is NULL or if @cld does not match the struct | 223 | * -EINVAL if @cld is NULL or if @cld does not match the struct |
214 | * cm_ll_data * previously registered by cm_register(). | 224 | * cm_ll_data * previously registered by cm_register(). |
215 | */ | 225 | */ |
216 | int cm_unregister(struct cm_ll_data *cld) | 226 | int cm_unregister(const struct cm_ll_data *cld) |
217 | { | 227 | { |
218 | if (!cld || cm_ll_data != cld) | 228 | if (!cld || cm_ll_data != cld) |
219 | return -EINVAL; | 229 | return -EINVAL; |
diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c index 8774e983bea1..7deefee49fc3 100644 --- a/arch/arm/mach-omap2/cminst44xx.c +++ b/arch/arm/mach-omap2/cminst44xx.c | |||
@@ -476,12 +476,9 @@ static int omap4_clkdm_clk_disable(struct clockdomain *clkdm) | |||
476 | return 0; | 476 | return 0; |
477 | } | 477 | } |
478 | 478 | ||
479 | static u32 omap4_clkdm_xlate_address(struct clockdomain *clkdm) | 479 | static u32 omap4_cminst_xlate_clkctrl(u8 part, u16 inst, u16 offset) |
480 | { | 480 | { |
481 | u32 addr = _cm_bases[clkdm->prcm_partition].pa + clkdm->cm_inst + | 481 | return _cm_bases[part].pa + inst + offset; |
482 | clkdm->clkdm_offs; | ||
483 | |||
484 | return addr; | ||
485 | } | 482 | } |
486 | 483 | ||
487 | struct clkdm_ops omap4_clkdm_operations = { | 484 | struct clkdm_ops omap4_clkdm_operations = { |
@@ -499,7 +496,6 @@ struct clkdm_ops omap4_clkdm_operations = { | |||
499 | .clkdm_deny_idle = omap4_clkdm_deny_idle, | 496 | .clkdm_deny_idle = omap4_clkdm_deny_idle, |
500 | .clkdm_clk_enable = omap4_clkdm_clk_enable, | 497 | .clkdm_clk_enable = omap4_clkdm_clk_enable, |
501 | .clkdm_clk_disable = omap4_clkdm_clk_disable, | 498 | .clkdm_clk_disable = omap4_clkdm_clk_disable, |
502 | .clkdm_xlate_address = omap4_clkdm_xlate_address, | ||
503 | }; | 499 | }; |
504 | 500 | ||
505 | struct clkdm_ops am43xx_clkdm_operations = { | 501 | struct clkdm_ops am43xx_clkdm_operations = { |
@@ -509,14 +505,14 @@ struct clkdm_ops am43xx_clkdm_operations = { | |||
509 | .clkdm_deny_idle = omap4_clkdm_deny_idle, | 505 | .clkdm_deny_idle = omap4_clkdm_deny_idle, |
510 | .clkdm_clk_enable = omap4_clkdm_clk_enable, | 506 | .clkdm_clk_enable = omap4_clkdm_clk_enable, |
511 | .clkdm_clk_disable = omap4_clkdm_clk_disable, | 507 | .clkdm_clk_disable = omap4_clkdm_clk_disable, |
512 | .clkdm_xlate_address = omap4_clkdm_xlate_address, | ||
513 | }; | 508 | }; |
514 | 509 | ||
515 | static struct cm_ll_data omap4xxx_cm_ll_data = { | 510 | static const struct cm_ll_data omap4xxx_cm_ll_data = { |
516 | .wait_module_ready = &omap4_cminst_wait_module_ready, | 511 | .wait_module_ready = &omap4_cminst_wait_module_ready, |
517 | .wait_module_idle = &omap4_cminst_wait_module_idle, | 512 | .wait_module_idle = &omap4_cminst_wait_module_idle, |
518 | .module_enable = &omap4_cminst_module_enable, | 513 | .module_enable = &omap4_cminst_module_enable, |
519 | .module_disable = &omap4_cminst_module_disable, | 514 | .module_disable = &omap4_cminst_module_disable, |
515 | .xlate_clkctrl = &omap4_cminst_xlate_clkctrl, | ||
520 | }; | 516 | }; |
521 | 517 | ||
522 | int __init omap4_cm_init(const struct omap_prcm_init_data *data) | 518 | int __init omap4_cm_init(const struct omap_prcm_init_data *data) |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 104256a5f0f7..5eff27e4f24b 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -185,15 +185,15 @@ | |||
185 | /** | 185 | /** |
186 | * struct clkctrl_provider - clkctrl provider mapping data | 186 | * struct clkctrl_provider - clkctrl provider mapping data |
187 | * @addr: base address for the provider | 187 | * @addr: base address for the provider |
188 | * @offset: base offset for the provider | 188 | * @size: size of the provider address space |
189 | * @clkdm: base clockdomain for provider | 189 | * @offset: offset of the provider from PRCM instance base |
190 | * @node: device node associated with the provider | 190 | * @node: device node associated with the provider |
191 | * @link: list link | 191 | * @link: list link |
192 | */ | 192 | */ |
193 | struct clkctrl_provider { | 193 | struct clkctrl_provider { |
194 | u32 addr; | 194 | u32 addr; |
195 | u32 size; | ||
195 | u16 offset; | 196 | u16 offset; |
196 | struct clockdomain *clkdm; | ||
197 | struct device_node *node; | 197 | struct device_node *node; |
198 | struct list_head link; | 198 | struct list_head link; |
199 | }; | 199 | }; |
@@ -223,8 +223,7 @@ struct omap_hwmod_soc_ops { | |||
223 | void (*update_context_lost)(struct omap_hwmod *oh); | 223 | void (*update_context_lost)(struct omap_hwmod *oh); |
224 | int (*get_context_lost)(struct omap_hwmod *oh); | 224 | int (*get_context_lost)(struct omap_hwmod *oh); |
225 | int (*disable_direct_prcm)(struct omap_hwmod *oh); | 225 | int (*disable_direct_prcm)(struct omap_hwmod *oh); |
226 | u32 (*xlate_clkctrl)(struct omap_hwmod *oh, | 226 | u32 (*xlate_clkctrl)(struct omap_hwmod *oh); |
227 | struct clkctrl_provider *provider); | ||
228 | }; | 227 | }; |
229 | 228 | ||
230 | /* soc_ops: adapts the omap_hwmod code to the currently-booted SoC */ | 229 | /* soc_ops: adapts the omap_hwmod code to the currently-booted SoC */ |
@@ -716,45 +715,28 @@ static const struct of_device_id ti_clkctrl_match_table[] __initconst = { | |||
716 | { } | 715 | { } |
717 | }; | 716 | }; |
718 | 717 | ||
719 | static int _match_clkdm(struct clockdomain *clkdm, void *user) | ||
720 | { | ||
721 | struct clkctrl_provider *provider = user; | ||
722 | |||
723 | if (clkdm_xlate_address(clkdm) == provider->addr) { | ||
724 | pr_debug("%s: Matched clkdm %s for addr %x (%s)\n", __func__, | ||
725 | clkdm->name, provider->addr, | ||
726 | provider->node->parent->name); | ||
727 | provider->clkdm = clkdm; | ||
728 | |||
729 | return -1; | ||
730 | } | ||
731 | |||
732 | return 0; | ||
733 | } | ||
734 | |||
735 | static int _setup_clkctrl_provider(struct device_node *np) | 718 | static int _setup_clkctrl_provider(struct device_node *np) |
736 | { | 719 | { |
737 | const __be32 *addrp; | 720 | const __be32 *addrp; |
738 | struct clkctrl_provider *provider; | 721 | struct clkctrl_provider *provider; |
722 | u64 size; | ||
739 | 723 | ||
740 | provider = memblock_virt_alloc(sizeof(*provider), 0); | 724 | provider = memblock_virt_alloc(sizeof(*provider), 0); |
741 | if (!provider) | 725 | if (!provider) |
742 | return -ENOMEM; | 726 | return -ENOMEM; |
743 | 727 | ||
744 | addrp = of_get_address(np, 0, NULL, NULL); | 728 | addrp = of_get_address(np, 0, &size, NULL); |
745 | provider->addr = (u32)of_translate_address(np, addrp); | 729 | provider->addr = (u32)of_translate_address(np, addrp); |
746 | provider->offset = provider->addr & 0xff; | 730 | addrp = of_get_address(np->parent, 0, NULL, NULL); |
731 | provider->offset = provider->addr - | ||
732 | (u32)of_translate_address(np->parent, addrp); | ||
747 | provider->addr &= ~0xff; | 733 | provider->addr &= ~0xff; |
734 | provider->size = size | 0xff; | ||
748 | provider->node = np; | 735 | provider->node = np; |
749 | 736 | ||
750 | clkdm_for_each(_match_clkdm, provider); | 737 | pr_debug("%s: %s: %x...%x [+%x]\n", __func__, np->parent->name, |
751 | 738 | provider->addr, provider->addr + provider->size, | |
752 | if (!provider->clkdm) { | 739 | provider->offset); |
753 | pr_err("%s: nothing matched for node %s (%x)\n", | ||
754 | __func__, np->parent->name, provider->addr); | ||
755 | memblock_free_early(__pa(provider), sizeof(*provider)); | ||
756 | return -EINVAL; | ||
757 | } | ||
758 | 740 | ||
759 | list_add(&provider->link, &clkctrl_providers); | 741 | list_add(&provider->link, &clkctrl_providers); |
760 | 742 | ||
@@ -775,32 +757,48 @@ static int _init_clkctrl_providers(void) | |||
775 | return ret; | 757 | return ret; |
776 | } | 758 | } |
777 | 759 | ||
778 | static u32 _omap4_xlate_clkctrl(struct omap_hwmod *oh, | 760 | static u32 _omap4_xlate_clkctrl(struct omap_hwmod *oh) |
779 | struct clkctrl_provider *provider) | ||
780 | { | 761 | { |
781 | return oh->prcm.omap4.clkctrl_offs - | 762 | if (!oh->prcm.omap4.modulemode) |
782 | provider->offset - provider->clkdm->clkdm_offs; | 763 | return 0; |
764 | |||
765 | return omap_cm_xlate_clkctrl(oh->clkdm->prcm_partition, | ||
766 | oh->clkdm->cm_inst, | ||
767 | oh->prcm.omap4.clkctrl_offs); | ||
783 | } | 768 | } |
784 | 769 | ||
785 | static struct clk *_lookup_clkctrl_clk(struct omap_hwmod *oh) | 770 | static struct clk *_lookup_clkctrl_clk(struct omap_hwmod *oh) |
786 | { | 771 | { |
787 | struct clkctrl_provider *provider; | 772 | struct clkctrl_provider *provider; |
788 | struct clk *clk; | 773 | struct clk *clk; |
774 | u32 addr; | ||
789 | 775 | ||
790 | if (!soc_ops.xlate_clkctrl) | 776 | if (!soc_ops.xlate_clkctrl) |
791 | return NULL; | 777 | return NULL; |
792 | 778 | ||
779 | addr = soc_ops.xlate_clkctrl(oh); | ||
780 | if (!addr) | ||
781 | return NULL; | ||
782 | |||
783 | pr_debug("%s: %s: addr=%x\n", __func__, oh->name, addr); | ||
784 | |||
793 | list_for_each_entry(provider, &clkctrl_providers, link) { | 785 | list_for_each_entry(provider, &clkctrl_providers, link) { |
794 | if (provider->clkdm == oh->clkdm) { | 786 | if (provider->addr <= addr && |
787 | provider->addr + provider->size >= addr) { | ||
795 | struct of_phandle_args clkspec; | 788 | struct of_phandle_args clkspec; |
796 | 789 | ||
797 | clkspec.np = provider->node; | 790 | clkspec.np = provider->node; |
798 | clkspec.args_count = 2; | 791 | clkspec.args_count = 2; |
799 | clkspec.args[0] = soc_ops.xlate_clkctrl(oh, provider); | 792 | clkspec.args[0] = addr - provider->addr - |
793 | provider->offset; | ||
800 | clkspec.args[1] = 0; | 794 | clkspec.args[1] = 0; |
801 | 795 | ||
802 | clk = of_clk_get_from_provider(&clkspec); | 796 | clk = of_clk_get_from_provider(&clkspec); |
803 | 797 | ||
798 | pr_debug("%s: %s got %p (offset=%x, provider=%s)\n", | ||
799 | __func__, oh->name, clk, clkspec.args[0], | ||
800 | provider->node->parent->name); | ||
801 | |||
804 | return clk; | 802 | return clk; |
805 | } | 803 | } |
806 | } | 804 | } |
@@ -3521,6 +3519,7 @@ void __init omap_hwmod_init(void) | |||
3521 | soc_ops.is_hardreset_asserted = _omap4_is_hardreset_asserted; | 3519 | soc_ops.is_hardreset_asserted = _omap4_is_hardreset_asserted; |
3522 | soc_ops.init_clkdm = _init_clkdm; | 3520 | soc_ops.init_clkdm = _init_clkdm; |
3523 | soc_ops.disable_direct_prcm = _omap4_disable_direct_prcm; | 3521 | soc_ops.disable_direct_prcm = _omap4_disable_direct_prcm; |
3522 | soc_ops.xlate_clkctrl = _omap4_xlate_clkctrl; | ||
3524 | } else { | 3523 | } else { |
3525 | WARN(1, "omap_hwmod: unknown SoC type\n"); | 3524 | WARN(1, "omap_hwmod: unknown SoC type\n"); |
3526 | } | 3525 | } |
diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c index 77a515b11ec2..84f118280a0e 100644 --- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c | |||
@@ -988,7 +988,7 @@ static struct omap_hwmod_class dm81xx_sata_hwmod_class = { | |||
988 | 988 | ||
989 | static struct omap_hwmod dm81xx_sata_hwmod = { | 989 | static struct omap_hwmod dm81xx_sata_hwmod = { |
990 | .name = "sata", | 990 | .name = "sata", |
991 | .clkdm_name = "default_sata_clkdm", | 991 | .clkdm_name = "default_clkdm", |
992 | .flags = HWMOD_NO_IDLEST, | 992 | .flags = HWMOD_NO_IDLEST, |
993 | .prcm = { | 993 | .prcm = { |
994 | .omap4 = { | 994 | .omap4 = { |
diff --git a/drivers/clk/ti/apll.c b/drivers/clk/ti/apll.c index 83b148f8037c..9498e9363b57 100644 --- a/drivers/clk/ti/apll.c +++ b/drivers/clk/ti/apll.c | |||
@@ -133,9 +133,10 @@ static const struct clk_ops apll_ck_ops = { | |||
133 | .get_parent = &dra7_init_apll_parent, | 133 | .get_parent = &dra7_init_apll_parent, |
134 | }; | 134 | }; |
135 | 135 | ||
136 | static void __init omap_clk_register_apll(struct clk_hw *hw, | 136 | static void __init omap_clk_register_apll(void *user, |
137 | struct device_node *node) | 137 | struct device_node *node) |
138 | { | 138 | { |
139 | struct clk_hw *hw = user; | ||
139 | struct clk_hw_omap *clk_hw = to_clk_hw_omap(hw); | 140 | struct clk_hw_omap *clk_hw = to_clk_hw_omap(hw); |
140 | struct dpll_data *ad = clk_hw->dpll_data; | 141 | struct dpll_data *ad = clk_hw->dpll_data; |
141 | struct clk *clk; | 142 | struct clk *clk; |
diff --git a/drivers/clk/ti/clk-33xx.c b/drivers/clk/ti/clk-33xx.c index 0e47d95faf49..612491a26070 100644 --- a/drivers/clk/ti/clk-33xx.c +++ b/drivers/clk/ti/clk-33xx.c | |||
@@ -19,98 +19,201 @@ | |||
19 | #include <linux/clk.h> | 19 | #include <linux/clk.h> |
20 | #include <linux/clk-provider.h> | 20 | #include <linux/clk-provider.h> |
21 | #include <linux/clk/ti.h> | 21 | #include <linux/clk/ti.h> |
22 | #include <dt-bindings/clock/am3.h> | ||
22 | 23 | ||
23 | #include "clock.h" | 24 | #include "clock.h" |
24 | 25 | ||
26 | static const char * const am3_gpio1_dbclk_parents[] __initconst = { | ||
27 | "l4_per_cm:clk:0138:0", | ||
28 | NULL, | ||
29 | }; | ||
30 | |||
31 | static const struct omap_clkctrl_bit_data am3_gpio2_bit_data[] __initconst = { | ||
32 | { 18, TI_CLK_GATE, am3_gpio1_dbclk_parents, NULL }, | ||
33 | { 0 }, | ||
34 | }; | ||
35 | |||
36 | static const struct omap_clkctrl_bit_data am3_gpio3_bit_data[] __initconst = { | ||
37 | { 18, TI_CLK_GATE, am3_gpio1_dbclk_parents, NULL }, | ||
38 | { 0 }, | ||
39 | }; | ||
40 | |||
41 | static const struct omap_clkctrl_bit_data am3_gpio4_bit_data[] __initconst = { | ||
42 | { 18, TI_CLK_GATE, am3_gpio1_dbclk_parents, NULL }, | ||
43 | { 0 }, | ||
44 | }; | ||
45 | |||
46 | static const struct omap_clkctrl_reg_data am3_l4_per_clkctrl_regs[] __initconst = { | ||
47 | { AM3_CPGMAC0_CLKCTRL, NULL, CLKF_SW_SUP, "cpsw_125mhz_gclk", "cpsw_125mhz_clkdm" }, | ||
48 | { AM3_LCDC_CLKCTRL, NULL, CLKF_SW_SUP, "lcd_gclk", "lcdc_clkdm" }, | ||
49 | { AM3_USB_OTG_HS_CLKCTRL, NULL, CLKF_SW_SUP, "usbotg_fck", "l3s_clkdm" }, | ||
50 | { AM3_TPTC0_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
51 | { AM3_EMIF_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_ddr_m2_div2_ck", "l3_clkdm" }, | ||
52 | { AM3_OCMCRAM_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
53 | { AM3_GPMC_CLKCTRL, NULL, CLKF_SW_SUP, "l3s_gclk", "l3s_clkdm" }, | ||
54 | { AM3_MCASP0_CLKCTRL, NULL, CLKF_SW_SUP, "mcasp0_fck", "l3s_clkdm" }, | ||
55 | { AM3_UART6_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
56 | { AM3_MMC1_CLKCTRL, NULL, CLKF_SW_SUP, "mmc_clk" }, | ||
57 | { AM3_ELM_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
58 | { AM3_I2C3_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
59 | { AM3_I2C2_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
60 | { AM3_SPI0_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
61 | { AM3_SPI1_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
62 | { AM3_L4_LS_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
63 | { AM3_MCASP1_CLKCTRL, NULL, CLKF_SW_SUP, "mcasp1_fck", "l3s_clkdm" }, | ||
64 | { AM3_UART2_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
65 | { AM3_UART3_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
66 | { AM3_UART4_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
67 | { AM3_UART5_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
68 | { AM3_TIMER7_CLKCTRL, NULL, CLKF_SW_SUP, "timer7_fck" }, | ||
69 | { AM3_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "timer2_fck" }, | ||
70 | { AM3_TIMER3_CLKCTRL, NULL, CLKF_SW_SUP, "timer3_fck" }, | ||
71 | { AM3_TIMER4_CLKCTRL, NULL, CLKF_SW_SUP, "timer4_fck" }, | ||
72 | { AM3_RNG_CLKCTRL, NULL, CLKF_SW_SUP, "rng_fck" }, | ||
73 | { AM3_AES_CLKCTRL, NULL, CLKF_SW_SUP, "aes0_fck", "l3_clkdm" }, | ||
74 | { AM3_SHAM_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
75 | { AM3_GPIO2_CLKCTRL, am3_gpio2_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
76 | { AM3_GPIO3_CLKCTRL, am3_gpio3_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
77 | { AM3_GPIO4_CLKCTRL, am3_gpio4_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
78 | { AM3_TPCC_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
79 | { AM3_D_CAN0_CLKCTRL, NULL, CLKF_SW_SUP, "dcan0_fck" }, | ||
80 | { AM3_D_CAN1_CLKCTRL, NULL, CLKF_SW_SUP, "dcan1_fck" }, | ||
81 | { AM3_EPWMSS1_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
82 | { AM3_EPWMSS0_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
83 | { AM3_EPWMSS2_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
84 | { AM3_L3_INSTR_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
85 | { AM3_L3_MAIN_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
86 | { AM3_PRUSS_CLKCTRL, NULL, CLKF_SW_SUP, "pruss_ocp_gclk", "pruss_ocp_clkdm" }, | ||
87 | { AM3_TIMER5_CLKCTRL, NULL, CLKF_SW_SUP, "timer5_fck" }, | ||
88 | { AM3_TIMER6_CLKCTRL, NULL, CLKF_SW_SUP, "timer6_fck" }, | ||
89 | { AM3_MMC2_CLKCTRL, NULL, CLKF_SW_SUP, "mmc_clk" }, | ||
90 | { AM3_MMC3_CLKCTRL, NULL, CLKF_SW_SUP, "mmc_clk", "l3s_clkdm" }, | ||
91 | { AM3_TPTC1_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
92 | { AM3_TPTC2_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
93 | { AM3_SPINLOCK_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
94 | { AM3_MAILBOX_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
95 | { AM3_L4_HS_CLKCTRL, NULL, CLKF_SW_SUP, "l4hs_gclk", "l4hs_clkdm" }, | ||
96 | { AM3_OCPWP_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
97 | { AM3_CLKDIV32K_CLKCTRL, NULL, CLKF_SW_SUP, "clkdiv32k_ck", "clk_24mhz_clkdm" }, | ||
98 | { 0 }, | ||
99 | }; | ||
100 | |||
101 | static const char * const am3_gpio0_dbclk_parents[] __initconst = { | ||
102 | "gpio0_dbclk_mux_ck", | ||
103 | NULL, | ||
104 | }; | ||
105 | |||
106 | static const struct omap_clkctrl_bit_data am3_gpio1_bit_data[] __initconst = { | ||
107 | { 18, TI_CLK_GATE, am3_gpio0_dbclk_parents, NULL }, | ||
108 | { 0 }, | ||
109 | }; | ||
110 | |||
111 | static const char * const am3_dbg_sysclk_ck_parents[] __initconst = { | ||
112 | "sys_clkin_ck", | ||
113 | NULL, | ||
114 | }; | ||
115 | |||
116 | static const char * const am3_trace_pmd_clk_mux_ck_parents[] __initconst = { | ||
117 | "l4_wkup_cm:clk:0010:19", | ||
118 | "l4_wkup_cm:clk:0010:30", | ||
119 | NULL, | ||
120 | }; | ||
121 | |||
122 | static const char * const am3_trace_clk_div_ck_parents[] __initconst = { | ||
123 | "l4_wkup_cm:clk:0010:20", | ||
124 | NULL, | ||
125 | }; | ||
126 | |||
127 | static const struct omap_clkctrl_div_data am3_trace_clk_div_ck_data __initconst = { | ||
128 | .max_div = 64, | ||
129 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
130 | }; | ||
131 | |||
132 | static const char * const am3_stm_clk_div_ck_parents[] __initconst = { | ||
133 | "l4_wkup_cm:clk:0010:22", | ||
134 | NULL, | ||
135 | }; | ||
136 | |||
137 | static const struct omap_clkctrl_div_data am3_stm_clk_div_ck_data __initconst = { | ||
138 | .max_div = 64, | ||
139 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
140 | }; | ||
141 | |||
142 | static const char * const am3_dbg_clka_ck_parents[] __initconst = { | ||
143 | "dpll_core_m4_ck", | ||
144 | NULL, | ||
145 | }; | ||
146 | |||
147 | static const struct omap_clkctrl_bit_data am3_debugss_bit_data[] __initconst = { | ||
148 | { 19, TI_CLK_GATE, am3_dbg_sysclk_ck_parents, NULL }, | ||
149 | { 20, TI_CLK_MUX, am3_trace_pmd_clk_mux_ck_parents, NULL }, | ||
150 | { 22, TI_CLK_MUX, am3_trace_pmd_clk_mux_ck_parents, NULL }, | ||
151 | { 24, TI_CLK_DIVIDER, am3_trace_clk_div_ck_parents, &am3_trace_clk_div_ck_data }, | ||
152 | { 27, TI_CLK_DIVIDER, am3_stm_clk_div_ck_parents, &am3_stm_clk_div_ck_data }, | ||
153 | { 30, TI_CLK_GATE, am3_dbg_clka_ck_parents, NULL }, | ||
154 | { 0 }, | ||
155 | }; | ||
156 | |||
157 | static const struct omap_clkctrl_reg_data am3_l4_wkup_clkctrl_regs[] __initconst = { | ||
158 | { AM3_CONTROL_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_core_m4_div2_ck" }, | ||
159 | { AM3_GPIO1_CLKCTRL, am3_gpio1_bit_data, CLKF_SW_SUP, "dpll_core_m4_div2_ck" }, | ||
160 | { AM3_L4_WKUP_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_core_m4_div2_ck" }, | ||
161 | { AM3_DEBUGSS_CLKCTRL, am3_debugss_bit_data, CLKF_SW_SUP, "l4_wkup_cm:clk:0010:24", "l3_aon_clkdm" }, | ||
162 | { AM3_WKUP_M3_CLKCTRL, NULL, CLKF_NO_IDLEST, "dpll_core_m4_div2_ck", "l4_wkup_aon_clkdm" }, | ||
163 | { AM3_UART1_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_wkupdm_ck" }, | ||
164 | { AM3_I2C1_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_wkupdm_ck" }, | ||
165 | { AM3_ADC_TSC_CLKCTRL, NULL, CLKF_SW_SUP, "adc_tsc_fck" }, | ||
166 | { AM3_SMARTREFLEX0_CLKCTRL, NULL, CLKF_SW_SUP, "smartreflex0_fck" }, | ||
167 | { AM3_TIMER1_CLKCTRL, NULL, CLKF_SW_SUP, "timer1_fck" }, | ||
168 | { AM3_SMARTREFLEX1_CLKCTRL, NULL, CLKF_SW_SUP, "smartreflex1_fck" }, | ||
169 | { AM3_WD_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "wdt1_fck" }, | ||
170 | { 0 }, | ||
171 | }; | ||
172 | |||
173 | static const struct omap_clkctrl_reg_data am3_mpu_clkctrl_regs[] __initconst = { | ||
174 | { AM3_MPU_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_mpu_m2_ck" }, | ||
175 | { 0 }, | ||
176 | }; | ||
177 | |||
178 | static const struct omap_clkctrl_reg_data am3_l4_rtc_clkctrl_regs[] __initconst = { | ||
179 | { AM3_RTC_CLKCTRL, NULL, CLKF_SW_SUP, "clk_32768_ck" }, | ||
180 | { 0 }, | ||
181 | }; | ||
182 | |||
183 | static const struct omap_clkctrl_reg_data am3_gfx_l3_clkctrl_regs[] __initconst = { | ||
184 | { AM3_GFX_CLKCTRL, NULL, CLKF_SW_SUP, "gfx_fck_div_ck" }, | ||
185 | { 0 }, | ||
186 | }; | ||
187 | |||
188 | static const struct omap_clkctrl_reg_data am3_l4_cefuse_clkctrl_regs[] __initconst = { | ||
189 | { AM3_CEFUSE_CLKCTRL, NULL, CLKF_SW_SUP, "sys_clkin_ck" }, | ||
190 | { 0 }, | ||
191 | }; | ||
192 | |||
193 | const struct omap_clkctrl_data am3_clkctrl_data[] __initconst = { | ||
194 | { 0x44e00014, am3_l4_per_clkctrl_regs }, | ||
195 | { 0x44e00404, am3_l4_wkup_clkctrl_regs }, | ||
196 | { 0x44e00604, am3_mpu_clkctrl_regs }, | ||
197 | { 0x44e00800, am3_l4_rtc_clkctrl_regs }, | ||
198 | { 0x44e00904, am3_gfx_l3_clkctrl_regs }, | ||
199 | { 0x44e00a20, am3_l4_cefuse_clkctrl_regs }, | ||
200 | { 0 }, | ||
201 | }; | ||
202 | |||
25 | static struct ti_dt_clk am33xx_clks[] = { | 203 | static struct ti_dt_clk am33xx_clks[] = { |
26 | DT_CLK(NULL, "clk_32768_ck", "clk_32768_ck"), | 204 | DT_CLK(NULL, "timer_32k_ck", "l4_per_cm:0138:0"), |
27 | DT_CLK(NULL, "clk_rc32k_ck", "clk_rc32k_ck"), | ||
28 | DT_CLK(NULL, "virt_19200000_ck", "virt_19200000_ck"), | ||
29 | DT_CLK(NULL, "virt_24000000_ck", "virt_24000000_ck"), | ||
30 | DT_CLK(NULL, "virt_25000000_ck", "virt_25000000_ck"), | ||
31 | DT_CLK(NULL, "virt_26000000_ck", "virt_26000000_ck"), | ||
32 | DT_CLK(NULL, "sys_clkin_ck", "sys_clkin_ck"), | ||
33 | DT_CLK(NULL, "tclkin_ck", "tclkin_ck"), | ||
34 | DT_CLK(NULL, "dpll_core_ck", "dpll_core_ck"), | ||
35 | DT_CLK(NULL, "dpll_core_x2_ck", "dpll_core_x2_ck"), | ||
36 | DT_CLK(NULL, "dpll_core_m4_ck", "dpll_core_m4_ck"), | ||
37 | DT_CLK(NULL, "dpll_core_m5_ck", "dpll_core_m5_ck"), | ||
38 | DT_CLK(NULL, "dpll_core_m6_ck", "dpll_core_m6_ck"), | ||
39 | DT_CLK(NULL, "dpll_mpu_ck", "dpll_mpu_ck"), | ||
40 | DT_CLK(NULL, "dpll_mpu_m2_ck", "dpll_mpu_m2_ck"), | ||
41 | DT_CLK(NULL, "dpll_ddr_ck", "dpll_ddr_ck"), | ||
42 | DT_CLK(NULL, "dpll_ddr_m2_ck", "dpll_ddr_m2_ck"), | ||
43 | DT_CLK(NULL, "dpll_ddr_m2_div2_ck", "dpll_ddr_m2_div2_ck"), | ||
44 | DT_CLK(NULL, "dpll_disp_ck", "dpll_disp_ck"), | ||
45 | DT_CLK(NULL, "dpll_disp_m2_ck", "dpll_disp_m2_ck"), | ||
46 | DT_CLK(NULL, "dpll_per_ck", "dpll_per_ck"), | ||
47 | DT_CLK(NULL, "dpll_per_m2_ck", "dpll_per_m2_ck"), | ||
48 | DT_CLK(NULL, "dpll_per_m2_div4_wkupdm_ck", "dpll_per_m2_div4_wkupdm_ck"), | ||
49 | DT_CLK(NULL, "dpll_per_m2_div4_ck", "dpll_per_m2_div4_ck"), | ||
50 | DT_CLK(NULL, "adc_tsc_fck", "adc_tsc_fck"), | ||
51 | DT_CLK(NULL, "cefuse_fck", "cefuse_fck"), | ||
52 | DT_CLK(NULL, "clkdiv32k_ck", "clkdiv32k_ck"), | ||
53 | DT_CLK(NULL, "clkdiv32k_ick", "clkdiv32k_ick"), | ||
54 | DT_CLK(NULL, "dcan0_fck", "dcan0_fck"), | ||
55 | DT_CLK("481cc000.d_can", NULL, "dcan0_fck"), | ||
56 | DT_CLK(NULL, "dcan1_fck", "dcan1_fck"), | ||
57 | DT_CLK("481d0000.d_can", NULL, "dcan1_fck"), | ||
58 | DT_CLK(NULL, "pruss_ocp_gclk", "pruss_ocp_gclk"), | ||
59 | DT_CLK(NULL, "mcasp0_fck", "mcasp0_fck"), | ||
60 | DT_CLK(NULL, "mcasp1_fck", "mcasp1_fck"), | ||
61 | DT_CLK(NULL, "mmu_fck", "mmu_fck"), | ||
62 | DT_CLK(NULL, "smartreflex0_fck", "smartreflex0_fck"), | ||
63 | DT_CLK(NULL, "smartreflex1_fck", "smartreflex1_fck"), | ||
64 | DT_CLK(NULL, "sha0_fck", "sha0_fck"), | ||
65 | DT_CLK(NULL, "aes0_fck", "aes0_fck"), | ||
66 | DT_CLK(NULL, "rng_fck", "rng_fck"), | ||
67 | DT_CLK(NULL, "timer1_fck", "timer1_fck"), | ||
68 | DT_CLK(NULL, "timer2_fck", "timer2_fck"), | ||
69 | DT_CLK(NULL, "timer3_fck", "timer3_fck"), | ||
70 | DT_CLK(NULL, "timer4_fck", "timer4_fck"), | ||
71 | DT_CLK(NULL, "timer5_fck", "timer5_fck"), | ||
72 | DT_CLK(NULL, "timer6_fck", "timer6_fck"), | ||
73 | DT_CLK(NULL, "timer7_fck", "timer7_fck"), | ||
74 | DT_CLK(NULL, "usbotg_fck", "usbotg_fck"), | ||
75 | DT_CLK(NULL, "ieee5000_fck", "ieee5000_fck"), | ||
76 | DT_CLK(NULL, "wdt1_fck", "wdt1_fck"), | ||
77 | DT_CLK(NULL, "l4_rtc_gclk", "l4_rtc_gclk"), | ||
78 | DT_CLK(NULL, "l3_gclk", "l3_gclk"), | ||
79 | DT_CLK(NULL, "dpll_core_m4_div2_ck", "dpll_core_m4_div2_ck"), | ||
80 | DT_CLK(NULL, "l4hs_gclk", "l4hs_gclk"), | ||
81 | DT_CLK(NULL, "l3s_gclk", "l3s_gclk"), | ||
82 | DT_CLK(NULL, "l4fw_gclk", "l4fw_gclk"), | ||
83 | DT_CLK(NULL, "l4ls_gclk", "l4ls_gclk"), | ||
84 | DT_CLK(NULL, "clk_24mhz", "clk_24mhz"), | ||
85 | DT_CLK(NULL, "sysclk_div_ck", "sysclk_div_ck"), | ||
86 | DT_CLK(NULL, "cpsw_125mhz_gclk", "cpsw_125mhz_gclk"), | ||
87 | DT_CLK(NULL, "cpsw_cpts_rft_clk", "cpsw_cpts_rft_clk"), | ||
88 | DT_CLK(NULL, "gpio0_dbclk_mux_ck", "gpio0_dbclk_mux_ck"), | ||
89 | DT_CLK(NULL, "gpio0_dbclk", "gpio0_dbclk"), | ||
90 | DT_CLK(NULL, "gpio1_dbclk", "gpio1_dbclk"), | ||
91 | DT_CLK(NULL, "gpio2_dbclk", "gpio2_dbclk"), | ||
92 | DT_CLK(NULL, "gpio3_dbclk", "gpio3_dbclk"), | ||
93 | DT_CLK(NULL, "lcd_gclk", "lcd_gclk"), | ||
94 | DT_CLK(NULL, "mmc_clk", "mmc_clk"), | ||
95 | DT_CLK(NULL, "gfx_fclk_clksel_ck", "gfx_fclk_clksel_ck"), | ||
96 | DT_CLK(NULL, "gfx_fck_div_ck", "gfx_fck_div_ck"), | ||
97 | DT_CLK(NULL, "sysclkout_pre_ck", "sysclkout_pre_ck"), | ||
98 | DT_CLK(NULL, "clkout2_div_ck", "clkout2_div_ck"), | ||
99 | DT_CLK(NULL, "timer_32k_ck", "clkdiv32k_ick"), | ||
100 | DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"), | 205 | DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"), |
101 | DT_CLK(NULL, "dbg_sysclk_ck", "dbg_sysclk_ck"), | 206 | DT_CLK(NULL, "clkdiv32k_ick", "l4_per_cm:0138:0"), |
102 | DT_CLK(NULL, "dbg_clka_ck", "dbg_clka_ck"), | 207 | DT_CLK(NULL, "dbg_clka_ck", "l4_wkup_cm:0010:30"), |
103 | DT_CLK(NULL, "stm_pmd_clock_mux_ck", "stm_pmd_clock_mux_ck"), | 208 | DT_CLK(NULL, "dbg_sysclk_ck", "l4_wkup_cm:0010:19"), |
104 | DT_CLK(NULL, "trace_pmd_clk_mux_ck", "trace_pmd_clk_mux_ck"), | 209 | DT_CLK(NULL, "gpio0_dbclk", "l4_wkup_cm:0004:18"), |
105 | DT_CLK(NULL, "stm_clk_div_ck", "stm_clk_div_ck"), | 210 | DT_CLK(NULL, "gpio1_dbclk", "l4_per_cm:0098:18"), |
106 | DT_CLK(NULL, "trace_clk_div_ck", "trace_clk_div_ck"), | 211 | DT_CLK(NULL, "gpio2_dbclk", "l4_per_cm:009c:18"), |
107 | DT_CLK(NULL, "clkout2_ck", "clkout2_ck"), | 212 | DT_CLK(NULL, "gpio3_dbclk", "l4_per_cm:00a0:18"), |
108 | DT_CLK("48300200.ehrpwm", "tbclk", "ehrpwm0_tbclk"), | 213 | DT_CLK(NULL, "stm_clk_div_ck", "l4_wkup_cm:0010:27"), |
109 | DT_CLK("48302200.ehrpwm", "tbclk", "ehrpwm1_tbclk"), | 214 | DT_CLK(NULL, "stm_pmd_clock_mux_ck", "l4_wkup_cm:0010:22"), |
110 | DT_CLK("48304200.ehrpwm", "tbclk", "ehrpwm2_tbclk"), | 215 | DT_CLK(NULL, "trace_clk_div_ck", "l4_wkup_cm:0010:24"), |
111 | DT_CLK("48300200.pwm", "tbclk", "ehrpwm0_tbclk"), | 216 | DT_CLK(NULL, "trace_pmd_clk_mux_ck", "l4_wkup_cm:0010:20"), |
112 | DT_CLK("48302200.pwm", "tbclk", "ehrpwm1_tbclk"), | ||
113 | DT_CLK("48304200.pwm", "tbclk", "ehrpwm2_tbclk"), | ||
114 | { .node_name = NULL }, | 217 | { .node_name = NULL }, |
115 | }; | 218 | }; |
116 | 219 | ||
@@ -133,6 +236,8 @@ int __init am33xx_dt_clk_init(void) | |||
133 | 236 | ||
134 | omap2_clk_disable_autoidle_all(); | 237 | omap2_clk_disable_autoidle_all(); |
135 | 238 | ||
239 | ti_clk_add_aliases(); | ||
240 | |||
136 | omap2_clk_enable_init_clocks(enable_init_clks, | 241 | omap2_clk_enable_init_clocks(enable_init_clks, |
137 | ARRAY_SIZE(enable_init_clks)); | 242 | ARRAY_SIZE(enable_init_clks)); |
138 | 243 | ||
diff --git a/drivers/clk/ti/clk-3xxx.c b/drivers/clk/ti/clk-3xxx.c index b1251cae98b8..8aa5f5793835 100644 --- a/drivers/clk/ti/clk-3xxx.c +++ b/drivers/clk/ti/clk-3xxx.c | |||
@@ -224,296 +224,43 @@ const struct clk_hw_omap_ops clkhwops_am35xx_ipss_wait = { | |||
224 | }; | 224 | }; |
225 | 225 | ||
226 | static struct ti_dt_clk omap3xxx_clks[] = { | 226 | static struct ti_dt_clk omap3xxx_clks[] = { |
227 | DT_CLK(NULL, "apb_pclk", "dummy_apb_pclk"), | ||
228 | DT_CLK(NULL, "omap_32k_fck", "omap_32k_fck"), | ||
229 | DT_CLK(NULL, "virt_12m_ck", "virt_12m_ck"), | ||
230 | DT_CLK(NULL, "virt_13m_ck", "virt_13m_ck"), | ||
231 | DT_CLK(NULL, "virt_19200000_ck", "virt_19200000_ck"), | ||
232 | DT_CLK(NULL, "virt_26000000_ck", "virt_26000000_ck"), | ||
233 | DT_CLK(NULL, "virt_38_4m_ck", "virt_38_4m_ck"), | ||
234 | DT_CLK(NULL, "osc_sys_ck", "osc_sys_ck"), | ||
235 | DT_CLK("twl", "fck", "osc_sys_ck"), | ||
236 | DT_CLK(NULL, "sys_ck", "sys_ck"), | ||
237 | DT_CLK(NULL, "omap_96m_alwon_fck", "omap_96m_alwon_fck"), | ||
238 | DT_CLK("etb", "emu_core_alwon_ck", "emu_core_alwon_ck"), | ||
239 | DT_CLK(NULL, "sys_altclk", "sys_altclk"), | ||
240 | DT_CLK(NULL, "sys_clkout1", "sys_clkout1"), | ||
241 | DT_CLK(NULL, "dpll1_ck", "dpll1_ck"), | ||
242 | DT_CLK(NULL, "dpll1_x2_ck", "dpll1_x2_ck"), | ||
243 | DT_CLK(NULL, "dpll1_x2m2_ck", "dpll1_x2m2_ck"), | ||
244 | DT_CLK(NULL, "dpll3_ck", "dpll3_ck"), | ||
245 | DT_CLK(NULL, "core_ck", "core_ck"), | ||
246 | DT_CLK(NULL, "dpll3_x2_ck", "dpll3_x2_ck"), | ||
247 | DT_CLK(NULL, "dpll3_m2_ck", "dpll3_m2_ck"), | ||
248 | DT_CLK(NULL, "dpll3_m2x2_ck", "dpll3_m2x2_ck"), | ||
249 | DT_CLK(NULL, "dpll3_m3_ck", "dpll3_m3_ck"), | ||
250 | DT_CLK(NULL, "dpll3_m3x2_ck", "dpll3_m3x2_ck"), | ||
251 | DT_CLK(NULL, "dpll4_ck", "dpll4_ck"), | ||
252 | DT_CLK(NULL, "dpll4_x2_ck", "dpll4_x2_ck"), | ||
253 | DT_CLK(NULL, "omap_96m_fck", "omap_96m_fck"), | ||
254 | DT_CLK(NULL, "cm_96m_fck", "cm_96m_fck"), | ||
255 | DT_CLK(NULL, "omap_54m_fck", "omap_54m_fck"), | ||
256 | DT_CLK(NULL, "omap_48m_fck", "omap_48m_fck"), | ||
257 | DT_CLK(NULL, "omap_12m_fck", "omap_12m_fck"), | ||
258 | DT_CLK(NULL, "dpll4_m2_ck", "dpll4_m2_ck"), | ||
259 | DT_CLK(NULL, "dpll4_m2x2_ck", "dpll4_m2x2_ck"), | ||
260 | DT_CLK(NULL, "dpll4_m3_ck", "dpll4_m3_ck"), | ||
261 | DT_CLK(NULL, "dpll4_m3x2_ck", "dpll4_m3x2_ck"), | ||
262 | DT_CLK(NULL, "dpll4_m4_ck", "dpll4_m4_ck"), | ||
263 | DT_CLK(NULL, "dpll4_m4x2_ck", "dpll4_m4x2_ck"), | ||
264 | DT_CLK(NULL, "dpll4_m5_ck", "dpll4_m5_ck"), | ||
265 | DT_CLK(NULL, "dpll4_m5x2_ck", "dpll4_m5x2_ck"), | ||
266 | DT_CLK(NULL, "dpll4_m6_ck", "dpll4_m6_ck"), | ||
267 | DT_CLK(NULL, "dpll4_m6x2_ck", "dpll4_m6x2_ck"), | ||
268 | DT_CLK("etb", "emu_per_alwon_ck", "emu_per_alwon_ck"), | ||
269 | DT_CLK(NULL, "clkout2_src_ck", "clkout2_src_ck"), | ||
270 | DT_CLK(NULL, "sys_clkout2", "sys_clkout2"), | ||
271 | DT_CLK(NULL, "corex2_fck", "corex2_fck"), | ||
272 | DT_CLK(NULL, "dpll1_fck", "dpll1_fck"), | ||
273 | DT_CLK(NULL, "mpu_ck", "mpu_ck"), | ||
274 | DT_CLK(NULL, "arm_fck", "arm_fck"), | ||
275 | DT_CLK("etb", "emu_mpu_alwon_ck", "emu_mpu_alwon_ck"), | ||
276 | DT_CLK(NULL, "l3_ick", "l3_ick"), | ||
277 | DT_CLK(NULL, "l4_ick", "l4_ick"), | ||
278 | DT_CLK(NULL, "rm_ick", "rm_ick"), | ||
279 | DT_CLK(NULL, "gpt10_fck", "gpt10_fck"), | ||
280 | DT_CLK(NULL, "gpt11_fck", "gpt11_fck"), | ||
281 | DT_CLK(NULL, "core_96m_fck", "core_96m_fck"), | ||
282 | DT_CLK(NULL, "mmchs2_fck", "mmchs2_fck"), | ||
283 | DT_CLK(NULL, "mmchs1_fck", "mmchs1_fck"), | ||
284 | DT_CLK(NULL, "i2c3_fck", "i2c3_fck"), | ||
285 | DT_CLK(NULL, "i2c2_fck", "i2c2_fck"), | ||
286 | DT_CLK(NULL, "i2c1_fck", "i2c1_fck"), | ||
287 | DT_CLK(NULL, "core_48m_fck", "core_48m_fck"), | ||
288 | DT_CLK(NULL, "mcspi4_fck", "mcspi4_fck"), | ||
289 | DT_CLK(NULL, "mcspi3_fck", "mcspi3_fck"), | ||
290 | DT_CLK(NULL, "mcspi2_fck", "mcspi2_fck"), | ||
291 | DT_CLK(NULL, "mcspi1_fck", "mcspi1_fck"), | ||
292 | DT_CLK(NULL, "uart2_fck", "uart2_fck"), | ||
293 | DT_CLK(NULL, "uart1_fck", "uart1_fck"), | ||
294 | DT_CLK(NULL, "core_12m_fck", "core_12m_fck"), | ||
295 | DT_CLK("omap_hdq.0", "fck", "hdq_fck"), | ||
296 | DT_CLK(NULL, "hdq_fck", "hdq_fck"), | ||
297 | DT_CLK(NULL, "core_l3_ick", "core_l3_ick"), | ||
298 | DT_CLK(NULL, "sdrc_ick", "sdrc_ick"), | ||
299 | DT_CLK(NULL, "gpmc_fck", "gpmc_fck"), | ||
300 | DT_CLK(NULL, "core_l4_ick", "core_l4_ick"), | ||
301 | DT_CLK("omap_hsmmc.1", "ick", "mmchs2_ick"), | ||
302 | DT_CLK("omap_hsmmc.0", "ick", "mmchs1_ick"), | ||
303 | DT_CLK(NULL, "mmchs2_ick", "mmchs2_ick"), | ||
304 | DT_CLK(NULL, "mmchs1_ick", "mmchs1_ick"), | ||
305 | DT_CLK("omap_hdq.0", "ick", "hdq_ick"), | ||
306 | DT_CLK(NULL, "hdq_ick", "hdq_ick"), | ||
307 | DT_CLK("omap2_mcspi.4", "ick", "mcspi4_ick"), | ||
308 | DT_CLK("omap2_mcspi.3", "ick", "mcspi3_ick"), | ||
309 | DT_CLK("omap2_mcspi.2", "ick", "mcspi2_ick"), | ||
310 | DT_CLK("omap2_mcspi.1", "ick", "mcspi1_ick"), | ||
311 | DT_CLK(NULL, "mcspi4_ick", "mcspi4_ick"), | ||
312 | DT_CLK(NULL, "mcspi3_ick", "mcspi3_ick"), | ||
313 | DT_CLK(NULL, "mcspi2_ick", "mcspi2_ick"), | ||
314 | DT_CLK(NULL, "mcspi1_ick", "mcspi1_ick"), | ||
315 | DT_CLK("omap_i2c.3", "ick", "i2c3_ick"), | ||
316 | DT_CLK("omap_i2c.2", "ick", "i2c2_ick"), | ||
317 | DT_CLK("omap_i2c.1", "ick", "i2c1_ick"), | ||
318 | DT_CLK(NULL, "i2c3_ick", "i2c3_ick"), | ||
319 | DT_CLK(NULL, "i2c2_ick", "i2c2_ick"), | ||
320 | DT_CLK(NULL, "i2c1_ick", "i2c1_ick"), | ||
321 | DT_CLK(NULL, "uart2_ick", "uart2_ick"), | ||
322 | DT_CLK(NULL, "uart1_ick", "uart1_ick"), | ||
323 | DT_CLK(NULL, "gpt11_ick", "gpt11_ick"), | ||
324 | DT_CLK(NULL, "gpt10_ick", "gpt10_ick"), | ||
325 | DT_CLK(NULL, "omapctrl_ick", "omapctrl_ick"), | ||
326 | DT_CLK(NULL, "dss_tv_fck", "dss_tv_fck"), | ||
327 | DT_CLK(NULL, "dss_96m_fck", "dss_96m_fck"), | ||
328 | DT_CLK(NULL, "dss2_alwon_fck", "dss2_alwon_fck"), | ||
329 | DT_CLK(NULL, "init_60m_fclk", "dummy_ck"), | ||
330 | DT_CLK(NULL, "gpt1_fck", "gpt1_fck"), | ||
331 | DT_CLK(NULL, "aes2_ick", "aes2_ick"), | ||
332 | DT_CLK(NULL, "wkup_32k_fck", "wkup_32k_fck"), | ||
333 | DT_CLK(NULL, "gpio1_dbck", "gpio1_dbck"), | ||
334 | DT_CLK(NULL, "sha12_ick", "sha12_ick"), | ||
335 | DT_CLK(NULL, "wdt2_fck", "wdt2_fck"), | ||
336 | DT_CLK("omap_wdt", "ick", "wdt2_ick"), | ||
337 | DT_CLK(NULL, "wdt2_ick", "wdt2_ick"), | ||
338 | DT_CLK(NULL, "wdt1_ick", "wdt1_ick"), | ||
339 | DT_CLK(NULL, "gpio1_ick", "gpio1_ick"), | ||
340 | DT_CLK(NULL, "omap_32ksync_ick", "omap_32ksync_ick"), | ||
341 | DT_CLK(NULL, "gpt12_ick", "gpt12_ick"), | ||
342 | DT_CLK(NULL, "gpt1_ick", "gpt1_ick"), | ||
343 | DT_CLK(NULL, "per_96m_fck", "per_96m_fck"), | ||
344 | DT_CLK(NULL, "per_48m_fck", "per_48m_fck"), | ||
345 | DT_CLK(NULL, "uart3_fck", "uart3_fck"), | ||
346 | DT_CLK(NULL, "gpt2_fck", "gpt2_fck"), | ||
347 | DT_CLK(NULL, "gpt3_fck", "gpt3_fck"), | ||
348 | DT_CLK(NULL, "gpt4_fck", "gpt4_fck"), | ||
349 | DT_CLK(NULL, "gpt5_fck", "gpt5_fck"), | ||
350 | DT_CLK(NULL, "gpt6_fck", "gpt6_fck"), | ||
351 | DT_CLK(NULL, "gpt7_fck", "gpt7_fck"), | ||
352 | DT_CLK(NULL, "gpt8_fck", "gpt8_fck"), | ||
353 | DT_CLK(NULL, "gpt9_fck", "gpt9_fck"), | ||
354 | DT_CLK(NULL, "per_32k_alwon_fck", "per_32k_alwon_fck"), | ||
355 | DT_CLK(NULL, "gpio6_dbck", "gpio6_dbck"), | ||
356 | DT_CLK(NULL, "gpio5_dbck", "gpio5_dbck"), | ||
357 | DT_CLK(NULL, "gpio4_dbck", "gpio4_dbck"), | ||
358 | DT_CLK(NULL, "gpio3_dbck", "gpio3_dbck"), | ||
359 | DT_CLK(NULL, "gpio2_dbck", "gpio2_dbck"), | ||
360 | DT_CLK(NULL, "wdt3_fck", "wdt3_fck"), | ||
361 | DT_CLK(NULL, "per_l4_ick", "per_l4_ick"), | ||
362 | DT_CLK(NULL, "gpio6_ick", "gpio6_ick"), | ||
363 | DT_CLK(NULL, "gpio5_ick", "gpio5_ick"), | ||
364 | DT_CLK(NULL, "gpio4_ick", "gpio4_ick"), | ||
365 | DT_CLK(NULL, "gpio3_ick", "gpio3_ick"), | ||
366 | DT_CLK(NULL, "gpio2_ick", "gpio2_ick"), | ||
367 | DT_CLK(NULL, "wdt3_ick", "wdt3_ick"), | ||
368 | DT_CLK(NULL, "uart3_ick", "uart3_ick"), | ||
369 | DT_CLK(NULL, "gpt9_ick", "gpt9_ick"), | ||
370 | DT_CLK(NULL, "gpt8_ick", "gpt8_ick"), | ||
371 | DT_CLK(NULL, "gpt7_ick", "gpt7_ick"), | ||
372 | DT_CLK(NULL, "gpt6_ick", "gpt6_ick"), | ||
373 | DT_CLK(NULL, "gpt5_ick", "gpt5_ick"), | ||
374 | DT_CLK(NULL, "gpt4_ick", "gpt4_ick"), | ||
375 | DT_CLK(NULL, "gpt3_ick", "gpt3_ick"), | ||
376 | DT_CLK(NULL, "gpt2_ick", "gpt2_ick"), | ||
377 | DT_CLK(NULL, "mcbsp_clks", "mcbsp_clks"), | ||
378 | DT_CLK(NULL, "mcbsp1_ick", "mcbsp1_ick"), | ||
379 | DT_CLK(NULL, "mcbsp2_ick", "mcbsp2_ick"), | ||
380 | DT_CLK(NULL, "mcbsp3_ick", "mcbsp3_ick"), | ||
381 | DT_CLK(NULL, "mcbsp4_ick", "mcbsp4_ick"), | ||
382 | DT_CLK(NULL, "mcbsp5_ick", "mcbsp5_ick"), | ||
383 | DT_CLK(NULL, "mcbsp1_fck", "mcbsp1_fck"), | ||
384 | DT_CLK(NULL, "mcbsp2_fck", "mcbsp2_fck"), | ||
385 | DT_CLK(NULL, "mcbsp3_fck", "mcbsp3_fck"), | ||
386 | DT_CLK(NULL, "mcbsp4_fck", "mcbsp4_fck"), | ||
387 | DT_CLK(NULL, "mcbsp5_fck", "mcbsp5_fck"), | ||
388 | DT_CLK("etb", "emu_src_ck", "emu_src_ck"), | ||
389 | DT_CLK(NULL, "emu_src_ck", "emu_src_ck"), | ||
390 | DT_CLK(NULL, "pclk_fck", "pclk_fck"), | ||
391 | DT_CLK(NULL, "pclkx2_fck", "pclkx2_fck"), | ||
392 | DT_CLK(NULL, "atclk_fck", "atclk_fck"), | ||
393 | DT_CLK(NULL, "traceclk_src_fck", "traceclk_src_fck"), | ||
394 | DT_CLK(NULL, "traceclk_fck", "traceclk_fck"), | ||
395 | DT_CLK(NULL, "secure_32k_fck", "secure_32k_fck"), | ||
396 | DT_CLK(NULL, "gpt12_fck", "gpt12_fck"), | ||
397 | DT_CLK(NULL, "wdt1_fck", "wdt1_fck"), | ||
398 | DT_CLK(NULL, "timer_32k_ck", "omap_32k_fck"), | 227 | DT_CLK(NULL, "timer_32k_ck", "omap_32k_fck"), |
399 | DT_CLK(NULL, "timer_sys_ck", "sys_ck"), | 228 | DT_CLK(NULL, "timer_sys_ck", "sys_ck"), |
400 | DT_CLK(NULL, "cpufreq_ck", "dpll1_ck"), | ||
401 | { .node_name = NULL }, | ||
402 | }; | ||
403 | |||
404 | static struct ti_dt_clk omap34xx_omap36xx_clks[] = { | ||
405 | DT_CLK(NULL, "aes1_ick", "aes1_ick"), | ||
406 | DT_CLK("omap_rng", "ick", "rng_ick"), | ||
407 | DT_CLK("omap3-rom-rng", "ick", "rng_ick"), | ||
408 | DT_CLK(NULL, "sha11_ick", "sha11_ick"), | ||
409 | DT_CLK(NULL, "des1_ick", "des1_ick"), | ||
410 | DT_CLK(NULL, "cam_mclk", "cam_mclk"), | ||
411 | DT_CLK(NULL, "cam_ick", "cam_ick"), | ||
412 | DT_CLK(NULL, "csi2_96m_fck", "csi2_96m_fck"), | ||
413 | DT_CLK(NULL, "security_l3_ick", "security_l3_ick"), | ||
414 | DT_CLK(NULL, "pka_ick", "pka_ick"), | ||
415 | DT_CLK(NULL, "icr_ick", "icr_ick"), | ||
416 | DT_CLK("omap-aes", "ick", "aes2_ick"), | ||
417 | DT_CLK("omap-sham", "ick", "sha12_ick"), | ||
418 | DT_CLK(NULL, "des2_ick", "des2_ick"), | ||
419 | DT_CLK(NULL, "mspro_ick", "mspro_ick"), | ||
420 | DT_CLK(NULL, "mailboxes_ick", "mailboxes_ick"), | ||
421 | DT_CLK(NULL, "ssi_l4_ick", "ssi_l4_ick"), | ||
422 | DT_CLK(NULL, "sr1_fck", "sr1_fck"), | ||
423 | DT_CLK(NULL, "sr2_fck", "sr2_fck"), | ||
424 | DT_CLK(NULL, "sr_l4_ick", "sr_l4_ick"), | ||
425 | DT_CLK(NULL, "security_l4_ick2", "security_l4_ick2"), | ||
426 | DT_CLK(NULL, "wkup_l4_ick", "wkup_l4_ick"), | ||
427 | DT_CLK(NULL, "dpll2_fck", "dpll2_fck"), | ||
428 | DT_CLK(NULL, "iva2_ck", "iva2_ck"), | ||
429 | DT_CLK(NULL, "modem_fck", "modem_fck"), | ||
430 | DT_CLK(NULL, "sad2d_ick", "sad2d_ick"), | ||
431 | DT_CLK(NULL, "mad2d_ick", "mad2d_ick"), | ||
432 | DT_CLK(NULL, "mspro_fck", "mspro_fck"), | ||
433 | DT_CLK(NULL, "dpll2_ck", "dpll2_ck"), | ||
434 | DT_CLK(NULL, "dpll2_m2_ck", "dpll2_m2_ck"), | ||
435 | { .node_name = NULL }, | 229 | { .node_name = NULL }, |
436 | }; | 230 | }; |
437 | 231 | ||
438 | static struct ti_dt_clk omap36xx_omap3430es2plus_clks[] = { | 232 | static struct ti_dt_clk omap36xx_omap3430es2plus_clks[] = { |
439 | DT_CLK(NULL, "ssi_ssr_fck", "ssi_ssr_fck_3430es2"), | 233 | DT_CLK(NULL, "ssi_ssr_fck", "ssi_ssr_fck_3430es2"), |
440 | DT_CLK(NULL, "ssi_sst_fck", "ssi_sst_fck_3430es2"), | 234 | DT_CLK(NULL, "ssi_sst_fck", "ssi_sst_fck_3430es2"), |
441 | DT_CLK("musb-omap2430", "ick", "hsotgusb_ick_3430es2"), | ||
442 | DT_CLK(NULL, "hsotgusb_ick", "hsotgusb_ick_3430es2"), | 235 | DT_CLK(NULL, "hsotgusb_ick", "hsotgusb_ick_3430es2"), |
443 | DT_CLK(NULL, "ssi_ick", "ssi_ick_3430es2"), | 236 | DT_CLK(NULL, "ssi_ick", "ssi_ick_3430es2"), |
444 | DT_CLK(NULL, "usim_fck", "usim_fck"), | ||
445 | DT_CLK(NULL, "usim_ick", "usim_ick"), | ||
446 | { .node_name = NULL }, | 237 | { .node_name = NULL }, |
447 | }; | 238 | }; |
448 | 239 | ||
449 | static struct ti_dt_clk omap3430es1_clks[] = { | 240 | static struct ti_dt_clk omap3430es1_clks[] = { |
450 | DT_CLK(NULL, "gfx_l3_ck", "gfx_l3_ck"), | ||
451 | DT_CLK(NULL, "gfx_l3_fck", "gfx_l3_fck"), | ||
452 | DT_CLK(NULL, "gfx_l3_ick", "gfx_l3_ick"), | ||
453 | DT_CLK(NULL, "gfx_cg1_ck", "gfx_cg1_ck"), | ||
454 | DT_CLK(NULL, "gfx_cg2_ck", "gfx_cg2_ck"), | ||
455 | DT_CLK(NULL, "d2d_26m_fck", "d2d_26m_fck"), | ||
456 | DT_CLK(NULL, "fshostusb_fck", "fshostusb_fck"), | ||
457 | DT_CLK(NULL, "ssi_ssr_fck", "ssi_ssr_fck_3430es1"), | 241 | DT_CLK(NULL, "ssi_ssr_fck", "ssi_ssr_fck_3430es1"), |
458 | DT_CLK(NULL, "ssi_sst_fck", "ssi_sst_fck_3430es1"), | 242 | DT_CLK(NULL, "ssi_sst_fck", "ssi_sst_fck_3430es1"), |
459 | DT_CLK("musb-omap2430", "ick", "hsotgusb_ick_3430es1"), | ||
460 | DT_CLK(NULL, "hsotgusb_ick", "hsotgusb_ick_3430es1"), | 243 | DT_CLK(NULL, "hsotgusb_ick", "hsotgusb_ick_3430es1"), |
461 | DT_CLK(NULL, "fac_ick", "fac_ick"), | ||
462 | DT_CLK(NULL, "ssi_ick", "ssi_ick_3430es1"), | 244 | DT_CLK(NULL, "ssi_ick", "ssi_ick_3430es1"), |
463 | DT_CLK(NULL, "usb_l4_ick", "usb_l4_ick"), | ||
464 | DT_CLK(NULL, "dss1_alwon_fck", "dss1_alwon_fck_3430es1"), | 245 | DT_CLK(NULL, "dss1_alwon_fck", "dss1_alwon_fck_3430es1"), |
465 | DT_CLK("omapdss_dss", "ick", "dss_ick_3430es1"), | ||
466 | DT_CLK(NULL, "dss_ick", "dss_ick_3430es1"), | 246 | DT_CLK(NULL, "dss_ick", "dss_ick_3430es1"), |
467 | { .node_name = NULL }, | 247 | { .node_name = NULL }, |
468 | }; | 248 | }; |
469 | 249 | ||
470 | static struct ti_dt_clk omap36xx_am35xx_omap3430es2plus_clks[] = { | 250 | static struct ti_dt_clk omap36xx_am35xx_omap3430es2plus_clks[] = { |
471 | DT_CLK(NULL, "virt_16_8m_ck", "virt_16_8m_ck"), | ||
472 | DT_CLK(NULL, "dpll5_ck", "dpll5_ck"), | ||
473 | DT_CLK(NULL, "dpll5_m2_ck", "dpll5_m2_ck"), | ||
474 | DT_CLK(NULL, "sgx_fck", "sgx_fck"), | ||
475 | DT_CLK(NULL, "sgx_ick", "sgx_ick"), | ||
476 | DT_CLK(NULL, "cpefuse_fck", "cpefuse_fck"), | ||
477 | DT_CLK(NULL, "ts_fck", "ts_fck"), | ||
478 | DT_CLK(NULL, "usbtll_fck", "usbtll_fck"), | ||
479 | DT_CLK(NULL, "usbtll_ick", "usbtll_ick"), | ||
480 | DT_CLK("omap_hsmmc.2", "ick", "mmchs3_ick"), | ||
481 | DT_CLK(NULL, "mmchs3_ick", "mmchs3_ick"), | ||
482 | DT_CLK(NULL, "mmchs3_fck", "mmchs3_fck"), | ||
483 | DT_CLK(NULL, "dss1_alwon_fck", "dss1_alwon_fck_3430es2"), | 251 | DT_CLK(NULL, "dss1_alwon_fck", "dss1_alwon_fck_3430es2"), |
484 | DT_CLK("omapdss_dss", "ick", "dss_ick_3430es2"), | ||
485 | DT_CLK(NULL, "dss_ick", "dss_ick_3430es2"), | 252 | DT_CLK(NULL, "dss_ick", "dss_ick_3430es2"), |
486 | DT_CLK(NULL, "usbhost_120m_fck", "usbhost_120m_fck"), | ||
487 | DT_CLK(NULL, "usbhost_48m_fck", "usbhost_48m_fck"), | ||
488 | DT_CLK(NULL, "usbhost_ick", "usbhost_ick"), | ||
489 | { .node_name = NULL }, | 253 | { .node_name = NULL }, |
490 | }; | 254 | }; |
491 | 255 | ||
492 | static struct ti_dt_clk am35xx_clks[] = { | 256 | static struct ti_dt_clk am35xx_clks[] = { |
493 | DT_CLK(NULL, "ipss_ick", "ipss_ick"), | ||
494 | DT_CLK(NULL, "rmii_ck", "rmii_ck"), | ||
495 | DT_CLK(NULL, "pclk_ck", "pclk_ck"), | ||
496 | DT_CLK(NULL, "emac_ick", "emac_ick"), | ||
497 | DT_CLK(NULL, "emac_fck", "emac_fck"), | ||
498 | DT_CLK("davinci_emac.0", NULL, "emac_ick"), | ||
499 | DT_CLK("davinci_mdio.0", NULL, "emac_fck"), | ||
500 | DT_CLK("vpfe-capture", "master", "vpfe_ick"), | ||
501 | DT_CLK("vpfe-capture", "slave", "vpfe_fck"), | ||
502 | DT_CLK(NULL, "hsotgusb_ick", "hsotgusb_ick_am35xx"), | 257 | DT_CLK(NULL, "hsotgusb_ick", "hsotgusb_ick_am35xx"), |
503 | DT_CLK(NULL, "hsotgusb_fck", "hsotgusb_fck_am35xx"), | 258 | DT_CLK(NULL, "hsotgusb_fck", "hsotgusb_fck_am35xx"), |
504 | DT_CLK(NULL, "hecc_ck", "hecc_ck"), | ||
505 | DT_CLK(NULL, "uart4_ick", "uart4_ick_am35xx"), | 259 | DT_CLK(NULL, "uart4_ick", "uart4_ick_am35xx"), |
506 | DT_CLK(NULL, "uart4_fck", "uart4_fck_am35xx"), | 260 | DT_CLK(NULL, "uart4_fck", "uart4_fck_am35xx"), |
507 | { .node_name = NULL }, | 261 | { .node_name = NULL }, |
508 | }; | 262 | }; |
509 | 263 | ||
510 | static struct ti_dt_clk omap36xx_clks[] = { | ||
511 | DT_CLK(NULL, "omap_192m_alwon_fck", "omap_192m_alwon_fck"), | ||
512 | DT_CLK(NULL, "uart4_fck", "uart4_fck"), | ||
513 | DT_CLK(NULL, "uart4_ick", "uart4_ick"), | ||
514 | { .node_name = NULL }, | ||
515 | }; | ||
516 | |||
517 | static const char *enable_init_clks[] = { | 264 | static const char *enable_init_clks[] = { |
518 | "sdrc_ick", | 265 | "sdrc_ick", |
519 | "gpmc_fck", | 266 | "gpmc_fck", |
@@ -579,16 +326,10 @@ static int __init omap3xxx_dt_clk_init(int soc_type) | |||
579 | soc_type == OMAP3_SOC_OMAP3630) | 326 | soc_type == OMAP3_SOC_OMAP3630) |
580 | ti_dt_clocks_register(omap36xx_omap3430es2plus_clks); | 327 | ti_dt_clocks_register(omap36xx_omap3430es2plus_clks); |
581 | 328 | ||
582 | if (soc_type == OMAP3_SOC_OMAP3430_ES1 || | ||
583 | soc_type == OMAP3_SOC_OMAP3430_ES2_PLUS || | ||
584 | soc_type == OMAP3_SOC_OMAP3630) | ||
585 | ti_dt_clocks_register(omap34xx_omap36xx_clks); | ||
586 | |||
587 | if (soc_type == OMAP3_SOC_OMAP3630) | ||
588 | ti_dt_clocks_register(omap36xx_clks); | ||
589 | |||
590 | omap2_clk_disable_autoidle_all(); | 329 | omap2_clk_disable_autoidle_all(); |
591 | 330 | ||
331 | ti_clk_add_aliases(); | ||
332 | |||
592 | omap2_clk_enable_init_clocks(enable_init_clks, | 333 | omap2_clk_enable_init_clocks(enable_init_clks, |
593 | ARRAY_SIZE(enable_init_clks)); | 334 | ARRAY_SIZE(enable_init_clks)); |
594 | 335 | ||
diff --git a/drivers/clk/ti/clk-43xx.c b/drivers/clk/ti/clk-43xx.c index e816a7500e43..2b7c2e017665 100644 --- a/drivers/clk/ti/clk-43xx.c +++ b/drivers/clk/ti/clk-43xx.c | |||
@@ -19,109 +19,208 @@ | |||
19 | #include <linux/clk.h> | 19 | #include <linux/clk.h> |
20 | #include <linux/clk-provider.h> | 20 | #include <linux/clk-provider.h> |
21 | #include <linux/clk/ti.h> | 21 | #include <linux/clk/ti.h> |
22 | #include <dt-bindings/clock/am4.h> | ||
22 | 23 | ||
23 | #include "clock.h" | 24 | #include "clock.h" |
24 | 25 | ||
26 | static const char * const am4_synctimer_32kclk_parents[] __initconst = { | ||
27 | "mux_synctimer32k_ck", | ||
28 | NULL, | ||
29 | }; | ||
30 | |||
31 | static const struct omap_clkctrl_bit_data am4_counter_32k_bit_data[] __initconst = { | ||
32 | { 8, TI_CLK_GATE, am4_synctimer_32kclk_parents, NULL }, | ||
33 | { 0 }, | ||
34 | }; | ||
35 | |||
36 | static const char * const am4_gpio0_dbclk_parents[] __initconst = { | ||
37 | "gpio0_dbclk_mux_ck", | ||
38 | NULL, | ||
39 | }; | ||
40 | |||
41 | static const struct omap_clkctrl_bit_data am4_gpio1_bit_data[] __initconst = { | ||
42 | { 8, TI_CLK_GATE, am4_gpio0_dbclk_parents, NULL }, | ||
43 | { 0 }, | ||
44 | }; | ||
45 | |||
46 | static const struct omap_clkctrl_reg_data am4_l4_wkup_clkctrl_regs[] __initconst = { | ||
47 | { AM4_ADC_TSC_CLKCTRL, NULL, CLKF_SW_SUP, "adc_tsc_fck", "l3s_tsc_clkdm" }, | ||
48 | { AM4_L4_WKUP_CLKCTRL, NULL, CLKF_SW_SUP, "sys_clkin_ck", "l4_wkup_clkdm" }, | ||
49 | { AM4_WKUP_M3_CLKCTRL, NULL, CLKF_NO_IDLEST, "sys_clkin_ck" }, | ||
50 | { AM4_COUNTER_32K_CLKCTRL, am4_counter_32k_bit_data, CLKF_SW_SUP, "l4_wkup_cm:clk:0210:8" }, | ||
51 | { AM4_TIMER1_CLKCTRL, NULL, CLKF_SW_SUP, "timer1_fck", "l4_wkup_clkdm" }, | ||
52 | { AM4_WD_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "wdt1_fck", "l4_wkup_clkdm" }, | ||
53 | { AM4_I2C1_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_wkupdm_ck", "l4_wkup_clkdm" }, | ||
54 | { AM4_UART1_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_wkupdm_ck", "l4_wkup_clkdm" }, | ||
55 | { AM4_SMARTREFLEX0_CLKCTRL, NULL, CLKF_SW_SUP, "smartreflex0_fck", "l4_wkup_clkdm" }, | ||
56 | { AM4_SMARTREFLEX1_CLKCTRL, NULL, CLKF_SW_SUP, "smartreflex1_fck", "l4_wkup_clkdm" }, | ||
57 | { AM4_CONTROL_CLKCTRL, NULL, CLKF_SW_SUP, "sys_clkin_ck", "l4_wkup_clkdm" }, | ||
58 | { AM4_GPIO1_CLKCTRL, am4_gpio1_bit_data, CLKF_SW_SUP, "sys_clkin_ck", "l4_wkup_clkdm" }, | ||
59 | { 0 }, | ||
60 | }; | ||
61 | |||
62 | static const struct omap_clkctrl_reg_data am4_mpu_clkctrl_regs[] __initconst = { | ||
63 | { AM4_MPU_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_mpu_m2_ck" }, | ||
64 | { 0 }, | ||
65 | }; | ||
66 | |||
67 | static const struct omap_clkctrl_reg_data am4_gfx_l3_clkctrl_regs[] __initconst = { | ||
68 | { AM4_GFX_CLKCTRL, NULL, CLKF_SW_SUP, "gfx_fck_div_ck" }, | ||
69 | { 0 }, | ||
70 | }; | ||
71 | |||
72 | static const struct omap_clkctrl_reg_data am4_l4_rtc_clkctrl_regs[] __initconst = { | ||
73 | { AM4_RTC_CLKCTRL, NULL, CLKF_SW_SUP, "clk_32768_ck" }, | ||
74 | { 0 }, | ||
75 | }; | ||
76 | |||
77 | static const char * const am4_usb_otg_ss0_refclk960m_parents[] __initconst = { | ||
78 | "dpll_per_clkdcoldo", | ||
79 | NULL, | ||
80 | }; | ||
81 | |||
82 | static const struct omap_clkctrl_bit_data am4_usb_otg_ss0_bit_data[] __initconst = { | ||
83 | { 8, TI_CLK_GATE, am4_usb_otg_ss0_refclk960m_parents, NULL }, | ||
84 | { 0 }, | ||
85 | }; | ||
86 | |||
87 | static const struct omap_clkctrl_bit_data am4_usb_otg_ss1_bit_data[] __initconst = { | ||
88 | { 8, TI_CLK_GATE, am4_usb_otg_ss0_refclk960m_parents, NULL }, | ||
89 | { 0 }, | ||
90 | }; | ||
91 | |||
92 | static const char * const am4_gpio1_dbclk_parents[] __initconst = { | ||
93 | "clkdiv32k_ick", | ||
94 | NULL, | ||
95 | }; | ||
96 | |||
97 | static const struct omap_clkctrl_bit_data am4_gpio2_bit_data[] __initconst = { | ||
98 | { 8, TI_CLK_GATE, am4_gpio1_dbclk_parents, NULL }, | ||
99 | { 0 }, | ||
100 | }; | ||
101 | |||
102 | static const struct omap_clkctrl_bit_data am4_gpio3_bit_data[] __initconst = { | ||
103 | { 8, TI_CLK_GATE, am4_gpio1_dbclk_parents, NULL }, | ||
104 | { 0 }, | ||
105 | }; | ||
106 | |||
107 | static const struct omap_clkctrl_bit_data am4_gpio4_bit_data[] __initconst = { | ||
108 | { 8, TI_CLK_GATE, am4_gpio1_dbclk_parents, NULL }, | ||
109 | { 0 }, | ||
110 | }; | ||
111 | |||
112 | static const struct omap_clkctrl_bit_data am4_gpio5_bit_data[] __initconst = { | ||
113 | { 8, TI_CLK_GATE, am4_gpio1_dbclk_parents, NULL }, | ||
114 | { 0 }, | ||
115 | }; | ||
116 | |||
117 | static const struct omap_clkctrl_bit_data am4_gpio6_bit_data[] __initconst = { | ||
118 | { 8, TI_CLK_GATE, am4_gpio1_dbclk_parents, NULL }, | ||
119 | { 0 }, | ||
120 | }; | ||
121 | |||
122 | static const struct omap_clkctrl_reg_data am4_l4_per_clkctrl_regs[] __initconst = { | ||
123 | { AM4_L3_MAIN_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
124 | { AM4_AES_CLKCTRL, NULL, CLKF_SW_SUP, "aes0_fck", "l3_clkdm" }, | ||
125 | { AM4_DES_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
126 | { AM4_L3_INSTR_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
127 | { AM4_OCMCRAM_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
128 | { AM4_SHAM_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
129 | { AM4_VPFE0_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3s_clkdm" }, | ||
130 | { AM4_VPFE1_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3s_clkdm" }, | ||
131 | { AM4_TPCC_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
132 | { AM4_TPTC0_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
133 | { AM4_TPTC1_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
134 | { AM4_TPTC2_CLKCTRL, NULL, CLKF_SW_SUP, "l3_gclk", "l3_clkdm" }, | ||
135 | { AM4_L4_HS_CLKCTRL, NULL, CLKF_SW_SUP, "l4hs_gclk", "l3_clkdm" }, | ||
136 | { AM4_GPMC_CLKCTRL, NULL, CLKF_SW_SUP, "l3s_gclk", "l3s_clkdm" }, | ||
137 | { AM4_MCASP0_CLKCTRL, NULL, CLKF_SW_SUP, "mcasp0_fck", "l3s_clkdm" }, | ||
138 | { AM4_MCASP1_CLKCTRL, NULL, CLKF_SW_SUP, "mcasp1_fck", "l3s_clkdm" }, | ||
139 | { AM4_MMC3_CLKCTRL, NULL, CLKF_SW_SUP, "mmc_clk", "l3s_clkdm" }, | ||
140 | { AM4_QSPI_CLKCTRL, NULL, CLKF_SW_SUP, "l3s_gclk", "l3s_clkdm" }, | ||
141 | { AM4_USB_OTG_SS0_CLKCTRL, am4_usb_otg_ss0_bit_data, CLKF_SW_SUP, "l3s_gclk", "l3s_clkdm" }, | ||
142 | { AM4_USB_OTG_SS1_CLKCTRL, am4_usb_otg_ss1_bit_data, CLKF_SW_SUP, "l3s_gclk", "l3s_clkdm" }, | ||
143 | { AM4_PRUSS_CLKCTRL, NULL, CLKF_SW_SUP, "pruss_ocp_gclk", "pruss_ocp_clkdm" }, | ||
144 | { AM4_L4_LS_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
145 | { AM4_D_CAN0_CLKCTRL, NULL, CLKF_SW_SUP, "dcan0_fck" }, | ||
146 | { AM4_D_CAN1_CLKCTRL, NULL, CLKF_SW_SUP, "dcan1_fck" }, | ||
147 | { AM4_EPWMSS0_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
148 | { AM4_EPWMSS1_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
149 | { AM4_EPWMSS2_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
150 | { AM4_EPWMSS3_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
151 | { AM4_EPWMSS4_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
152 | { AM4_EPWMSS5_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
153 | { AM4_ELM_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
154 | { AM4_GPIO2_CLKCTRL, am4_gpio2_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
155 | { AM4_GPIO3_CLKCTRL, am4_gpio3_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
156 | { AM4_GPIO4_CLKCTRL, am4_gpio4_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
157 | { AM4_GPIO5_CLKCTRL, am4_gpio5_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
158 | { AM4_GPIO6_CLKCTRL, am4_gpio6_bit_data, CLKF_SW_SUP, "l4ls_gclk" }, | ||
159 | { AM4_HDQ1W_CLKCTRL, NULL, CLKF_SW_SUP, "func_12m_clk" }, | ||
160 | { AM4_I2C2_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
161 | { AM4_I2C3_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
162 | { AM4_MAILBOX_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
163 | { AM4_MMC1_CLKCTRL, NULL, CLKF_SW_SUP, "mmc_clk" }, | ||
164 | { AM4_MMC2_CLKCTRL, NULL, CLKF_SW_SUP, "mmc_clk" }, | ||
165 | { AM4_RNG_CLKCTRL, NULL, CLKF_SW_SUP, "rng_fck" }, | ||
166 | { AM4_SPI0_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
167 | { AM4_SPI1_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
168 | { AM4_SPI2_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
169 | { AM4_SPI3_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
170 | { AM4_SPI4_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
171 | { AM4_SPINLOCK_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
172 | { AM4_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "timer2_fck" }, | ||
173 | { AM4_TIMER3_CLKCTRL, NULL, CLKF_SW_SUP, "timer3_fck" }, | ||
174 | { AM4_TIMER4_CLKCTRL, NULL, CLKF_SW_SUP, "timer4_fck" }, | ||
175 | { AM4_TIMER5_CLKCTRL, NULL, CLKF_SW_SUP, "timer5_fck" }, | ||
176 | { AM4_TIMER6_CLKCTRL, NULL, CLKF_SW_SUP, "timer6_fck" }, | ||
177 | { AM4_TIMER7_CLKCTRL, NULL, CLKF_SW_SUP, "timer7_fck" }, | ||
178 | { AM4_TIMER8_CLKCTRL, NULL, CLKF_SW_SUP, "timer8_fck" }, | ||
179 | { AM4_TIMER9_CLKCTRL, NULL, CLKF_SW_SUP, "timer9_fck" }, | ||
180 | { AM4_TIMER10_CLKCTRL, NULL, CLKF_SW_SUP, "timer10_fck" }, | ||
181 | { AM4_TIMER11_CLKCTRL, NULL, CLKF_SW_SUP, "timer11_fck" }, | ||
182 | { AM4_UART2_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
183 | { AM4_UART3_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
184 | { AM4_UART4_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
185 | { AM4_UART5_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
186 | { AM4_UART6_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_per_m2_div4_ck" }, | ||
187 | { AM4_OCP2SCP0_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
188 | { AM4_OCP2SCP1_CLKCTRL, NULL, CLKF_SW_SUP, "l4ls_gclk" }, | ||
189 | { AM4_EMIF_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_ddr_m2_ck", "emif_clkdm" }, | ||
190 | { AM4_DSS_CORE_CLKCTRL, NULL, CLKF_SW_SUP, "disp_clk", "dss_clkdm" }, | ||
191 | { AM4_CPGMAC0_CLKCTRL, NULL, CLKF_SW_SUP, "cpsw_125mhz_gclk", "cpsw_125mhz_clkdm" }, | ||
192 | { 0 }, | ||
193 | }; | ||
194 | |||
195 | const struct omap_clkctrl_data am4_clkctrl_data[] __initconst = { | ||
196 | { 0x44df2820, am4_l4_wkup_clkctrl_regs }, | ||
197 | { 0x44df8320, am4_mpu_clkctrl_regs }, | ||
198 | { 0x44df8420, am4_gfx_l3_clkctrl_regs }, | ||
199 | { 0x44df8520, am4_l4_rtc_clkctrl_regs }, | ||
200 | { 0x44df8820, am4_l4_per_clkctrl_regs }, | ||
201 | { 0 }, | ||
202 | }; | ||
203 | |||
204 | const struct omap_clkctrl_data am438x_clkctrl_data[] __initconst = { | ||
205 | { 0x44df2820, am4_l4_wkup_clkctrl_regs }, | ||
206 | { 0x44df8320, am4_mpu_clkctrl_regs }, | ||
207 | { 0x44df8420, am4_gfx_l3_clkctrl_regs }, | ||
208 | { 0x44df8820, am4_l4_per_clkctrl_regs }, | ||
209 | { 0 }, | ||
210 | }; | ||
211 | |||
25 | static struct ti_dt_clk am43xx_clks[] = { | 212 | static struct ti_dt_clk am43xx_clks[] = { |
26 | DT_CLK(NULL, "clk_32768_ck", "clk_32768_ck"), | ||
27 | DT_CLK(NULL, "clk_rc32k_ck", "clk_rc32k_ck"), | ||
28 | DT_CLK(NULL, "virt_19200000_ck", "virt_19200000_ck"), | ||
29 | DT_CLK(NULL, "virt_24000000_ck", "virt_24000000_ck"), | ||
30 | DT_CLK(NULL, "virt_25000000_ck", "virt_25000000_ck"), | ||
31 | DT_CLK(NULL, "virt_26000000_ck", "virt_26000000_ck"), | ||
32 | DT_CLK(NULL, "sys_clkin_ck", "sys_clkin_ck"), | ||
33 | DT_CLK(NULL, "tclkin_ck", "tclkin_ck"), | ||
34 | DT_CLK(NULL, "dpll_core_ck", "dpll_core_ck"), | ||
35 | DT_CLK(NULL, "dpll_core_x2_ck", "dpll_core_x2_ck"), | ||
36 | DT_CLK(NULL, "dpll_core_m4_ck", "dpll_core_m4_ck"), | ||
37 | DT_CLK(NULL, "dpll_core_m5_ck", "dpll_core_m5_ck"), | ||
38 | DT_CLK(NULL, "dpll_core_m6_ck", "dpll_core_m6_ck"), | ||
39 | DT_CLK(NULL, "dpll_mpu_ck", "dpll_mpu_ck"), | ||
40 | DT_CLK(NULL, "dpll_mpu_m2_ck", "dpll_mpu_m2_ck"), | ||
41 | DT_CLK(NULL, "dpll_ddr_ck", "dpll_ddr_ck"), | ||
42 | DT_CLK(NULL, "dpll_ddr_m2_ck", "dpll_ddr_m2_ck"), | ||
43 | DT_CLK(NULL, "dpll_disp_ck", "dpll_disp_ck"), | ||
44 | DT_CLK(NULL, "dpll_disp_m2_ck", "dpll_disp_m2_ck"), | ||
45 | DT_CLK(NULL, "dpll_per_ck", "dpll_per_ck"), | ||
46 | DT_CLK(NULL, "dpll_per_m2_ck", "dpll_per_m2_ck"), | ||
47 | DT_CLK(NULL, "dpll_per_m2_div4_wkupdm_ck", "dpll_per_m2_div4_wkupdm_ck"), | ||
48 | DT_CLK(NULL, "dpll_per_m2_div4_ck", "dpll_per_m2_div4_ck"), | ||
49 | DT_CLK(NULL, "adc_tsc_fck", "adc_tsc_fck"), | ||
50 | DT_CLK(NULL, "clkdiv32k_ck", "clkdiv32k_ck"), | ||
51 | DT_CLK(NULL, "clkdiv32k_ick", "clkdiv32k_ick"), | ||
52 | DT_CLK(NULL, "dcan0_fck", "dcan0_fck"), | ||
53 | DT_CLK(NULL, "dcan1_fck", "dcan1_fck"), | ||
54 | DT_CLK(NULL, "pruss_ocp_gclk", "pruss_ocp_gclk"), | ||
55 | DT_CLK(NULL, "mcasp0_fck", "mcasp0_fck"), | ||
56 | DT_CLK(NULL, "mcasp1_fck", "mcasp1_fck"), | ||
57 | DT_CLK(NULL, "smartreflex0_fck", "smartreflex0_fck"), | ||
58 | DT_CLK(NULL, "smartreflex1_fck", "smartreflex1_fck"), | ||
59 | DT_CLK(NULL, "sha0_fck", "sha0_fck"), | ||
60 | DT_CLK(NULL, "aes0_fck", "aes0_fck"), | ||
61 | DT_CLK(NULL, "rng_fck", "rng_fck"), | ||
62 | DT_CLK(NULL, "timer1_fck", "timer1_fck"), | ||
63 | DT_CLK(NULL, "timer2_fck", "timer2_fck"), | ||
64 | DT_CLK(NULL, "timer3_fck", "timer3_fck"), | ||
65 | DT_CLK(NULL, "timer4_fck", "timer4_fck"), | ||
66 | DT_CLK(NULL, "timer5_fck", "timer5_fck"), | ||
67 | DT_CLK(NULL, "timer6_fck", "timer6_fck"), | ||
68 | DT_CLK(NULL, "timer7_fck", "timer7_fck"), | ||
69 | DT_CLK(NULL, "wdt1_fck", "wdt1_fck"), | ||
70 | DT_CLK(NULL, "l3_gclk", "l3_gclk"), | ||
71 | DT_CLK(NULL, "dpll_core_m4_div2_ck", "dpll_core_m4_div2_ck"), | ||
72 | DT_CLK(NULL, "l4hs_gclk", "l4hs_gclk"), | ||
73 | DT_CLK(NULL, "l3s_gclk", "l3s_gclk"), | ||
74 | DT_CLK(NULL, "l4ls_gclk", "l4ls_gclk"), | ||
75 | DT_CLK(NULL, "clk_24mhz", "clk_24mhz"), | ||
76 | DT_CLK(NULL, "cpsw_125mhz_gclk", "cpsw_125mhz_gclk"), | ||
77 | DT_CLK(NULL, "cpsw_cpts_rft_clk", "cpsw_cpts_rft_clk"), | ||
78 | DT_CLK(NULL, "dpll_clksel_mac_clk", "dpll_clksel_mac_clk"), | ||
79 | DT_CLK(NULL, "gpio0_dbclk_mux_ck", "gpio0_dbclk_mux_ck"), | ||
80 | DT_CLK(NULL, "gpio0_dbclk", "gpio0_dbclk"), | ||
81 | DT_CLK(NULL, "gpio1_dbclk", "gpio1_dbclk"), | ||
82 | DT_CLK(NULL, "gpio2_dbclk", "gpio2_dbclk"), | ||
83 | DT_CLK(NULL, "gpio3_dbclk", "gpio3_dbclk"), | ||
84 | DT_CLK(NULL, "gpio4_dbclk", "gpio4_dbclk"), | ||
85 | DT_CLK(NULL, "gpio5_dbclk", "gpio5_dbclk"), | ||
86 | DT_CLK(NULL, "mmc_clk", "mmc_clk"), | ||
87 | DT_CLK(NULL, "gfx_fclk_clksel_ck", "gfx_fclk_clksel_ck"), | ||
88 | DT_CLK(NULL, "gfx_fck_div_ck", "gfx_fck_div_ck"), | ||
89 | DT_CLK(NULL, "timer_32k_ck", "clkdiv32k_ick"), | 213 | DT_CLK(NULL, "timer_32k_ck", "clkdiv32k_ick"), |
90 | DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"), | 214 | DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"), |
91 | DT_CLK(NULL, "sysclk_div", "sysclk_div"), | 215 | DT_CLK(NULL, "gpio0_dbclk", "l4_wkup_cm:0348:8"), |
92 | DT_CLK(NULL, "disp_clk", "disp_clk"), | 216 | DT_CLK(NULL, "gpio1_dbclk", "l4_per_cm:0458:8"), |
93 | DT_CLK(NULL, "clk_32k_mosc_ck", "clk_32k_mosc_ck"), | 217 | DT_CLK(NULL, "gpio2_dbclk", "l4_per_cm:0460:8"), |
94 | DT_CLK(NULL, "clk_32k_tpm_ck", "clk_32k_tpm_ck"), | 218 | DT_CLK(NULL, "gpio3_dbclk", "l4_per_cm:0468:8"), |
95 | DT_CLK(NULL, "dpll_extdev_ck", "dpll_extdev_ck"), | 219 | DT_CLK(NULL, "gpio4_dbclk", "l4_per_cm:0470:8"), |
96 | DT_CLK(NULL, "dpll_extdev_m2_ck", "dpll_extdev_m2_ck"), | 220 | DT_CLK(NULL, "gpio5_dbclk", "l4_per_cm:0478:8"), |
97 | DT_CLK(NULL, "mux_synctimer32k_ck", "mux_synctimer32k_ck"), | 221 | DT_CLK(NULL, "synctimer_32kclk", "l4_wkup_cm:0210:8"), |
98 | DT_CLK(NULL, "synctimer_32kclk", "synctimer_32kclk"), | 222 | DT_CLK(NULL, "usb_otg_ss0_refclk960m", "l4_per_cm:0240:8"), |
99 | DT_CLK(NULL, "timer8_fck", "timer8_fck"), | 223 | DT_CLK(NULL, "usb_otg_ss1_refclk960m", "l4_per_cm:0248:8"), |
100 | DT_CLK(NULL, "timer9_fck", "timer9_fck"), | ||
101 | DT_CLK(NULL, "timer10_fck", "timer10_fck"), | ||
102 | DT_CLK(NULL, "timer11_fck", "timer11_fck"), | ||
103 | DT_CLK(NULL, "cpsw_50m_clkdiv", "cpsw_50m_clkdiv"), | ||
104 | DT_CLK(NULL, "cpsw_5m_clkdiv", "cpsw_5m_clkdiv"), | ||
105 | DT_CLK(NULL, "dpll_ddr_x2_ck", "dpll_ddr_x2_ck"), | ||
106 | DT_CLK(NULL, "dpll_ddr_m4_ck", "dpll_ddr_m4_ck"), | ||
107 | DT_CLK(NULL, "dpll_per_clkdcoldo", "dpll_per_clkdcoldo"), | ||
108 | DT_CLK(NULL, "dll_aging_clk_div", "dll_aging_clk_div"), | ||
109 | DT_CLK(NULL, "div_core_25m_ck", "div_core_25m_ck"), | ||
110 | DT_CLK(NULL, "func_12m_clk", "func_12m_clk"), | ||
111 | DT_CLK(NULL, "vtp_clk_div", "vtp_clk_div"), | ||
112 | DT_CLK(NULL, "usbphy_32khz_clkmux", "usbphy_32khz_clkmux"), | ||
113 | DT_CLK("48300200.ehrpwm", "tbclk", "ehrpwm0_tbclk"), | ||
114 | DT_CLK("48302200.ehrpwm", "tbclk", "ehrpwm1_tbclk"), | ||
115 | DT_CLK("48304200.ehrpwm", "tbclk", "ehrpwm2_tbclk"), | ||
116 | DT_CLK("48306200.ehrpwm", "tbclk", "ehrpwm3_tbclk"), | ||
117 | DT_CLK("48308200.ehrpwm", "tbclk", "ehrpwm4_tbclk"), | ||
118 | DT_CLK("4830a200.ehrpwm", "tbclk", "ehrpwm5_tbclk"), | ||
119 | DT_CLK("48300200.pwm", "tbclk", "ehrpwm0_tbclk"), | ||
120 | DT_CLK("48302200.pwm", "tbclk", "ehrpwm1_tbclk"), | ||
121 | DT_CLK("48304200.pwm", "tbclk", "ehrpwm2_tbclk"), | ||
122 | DT_CLK("48306200.pwm", "tbclk", "ehrpwm3_tbclk"), | ||
123 | DT_CLK("48308200.pwm", "tbclk", "ehrpwm4_tbclk"), | ||
124 | DT_CLK("4830a200.pwm", "tbclk", "ehrpwm5_tbclk"), | ||
125 | { .node_name = NULL }, | 224 | { .node_name = NULL }, |
126 | }; | 225 | }; |
127 | 226 | ||
@@ -133,6 +232,8 @@ int __init am43xx_dt_clk_init(void) | |||
133 | 232 | ||
134 | omap2_clk_disable_autoidle_all(); | 233 | omap2_clk_disable_autoidle_all(); |
135 | 234 | ||
235 | ti_clk_add_aliases(); | ||
236 | |||
136 | /* | 237 | /* |
137 | * cpsw_cpts_rft_clk has got the choice of 3 clocksources | 238 | * cpsw_cpts_rft_clk has got the choice of 3 clocksources |
138 | * dpll_core_m4_ck, dpll_core_m5_ck and dpll_disp_m2_ck. | 239 | * dpll_core_m4_ck, dpll_core_m5_ck and dpll_disp_m2_ck. |
diff --git a/drivers/clk/ti/clk-44xx.c b/drivers/clk/ti/clk-44xx.c index 2005f032c02f..339d30d64ebb 100644 --- a/drivers/clk/ti/clk-44xx.c +++ b/drivers/clk/ti/clk-44xx.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #define OMAP4_DPLL_USB_DEFFREQ 960000000 | 35 | #define OMAP4_DPLL_USB_DEFFREQ 960000000 |
36 | 36 | ||
37 | static const struct omap_clkctrl_reg_data omap4_mpuss_clkctrl_regs[] __initconst = { | 37 | static const struct omap_clkctrl_reg_data omap4_mpuss_clkctrl_regs[] __initconst = { |
38 | { OMAP4_MPU_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_mpu_m2_ck" }, | 38 | { OMAP4_MPU_CLKCTRL, NULL, 0, "dpll_mpu_m2_ck" }, |
39 | { 0 }, | 39 | { 0 }, |
40 | }; | 40 | }; |
41 | 41 | ||
@@ -59,7 +59,7 @@ static const struct omap_clkctrl_bit_data omap4_aess_bit_data[] __initconst = { | |||
59 | }; | 59 | }; |
60 | 60 | ||
61 | static const char * const omap4_func_dmic_abe_gfclk_parents[] __initconst = { | 61 | static const char * const omap4_func_dmic_abe_gfclk_parents[] __initconst = { |
62 | "dmic_sync_mux_ck", | 62 | "abe_cm:clk:0018:26", |
63 | "pad_clks_ck", | 63 | "pad_clks_ck", |
64 | "slimbus_clk", | 64 | "slimbus_clk", |
65 | NULL, | 65 | NULL, |
@@ -79,7 +79,7 @@ static const struct omap_clkctrl_bit_data omap4_dmic_bit_data[] __initconst = { | |||
79 | }; | 79 | }; |
80 | 80 | ||
81 | static const char * const omap4_func_mcasp_abe_gfclk_parents[] __initconst = { | 81 | static const char * const omap4_func_mcasp_abe_gfclk_parents[] __initconst = { |
82 | "mcasp_sync_mux_ck", | 82 | "abe_cm:clk:0020:26", |
83 | "pad_clks_ck", | 83 | "pad_clks_ck", |
84 | "slimbus_clk", | 84 | "slimbus_clk", |
85 | NULL, | 85 | NULL, |
@@ -92,7 +92,7 @@ static const struct omap_clkctrl_bit_data omap4_mcasp_bit_data[] __initconst = { | |||
92 | }; | 92 | }; |
93 | 93 | ||
94 | static const char * const omap4_func_mcbsp1_gfclk_parents[] __initconst = { | 94 | static const char * const omap4_func_mcbsp1_gfclk_parents[] __initconst = { |
95 | "mcbsp1_sync_mux_ck", | 95 | "abe_cm:clk:0028:26", |
96 | "pad_clks_ck", | 96 | "pad_clks_ck", |
97 | "slimbus_clk", | 97 | "slimbus_clk", |
98 | NULL, | 98 | NULL, |
@@ -105,7 +105,7 @@ static const struct omap_clkctrl_bit_data omap4_mcbsp1_bit_data[] __initconst = | |||
105 | }; | 105 | }; |
106 | 106 | ||
107 | static const char * const omap4_func_mcbsp2_gfclk_parents[] __initconst = { | 107 | static const char * const omap4_func_mcbsp2_gfclk_parents[] __initconst = { |
108 | "mcbsp2_sync_mux_ck", | 108 | "abe_cm:clk:0030:26", |
109 | "pad_clks_ck", | 109 | "pad_clks_ck", |
110 | "slimbus_clk", | 110 | "slimbus_clk", |
111 | NULL, | 111 | NULL, |
@@ -118,7 +118,7 @@ static const struct omap_clkctrl_bit_data omap4_mcbsp2_bit_data[] __initconst = | |||
118 | }; | 118 | }; |
119 | 119 | ||
120 | static const char * const omap4_func_mcbsp3_gfclk_parents[] __initconst = { | 120 | static const char * const omap4_func_mcbsp3_gfclk_parents[] __initconst = { |
121 | "mcbsp3_sync_mux_ck", | 121 | "abe_cm:clk:0038:26", |
122 | "pad_clks_ck", | 122 | "pad_clks_ck", |
123 | "slimbus_clk", | 123 | "slimbus_clk", |
124 | NULL, | 124 | NULL, |
@@ -186,18 +186,18 @@ static const struct omap_clkctrl_bit_data omap4_timer8_bit_data[] __initconst = | |||
186 | 186 | ||
187 | static const struct omap_clkctrl_reg_data omap4_abe_clkctrl_regs[] __initconst = { | 187 | static const struct omap_clkctrl_reg_data omap4_abe_clkctrl_regs[] __initconst = { |
188 | { OMAP4_L4_ABE_CLKCTRL, NULL, 0, "ocp_abe_iclk" }, | 188 | { OMAP4_L4_ABE_CLKCTRL, NULL, 0, "ocp_abe_iclk" }, |
189 | { OMAP4_AESS_CLKCTRL, omap4_aess_bit_data, CLKF_SW_SUP, "aess_fclk" }, | 189 | { OMAP4_AESS_CLKCTRL, omap4_aess_bit_data, CLKF_SW_SUP, "abe_cm:clk:0008:24" }, |
190 | { OMAP4_MCPDM_CLKCTRL, NULL, CLKF_SW_SUP, "pad_clks_ck" }, | 190 | { OMAP4_MCPDM_CLKCTRL, NULL, CLKF_SW_SUP, "pad_clks_ck" }, |
191 | { OMAP4_DMIC_CLKCTRL, omap4_dmic_bit_data, CLKF_SW_SUP, "func_dmic_abe_gfclk" }, | 191 | { OMAP4_DMIC_CLKCTRL, omap4_dmic_bit_data, CLKF_SW_SUP, "abe_cm:clk:0018:24" }, |
192 | { OMAP4_MCASP_CLKCTRL, omap4_mcasp_bit_data, CLKF_SW_SUP, "func_mcasp_abe_gfclk" }, | 192 | { OMAP4_MCASP_CLKCTRL, omap4_mcasp_bit_data, CLKF_SW_SUP, "abe_cm:clk:0020:24" }, |
193 | { OMAP4_MCBSP1_CLKCTRL, omap4_mcbsp1_bit_data, CLKF_SW_SUP, "func_mcbsp1_gfclk" }, | 193 | { OMAP4_MCBSP1_CLKCTRL, omap4_mcbsp1_bit_data, CLKF_SW_SUP, "abe_cm:clk:0028:24" }, |
194 | { OMAP4_MCBSP2_CLKCTRL, omap4_mcbsp2_bit_data, CLKF_SW_SUP, "func_mcbsp2_gfclk" }, | 194 | { OMAP4_MCBSP2_CLKCTRL, omap4_mcbsp2_bit_data, CLKF_SW_SUP, "abe_cm:clk:0030:24" }, |
195 | { OMAP4_MCBSP3_CLKCTRL, omap4_mcbsp3_bit_data, CLKF_SW_SUP, "func_mcbsp3_gfclk" }, | 195 | { OMAP4_MCBSP3_CLKCTRL, omap4_mcbsp3_bit_data, CLKF_SW_SUP, "abe_cm:clk:0038:24" }, |
196 | { OMAP4_SLIMBUS1_CLKCTRL, omap4_slimbus1_bit_data, CLKF_SW_SUP, "slimbus1_fclk_0" }, | 196 | { OMAP4_SLIMBUS1_CLKCTRL, omap4_slimbus1_bit_data, CLKF_SW_SUP, "abe_cm:clk:0040:8" }, |
197 | { OMAP4_TIMER5_CLKCTRL, omap4_timer5_bit_data, CLKF_SW_SUP, "timer5_sync_mux" }, | 197 | { OMAP4_TIMER5_CLKCTRL, omap4_timer5_bit_data, CLKF_SW_SUP, "abe_cm:clk:0048:24" }, |
198 | { OMAP4_TIMER6_CLKCTRL, omap4_timer6_bit_data, CLKF_SW_SUP, "timer6_sync_mux" }, | 198 | { OMAP4_TIMER6_CLKCTRL, omap4_timer6_bit_data, CLKF_SW_SUP, "abe_cm:clk:0050:24" }, |
199 | { OMAP4_TIMER7_CLKCTRL, omap4_timer7_bit_data, CLKF_SW_SUP, "timer7_sync_mux" }, | 199 | { OMAP4_TIMER7_CLKCTRL, omap4_timer7_bit_data, CLKF_SW_SUP, "abe_cm:clk:0058:24" }, |
200 | { OMAP4_TIMER8_CLKCTRL, omap4_timer8_bit_data, CLKF_SW_SUP, "timer8_sync_mux" }, | 200 | { OMAP4_TIMER8_CLKCTRL, omap4_timer8_bit_data, CLKF_SW_SUP, "abe_cm:clk:0060:24" }, |
201 | { OMAP4_WD_TIMER3_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, | 201 | { OMAP4_WD_TIMER3_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, |
202 | { 0 }, | 202 | { 0 }, |
203 | }; | 203 | }; |
@@ -280,6 +280,7 @@ static const char * const omap4_fdif_fck_parents[] __initconst = { | |||
280 | 280 | ||
281 | static const struct omap_clkctrl_div_data omap4_fdif_fck_data __initconst = { | 281 | static const struct omap_clkctrl_div_data omap4_fdif_fck_data __initconst = { |
282 | .max_div = 4, | 282 | .max_div = 4, |
283 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
283 | }; | 284 | }; |
284 | 285 | ||
285 | static const struct omap_clkctrl_bit_data omap4_fdif_bit_data[] __initconst = { | 286 | static const struct omap_clkctrl_bit_data omap4_fdif_bit_data[] __initconst = { |
@@ -289,7 +290,7 @@ static const struct omap_clkctrl_bit_data omap4_fdif_bit_data[] __initconst = { | |||
289 | 290 | ||
290 | static const struct omap_clkctrl_reg_data omap4_iss_clkctrl_regs[] __initconst = { | 291 | static const struct omap_clkctrl_reg_data omap4_iss_clkctrl_regs[] __initconst = { |
291 | { OMAP4_ISS_CLKCTRL, omap4_iss_bit_data, CLKF_SW_SUP, "ducati_clk_mux_ck" }, | 292 | { OMAP4_ISS_CLKCTRL, omap4_iss_bit_data, CLKF_SW_SUP, "ducati_clk_mux_ck" }, |
292 | { OMAP4_FDIF_CLKCTRL, omap4_fdif_bit_data, CLKF_SW_SUP, "fdif_fck" }, | 293 | { OMAP4_FDIF_CLKCTRL, omap4_fdif_bit_data, CLKF_SW_SUP, "iss_cm:clk:0008:24" }, |
293 | { 0 }, | 294 | { 0 }, |
294 | }; | 295 | }; |
295 | 296 | ||
@@ -322,7 +323,7 @@ static const struct omap_clkctrl_bit_data omap4_dss_core_bit_data[] __initconst | |||
322 | }; | 323 | }; |
323 | 324 | ||
324 | static const struct omap_clkctrl_reg_data omap4_l3_dss_clkctrl_regs[] __initconst = { | 325 | static const struct omap_clkctrl_reg_data omap4_l3_dss_clkctrl_regs[] __initconst = { |
325 | { OMAP4_DSS_CORE_CLKCTRL, omap4_dss_core_bit_data, CLKF_SW_SUP, "dss_dss_clk" }, | 326 | { OMAP4_DSS_CORE_CLKCTRL, omap4_dss_core_bit_data, CLKF_SW_SUP, "l3_dss_cm:clk:0000:8" }, |
326 | { 0 }, | 327 | { 0 }, |
327 | }; | 328 | }; |
328 | 329 | ||
@@ -338,7 +339,7 @@ static const struct omap_clkctrl_bit_data omap4_gpu_bit_data[] __initconst = { | |||
338 | }; | 339 | }; |
339 | 340 | ||
340 | static const struct omap_clkctrl_reg_data omap4_l3_gfx_clkctrl_regs[] __initconst = { | 341 | static const struct omap_clkctrl_reg_data omap4_l3_gfx_clkctrl_regs[] __initconst = { |
341 | { OMAP4_GPU_CLKCTRL, omap4_gpu_bit_data, CLKF_SW_SUP, "sgx_clk_mux" }, | 342 | { OMAP4_GPU_CLKCTRL, omap4_gpu_bit_data, CLKF_SW_SUP, "l3_gfx_cm:clk:0000:24" }, |
342 | { 0 }, | 343 | { 0 }, |
343 | }; | 344 | }; |
344 | 345 | ||
@@ -365,6 +366,7 @@ static const char * const omap4_hsi_fck_parents[] __initconst = { | |||
365 | 366 | ||
366 | static const struct omap_clkctrl_div_data omap4_hsi_fck_data __initconst = { | 367 | static const struct omap_clkctrl_div_data omap4_hsi_fck_data __initconst = { |
367 | .max_div = 4, | 368 | .max_div = 4, |
369 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
368 | }; | 370 | }; |
369 | 371 | ||
370 | static const struct omap_clkctrl_bit_data omap4_hsi_bit_data[] __initconst = { | 372 | static const struct omap_clkctrl_bit_data omap4_hsi_bit_data[] __initconst = { |
@@ -373,12 +375,12 @@ static const struct omap_clkctrl_bit_data omap4_hsi_bit_data[] __initconst = { | |||
373 | }; | 375 | }; |
374 | 376 | ||
375 | static const char * const omap4_usb_host_hs_utmi_p1_clk_parents[] __initconst = { | 377 | static const char * const omap4_usb_host_hs_utmi_p1_clk_parents[] __initconst = { |
376 | "utmi_p1_gfclk", | 378 | "l3_init_cm:clk:0038:24", |
377 | NULL, | 379 | NULL, |
378 | }; | 380 | }; |
379 | 381 | ||
380 | static const char * const omap4_usb_host_hs_utmi_p2_clk_parents[] __initconst = { | 382 | static const char * const omap4_usb_host_hs_utmi_p2_clk_parents[] __initconst = { |
381 | "utmi_p2_gfclk", | 383 | "l3_init_cm:clk:0038:25", |
382 | NULL, | 384 | NULL, |
383 | }; | 385 | }; |
384 | 386 | ||
@@ -419,7 +421,7 @@ static const struct omap_clkctrl_bit_data omap4_usb_host_hs_bit_data[] __initcon | |||
419 | }; | 421 | }; |
420 | 422 | ||
421 | static const char * const omap4_usb_otg_hs_xclk_parents[] __initconst = { | 423 | static const char * const omap4_usb_otg_hs_xclk_parents[] __initconst = { |
422 | "otg_60m_gfclk", | 424 | "l3_init_cm:clk:0040:24", |
423 | NULL, | 425 | NULL, |
424 | }; | 426 | }; |
425 | 427 | ||
@@ -453,14 +455,14 @@ static const struct omap_clkctrl_bit_data omap4_ocp2scp_usb_phy_bit_data[] __ini | |||
453 | }; | 455 | }; |
454 | 456 | ||
455 | static const struct omap_clkctrl_reg_data omap4_l3_init_clkctrl_regs[] __initconst = { | 457 | static const struct omap_clkctrl_reg_data omap4_l3_init_clkctrl_regs[] __initconst = { |
456 | { OMAP4_MMC1_CLKCTRL, omap4_mmc1_bit_data, CLKF_SW_SUP, "hsmmc1_fclk" }, | 458 | { OMAP4_MMC1_CLKCTRL, omap4_mmc1_bit_data, CLKF_SW_SUP, "l3_init_cm:clk:0008:24" }, |
457 | { OMAP4_MMC2_CLKCTRL, omap4_mmc2_bit_data, CLKF_SW_SUP, "hsmmc2_fclk" }, | 459 | { OMAP4_MMC2_CLKCTRL, omap4_mmc2_bit_data, CLKF_SW_SUP, "l3_init_cm:clk:0010:24" }, |
458 | { OMAP4_HSI_CLKCTRL, omap4_hsi_bit_data, CLKF_HW_SUP, "hsi_fck" }, | 460 | { OMAP4_HSI_CLKCTRL, omap4_hsi_bit_data, CLKF_HW_SUP, "l3_init_cm:clk:0018:24" }, |
459 | { OMAP4_USB_HOST_HS_CLKCTRL, omap4_usb_host_hs_bit_data, CLKF_SW_SUP, "init_60m_fclk" }, | 461 | { OMAP4_USB_HOST_HS_CLKCTRL, omap4_usb_host_hs_bit_data, CLKF_SW_SUP, "init_60m_fclk" }, |
460 | { OMAP4_USB_OTG_HS_CLKCTRL, omap4_usb_otg_hs_bit_data, CLKF_HW_SUP, "l3_div_ck" }, | 462 | { OMAP4_USB_OTG_HS_CLKCTRL, omap4_usb_otg_hs_bit_data, CLKF_HW_SUP, "l3_div_ck" }, |
461 | { OMAP4_USB_TLL_HS_CLKCTRL, omap4_usb_tll_hs_bit_data, CLKF_HW_SUP, "l4_div_ck" }, | 463 | { OMAP4_USB_TLL_HS_CLKCTRL, omap4_usb_tll_hs_bit_data, CLKF_HW_SUP, "l4_div_ck" }, |
462 | { OMAP4_USB_HOST_FS_CLKCTRL, NULL, CLKF_SW_SUP, "func_48mc_fclk" }, | 464 | { OMAP4_USB_HOST_FS_CLKCTRL, NULL, CLKF_SW_SUP, "func_48mc_fclk" }, |
463 | { OMAP4_OCP2SCP_USB_PHY_CLKCTRL, omap4_ocp2scp_usb_phy_bit_data, CLKF_HW_SUP, "ocp2scp_usb_phy_phy_48m" }, | 465 | { OMAP4_OCP2SCP_USB_PHY_CLKCTRL, omap4_ocp2scp_usb_phy_bit_data, CLKF_HW_SUP, "l3_init_cm:clk:00c0:8" }, |
464 | { 0 }, | 466 | { 0 }, |
465 | }; | 467 | }; |
466 | 468 | ||
@@ -531,7 +533,7 @@ static const struct omap_clkctrl_bit_data omap4_gpio6_bit_data[] __initconst = { | |||
531 | }; | 533 | }; |
532 | 534 | ||
533 | static const char * const omap4_per_mcbsp4_gfclk_parents[] __initconst = { | 535 | static const char * const omap4_per_mcbsp4_gfclk_parents[] __initconst = { |
534 | "mcbsp4_sync_mux_ck", | 536 | "l4_per_cm:clk:00c0:26", |
535 | "pad_clks_ck", | 537 | "pad_clks_ck", |
536 | NULL, | 538 | NULL, |
537 | }; | 539 | }; |
@@ -544,7 +546,7 @@ static const char * const omap4_mcbsp4_sync_mux_ck_parents[] __initconst = { | |||
544 | 546 | ||
545 | static const struct omap_clkctrl_bit_data omap4_mcbsp4_bit_data[] __initconst = { | 547 | static const struct omap_clkctrl_bit_data omap4_mcbsp4_bit_data[] __initconst = { |
546 | { 24, TI_CLK_MUX, omap4_per_mcbsp4_gfclk_parents, NULL }, | 548 | { 24, TI_CLK_MUX, omap4_per_mcbsp4_gfclk_parents, NULL }, |
547 | { 25, TI_CLK_MUX, omap4_mcbsp4_sync_mux_ck_parents, NULL }, | 549 | { 26, TI_CLK_MUX, omap4_mcbsp4_sync_mux_ck_parents, NULL }, |
548 | { 0 }, | 550 | { 0 }, |
549 | }; | 551 | }; |
550 | 552 | ||
@@ -571,12 +573,12 @@ static const struct omap_clkctrl_bit_data omap4_slimbus2_bit_data[] __initconst | |||
571 | }; | 573 | }; |
572 | 574 | ||
573 | static const struct omap_clkctrl_reg_data omap4_l4_per_clkctrl_regs[] __initconst = { | 575 | static const struct omap_clkctrl_reg_data omap4_l4_per_clkctrl_regs[] __initconst = { |
574 | { OMAP4_TIMER10_CLKCTRL, omap4_timer10_bit_data, CLKF_SW_SUP, "cm2_dm10_mux" }, | 576 | { OMAP4_TIMER10_CLKCTRL, omap4_timer10_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:0008:24" }, |
575 | { OMAP4_TIMER11_CLKCTRL, omap4_timer11_bit_data, CLKF_SW_SUP, "cm2_dm11_mux" }, | 577 | { OMAP4_TIMER11_CLKCTRL, omap4_timer11_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:0010:24" }, |
576 | { OMAP4_TIMER2_CLKCTRL, omap4_timer2_bit_data, CLKF_SW_SUP, "cm2_dm2_mux" }, | 578 | { OMAP4_TIMER2_CLKCTRL, omap4_timer2_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:0018:24" }, |
577 | { OMAP4_TIMER3_CLKCTRL, omap4_timer3_bit_data, CLKF_SW_SUP, "cm2_dm3_mux" }, | 579 | { OMAP4_TIMER3_CLKCTRL, omap4_timer3_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:0020:24" }, |
578 | { OMAP4_TIMER4_CLKCTRL, omap4_timer4_bit_data, CLKF_SW_SUP, "cm2_dm4_mux" }, | 580 | { OMAP4_TIMER4_CLKCTRL, omap4_timer4_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:0028:24" }, |
579 | { OMAP4_TIMER9_CLKCTRL, omap4_timer9_bit_data, CLKF_SW_SUP, "cm2_dm9_mux" }, | 581 | { OMAP4_TIMER9_CLKCTRL, omap4_timer9_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:0030:24" }, |
580 | { OMAP4_ELM_CLKCTRL, NULL, 0, "l4_div_ck" }, | 582 | { OMAP4_ELM_CLKCTRL, NULL, 0, "l4_div_ck" }, |
581 | { OMAP4_GPIO2_CLKCTRL, omap4_gpio2_bit_data, CLKF_HW_SUP, "l4_div_ck" }, | 583 | { OMAP4_GPIO2_CLKCTRL, omap4_gpio2_bit_data, CLKF_HW_SUP, "l4_div_ck" }, |
582 | { OMAP4_GPIO3_CLKCTRL, omap4_gpio3_bit_data, CLKF_HW_SUP, "l4_div_ck" }, | 584 | { OMAP4_GPIO3_CLKCTRL, omap4_gpio3_bit_data, CLKF_HW_SUP, "l4_div_ck" }, |
@@ -589,14 +591,14 @@ static const struct omap_clkctrl_reg_data omap4_l4_per_clkctrl_regs[] __initcons | |||
589 | { OMAP4_I2C3_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | 591 | { OMAP4_I2C3_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, |
590 | { OMAP4_I2C4_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | 592 | { OMAP4_I2C4_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, |
591 | { OMAP4_L4_PER_CLKCTRL, NULL, 0, "l4_div_ck" }, | 593 | { OMAP4_L4_PER_CLKCTRL, NULL, 0, "l4_div_ck" }, |
592 | { OMAP4_MCBSP4_CLKCTRL, omap4_mcbsp4_bit_data, CLKF_SW_SUP, "per_mcbsp4_gfclk" }, | 594 | { OMAP4_MCBSP4_CLKCTRL, omap4_mcbsp4_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:00c0:24" }, |
593 | { OMAP4_MCSPI1_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 595 | { OMAP4_MCSPI1_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
594 | { OMAP4_MCSPI2_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 596 | { OMAP4_MCSPI2_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
595 | { OMAP4_MCSPI3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 597 | { OMAP4_MCSPI3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
596 | { OMAP4_MCSPI4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 598 | { OMAP4_MCSPI4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
597 | { OMAP4_MMC3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 599 | { OMAP4_MMC3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
598 | { OMAP4_MMC4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 600 | { OMAP4_MMC4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
599 | { OMAP4_SLIMBUS2_CLKCTRL, omap4_slimbus2_bit_data, CLKF_SW_SUP, "slimbus2_fclk_0" }, | 601 | { OMAP4_SLIMBUS2_CLKCTRL, omap4_slimbus2_bit_data, CLKF_SW_SUP, "l4_per_cm:clk:0118:8" }, |
600 | { OMAP4_UART1_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 602 | { OMAP4_UART1_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
601 | { OMAP4_UART2_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 603 | { OMAP4_UART2_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
602 | { OMAP4_UART3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | 604 | { OMAP4_UART3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, |
@@ -619,7 +621,7 @@ static const struct omap_clkctrl_reg_data omap4_l4_wkup_clkctrl_regs[] __initcon | |||
619 | { OMAP4_L4_WKUP_CLKCTRL, NULL, 0, "l4_wkup_clk_mux_ck" }, | 621 | { OMAP4_L4_WKUP_CLKCTRL, NULL, 0, "l4_wkup_clk_mux_ck" }, |
620 | { OMAP4_WD_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, | 622 | { OMAP4_WD_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, |
621 | { OMAP4_GPIO1_CLKCTRL, omap4_gpio1_bit_data, CLKF_HW_SUP, "l4_wkup_clk_mux_ck" }, | 623 | { OMAP4_GPIO1_CLKCTRL, omap4_gpio1_bit_data, CLKF_HW_SUP, "l4_wkup_clk_mux_ck" }, |
622 | { OMAP4_TIMER1_CLKCTRL, omap4_timer1_bit_data, CLKF_SW_SUP, "dmt1_clk_mux" }, | 624 | { OMAP4_TIMER1_CLKCTRL, omap4_timer1_bit_data, CLKF_SW_SUP, "l4_wkup_cm:clk:0020:24" }, |
623 | { OMAP4_COUNTER_32K_CLKCTRL, NULL, 0, "sys_32k_ck" }, | 625 | { OMAP4_COUNTER_32K_CLKCTRL, NULL, 0, "sys_32k_ck" }, |
624 | { OMAP4_KBD_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, | 626 | { OMAP4_KBD_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, |
625 | { 0 }, | 627 | { 0 }, |
@@ -633,7 +635,7 @@ static const char * const omap4_pmd_stm_clock_mux_ck_parents[] __initconst = { | |||
633 | }; | 635 | }; |
634 | 636 | ||
635 | static const char * const omap4_trace_clk_div_div_ck_parents[] __initconst = { | 637 | static const char * const omap4_trace_clk_div_div_ck_parents[] __initconst = { |
636 | "pmd_trace_clk_mux_ck", | 638 | "emu_sys_cm:clk:0000:22", |
637 | NULL, | 639 | NULL, |
638 | }; | 640 | }; |
639 | 641 | ||
@@ -651,12 +653,13 @@ static const struct omap_clkctrl_div_data omap4_trace_clk_div_div_ck_data __init | |||
651 | }; | 653 | }; |
652 | 654 | ||
653 | static const char * const omap4_stm_clk_div_ck_parents[] __initconst = { | 655 | static const char * const omap4_stm_clk_div_ck_parents[] __initconst = { |
654 | "pmd_stm_clock_mux_ck", | 656 | "emu_sys_cm:clk:0000:20", |
655 | NULL, | 657 | NULL, |
656 | }; | 658 | }; |
657 | 659 | ||
658 | static const struct omap_clkctrl_div_data omap4_stm_clk_div_ck_data __initconst = { | 660 | static const struct omap_clkctrl_div_data omap4_stm_clk_div_ck_data __initconst = { |
659 | .max_div = 64, | 661 | .max_div = 64, |
662 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
660 | }; | 663 | }; |
661 | 664 | ||
662 | static const struct omap_clkctrl_bit_data omap4_debugss_bit_data[] __initconst = { | 665 | static const struct omap_clkctrl_bit_data omap4_debugss_bit_data[] __initconst = { |
@@ -697,52 +700,79 @@ const struct omap_clkctrl_data omap4_clkctrl_data[] __initconst = { | |||
697 | }; | 700 | }; |
698 | 701 | ||
699 | static struct ti_dt_clk omap44xx_clks[] = { | 702 | static struct ti_dt_clk omap44xx_clks[] = { |
700 | DT_CLK("smp_twd", NULL, "mpu_periphclk"), | ||
701 | DT_CLK("omapdss_dss", "ick", "dss_fck"), | ||
702 | DT_CLK("usbhs_omap", "fs_fck", "usb_host_fs_fck"), | ||
703 | DT_CLK("usbhs_omap", "hs_fck", "usb_host_hs_fck"), | ||
704 | DT_CLK("musb-omap2430", "ick", "usb_otg_hs_ick"), | ||
705 | DT_CLK("usbhs_omap", "usbtll_ick", "usb_tll_hs_ick"), | ||
706 | DT_CLK("usbhs_tll", "usbtll_ick", "usb_tll_hs_ick"), | ||
707 | DT_CLK("omap_i2c.1", "ick", "dummy_ck"), | ||
708 | DT_CLK("omap_i2c.2", "ick", "dummy_ck"), | ||
709 | DT_CLK("omap_i2c.3", "ick", "dummy_ck"), | ||
710 | DT_CLK("omap_i2c.4", "ick", "dummy_ck"), | ||
711 | DT_CLK(NULL, "mailboxes_ick", "dummy_ck"), | ||
712 | DT_CLK("omap_hsmmc.0", "ick", "dummy_ck"), | ||
713 | DT_CLK("omap_hsmmc.1", "ick", "dummy_ck"), | ||
714 | DT_CLK("omap_hsmmc.2", "ick", "dummy_ck"), | ||
715 | DT_CLK("omap_hsmmc.3", "ick", "dummy_ck"), | ||
716 | DT_CLK("omap_hsmmc.4", "ick", "dummy_ck"), | ||
717 | DT_CLK("omap-mcbsp.1", "ick", "dummy_ck"), | ||
718 | DT_CLK("omap-mcbsp.2", "ick", "dummy_ck"), | ||
719 | DT_CLK("omap-mcbsp.3", "ick", "dummy_ck"), | ||
720 | DT_CLK("omap-mcbsp.4", "ick", "dummy_ck"), | ||
721 | DT_CLK("omap2_mcspi.1", "ick", "dummy_ck"), | ||
722 | DT_CLK("omap2_mcspi.2", "ick", "dummy_ck"), | ||
723 | DT_CLK("omap2_mcspi.3", "ick", "dummy_ck"), | ||
724 | DT_CLK("omap2_mcspi.4", "ick", "dummy_ck"), | ||
725 | DT_CLK(NULL, "uart1_ick", "dummy_ck"), | ||
726 | DT_CLK(NULL, "uart2_ick", "dummy_ck"), | ||
727 | DT_CLK(NULL, "uart3_ick", "dummy_ck"), | ||
728 | DT_CLK(NULL, "uart4_ick", "dummy_ck"), | ||
729 | DT_CLK("usbhs_omap", "usbhost_ick", "dummy_ck"), | ||
730 | DT_CLK("usbhs_omap", "usbtll_fck", "dummy_ck"), | ||
731 | DT_CLK("usbhs_tll", "usbtll_fck", "dummy_ck"), | ||
732 | DT_CLK("omap_wdt", "ick", "dummy_ck"), | ||
733 | DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"), | 703 | DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"), |
734 | DT_CLK("4a318000.timer", "timer_sys_ck", "sys_clkin_ck"), | 704 | /* |
735 | DT_CLK("48032000.timer", "timer_sys_ck", "sys_clkin_ck"), | 705 | * XXX: All the clock aliases below are only needed for legacy |
736 | DT_CLK("48034000.timer", "timer_sys_ck", "sys_clkin_ck"), | 706 | * hwmod support. Once hwmod is removed, these can be removed |
737 | DT_CLK("48036000.timer", "timer_sys_ck", "sys_clkin_ck"), | 707 | * also. |
738 | DT_CLK("4803e000.timer", "timer_sys_ck", "sys_clkin_ck"), | 708 | */ |
739 | DT_CLK("48086000.timer", "timer_sys_ck", "sys_clkin_ck"), | 709 | DT_CLK(NULL, "aess_fclk", "abe_cm:0008:24"), |
740 | DT_CLK("48088000.timer", "timer_sys_ck", "sys_clkin_ck"), | 710 | DT_CLK(NULL, "cm2_dm10_mux", "l4_per_cm:0008:24"), |
741 | DT_CLK("40138000.timer", "timer_sys_ck", "syc_clk_div_ck"), | 711 | DT_CLK(NULL, "cm2_dm11_mux", "l4_per_cm:0010:24"), |
742 | DT_CLK("4013a000.timer", "timer_sys_ck", "syc_clk_div_ck"), | 712 | DT_CLK(NULL, "cm2_dm2_mux", "l4_per_cm:0018:24"), |
743 | DT_CLK("4013c000.timer", "timer_sys_ck", "syc_clk_div_ck"), | 713 | DT_CLK(NULL, "cm2_dm3_mux", "l4_per_cm:0020:24"), |
744 | DT_CLK("4013e000.timer", "timer_sys_ck", "syc_clk_div_ck"), | 714 | DT_CLK(NULL, "cm2_dm4_mux", "l4_per_cm:0028:24"), |
745 | DT_CLK(NULL, "cpufreq_ck", "dpll_mpu_ck"), | 715 | DT_CLK(NULL, "cm2_dm9_mux", "l4_per_cm:0030:24"), |
716 | DT_CLK(NULL, "dmic_sync_mux_ck", "abe_cm:0018:26"), | ||
717 | DT_CLK(NULL, "dmt1_clk_mux", "l4_wkup_cm:0020:24"), | ||
718 | DT_CLK(NULL, "dss_48mhz_clk", "l3_dss_cm:0000:9"), | ||
719 | DT_CLK(NULL, "dss_dss_clk", "l3_dss_cm:0000:8"), | ||
720 | DT_CLK(NULL, "dss_sys_clk", "l3_dss_cm:0000:10"), | ||
721 | DT_CLK(NULL, "dss_tv_clk", "l3_dss_cm:0000:11"), | ||
722 | DT_CLK(NULL, "fdif_fck", "iss_cm:0008:24"), | ||
723 | DT_CLK(NULL, "func_dmic_abe_gfclk", "abe_cm:0018:24"), | ||
724 | DT_CLK(NULL, "func_mcasp_abe_gfclk", "abe_cm:0020:24"), | ||
725 | DT_CLK(NULL, "func_mcbsp1_gfclk", "abe_cm:0028:24"), | ||
726 | DT_CLK(NULL, "func_mcbsp2_gfclk", "abe_cm:0030:24"), | ||
727 | DT_CLK(NULL, "func_mcbsp3_gfclk", "abe_cm:0038:24"), | ||
728 | DT_CLK(NULL, "gpio1_dbclk", "l4_wkup_cm:0018:8"), | ||
729 | DT_CLK(NULL, "gpio2_dbclk", "l4_per_cm:0040:8"), | ||
730 | DT_CLK(NULL, "gpio3_dbclk", "l4_per_cm:0048:8"), | ||
731 | DT_CLK(NULL, "gpio4_dbclk", "l4_per_cm:0050:8"), | ||
732 | DT_CLK(NULL, "gpio5_dbclk", "l4_per_cm:0058:8"), | ||
733 | DT_CLK(NULL, "gpio6_dbclk", "l4_per_cm:0060:8"), | ||
734 | DT_CLK(NULL, "hsi_fck", "l3_init_cm:0018:24"), | ||
735 | DT_CLK(NULL, "hsmmc1_fclk", "l3_init_cm:0008:24"), | ||
736 | DT_CLK(NULL, "hsmmc2_fclk", "l3_init_cm:0010:24"), | ||
737 | DT_CLK(NULL, "iss_ctrlclk", "iss_cm:0000:8"), | ||
738 | DT_CLK(NULL, "mcasp_sync_mux_ck", "abe_cm:0020:26"), | ||
739 | DT_CLK(NULL, "mcbsp1_sync_mux_ck", "abe_cm:0028:26"), | ||
740 | DT_CLK(NULL, "mcbsp2_sync_mux_ck", "abe_cm:0030:26"), | ||
741 | DT_CLK(NULL, "mcbsp3_sync_mux_ck", "abe_cm:0038:26"), | ||
742 | DT_CLK(NULL, "mcbsp4_sync_mux_ck", "l4_per_cm:00c0:26"), | ||
743 | DT_CLK(NULL, "ocp2scp_usb_phy_phy_48m", "l3_init_cm:00c0:8"), | ||
744 | DT_CLK(NULL, "otg_60m_gfclk", "l3_init_cm:0040:24"), | ||
745 | DT_CLK(NULL, "per_mcbsp4_gfclk", "l4_per_cm:00c0:24"), | ||
746 | DT_CLK(NULL, "pmd_stm_clock_mux_ck", "emu_sys_cm:0000:20"), | ||
747 | DT_CLK(NULL, "pmd_trace_clk_mux_ck", "emu_sys_cm:0000:22"), | ||
748 | DT_CLK(NULL, "sgx_clk_mux", "l3_gfx_cm:0000:24"), | ||
749 | DT_CLK(NULL, "slimbus1_fclk_0", "abe_cm:0040:8"), | ||
750 | DT_CLK(NULL, "slimbus1_fclk_1", "abe_cm:0040:9"), | ||
751 | DT_CLK(NULL, "slimbus1_fclk_2", "abe_cm:0040:10"), | ||
752 | DT_CLK(NULL, "slimbus1_slimbus_clk", "abe_cm:0040:11"), | ||
753 | DT_CLK(NULL, "slimbus2_fclk_0", "l4_per_cm:0118:8"), | ||
754 | DT_CLK(NULL, "slimbus2_fclk_1", "l4_per_cm:0118:9"), | ||
755 | DT_CLK(NULL, "slimbus2_slimbus_clk", "l4_per_cm:0118:10"), | ||
756 | DT_CLK(NULL, "stm_clk_div_ck", "emu_sys_cm:0000:27"), | ||
757 | DT_CLK(NULL, "timer5_sync_mux", "abe_cm:0048:24"), | ||
758 | DT_CLK(NULL, "timer6_sync_mux", "abe_cm:0050:24"), | ||
759 | DT_CLK(NULL, "timer7_sync_mux", "abe_cm:0058:24"), | ||
760 | DT_CLK(NULL, "timer8_sync_mux", "abe_cm:0060:24"), | ||
761 | DT_CLK(NULL, "trace_clk_div_div_ck", "emu_sys_cm:0000:24"), | ||
762 | DT_CLK(NULL, "usb_host_hs_func48mclk", "l3_init_cm:0038:15"), | ||
763 | DT_CLK(NULL, "usb_host_hs_hsic480m_p1_clk", "l3_init_cm:0038:13"), | ||
764 | DT_CLK(NULL, "usb_host_hs_hsic480m_p2_clk", "l3_init_cm:0038:14"), | ||
765 | DT_CLK(NULL, "usb_host_hs_hsic60m_p1_clk", "l3_init_cm:0038:11"), | ||
766 | DT_CLK(NULL, "usb_host_hs_hsic60m_p2_clk", "l3_init_cm:0038:12"), | ||
767 | DT_CLK(NULL, "usb_host_hs_utmi_p1_clk", "l3_init_cm:0038:8"), | ||
768 | DT_CLK(NULL, "usb_host_hs_utmi_p2_clk", "l3_init_cm:0038:9"), | ||
769 | DT_CLK(NULL, "usb_host_hs_utmi_p3_clk", "l3_init_cm:0038:10"), | ||
770 | DT_CLK(NULL, "usb_otg_hs_xclk", "l3_init_cm:0040:8"), | ||
771 | DT_CLK(NULL, "usb_tll_hs_usb_ch0_clk", "l3_init_cm:0048:8"), | ||
772 | DT_CLK(NULL, "usb_tll_hs_usb_ch1_clk", "l3_init_cm:0048:9"), | ||
773 | DT_CLK(NULL, "usb_tll_hs_usb_ch2_clk", "l3_init_cm:0048:10"), | ||
774 | DT_CLK(NULL, "utmi_p1_gfclk", "l3_init_cm:0038:24"), | ||
775 | DT_CLK(NULL, "utmi_p2_gfclk", "l3_init_cm:0038:25"), | ||
746 | { .node_name = NULL }, | 776 | { .node_name = NULL }, |
747 | }; | 777 | }; |
748 | 778 | ||
diff --git a/drivers/clk/ti/clk-54xx.c b/drivers/clk/ti/clk-54xx.c index 294bc03ec067..a17b0c4646a1 100644 --- a/drivers/clk/ti/clk-54xx.c +++ b/drivers/clk/ti/clk-54xx.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/clkdev.h> | 16 | #include <linux/clkdev.h> |
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/clk/ti.h> | 18 | #include <linux/clk/ti.h> |
19 | #include <dt-bindings/clock/omap5.h> | ||
19 | 20 | ||
20 | #include "clock.h" | 21 | #include "clock.h" |
21 | 22 | ||
@@ -27,201 +28,511 @@ | |||
27 | */ | 28 | */ |
28 | #define OMAP5_DPLL_USB_DEFFREQ 960000000 | 29 | #define OMAP5_DPLL_USB_DEFFREQ 960000000 |
29 | 30 | ||
31 | static const struct omap_clkctrl_reg_data omap5_mpu_clkctrl_regs[] __initconst = { | ||
32 | { OMAP5_MPU_CLKCTRL, NULL, 0, "dpll_mpu_m2_ck" }, | ||
33 | { 0 }, | ||
34 | }; | ||
35 | |||
36 | static const struct omap_clkctrl_reg_data omap5_dsp_clkctrl_regs[] __initconst = { | ||
37 | { OMAP5_MMU_DSP_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_iva_h11x2_ck" }, | ||
38 | { 0 }, | ||
39 | }; | ||
40 | |||
41 | static const char * const omap5_dmic_gfclk_parents[] __initconst = { | ||
42 | "abe_cm:clk:0018:26", | ||
43 | "pad_clks_ck", | ||
44 | "slimbus_clk", | ||
45 | NULL, | ||
46 | }; | ||
47 | |||
48 | static const char * const omap5_dmic_sync_mux_ck_parents[] __initconst = { | ||
49 | "abe_24m_fclk", | ||
50 | "dss_syc_gfclk_div", | ||
51 | "func_24m_clk", | ||
52 | NULL, | ||
53 | }; | ||
54 | |||
55 | static const struct omap_clkctrl_bit_data omap5_dmic_bit_data[] __initconst = { | ||
56 | { 24, TI_CLK_MUX, omap5_dmic_gfclk_parents, NULL }, | ||
57 | { 26, TI_CLK_MUX, omap5_dmic_sync_mux_ck_parents, NULL }, | ||
58 | { 0 }, | ||
59 | }; | ||
60 | |||
61 | static const char * const omap5_mcbsp1_gfclk_parents[] __initconst = { | ||
62 | "abe_cm:clk:0028:26", | ||
63 | "pad_clks_ck", | ||
64 | "slimbus_clk", | ||
65 | NULL, | ||
66 | }; | ||
67 | |||
68 | static const struct omap_clkctrl_bit_data omap5_mcbsp1_bit_data[] __initconst = { | ||
69 | { 24, TI_CLK_MUX, omap5_mcbsp1_gfclk_parents, NULL }, | ||
70 | { 26, TI_CLK_MUX, omap5_dmic_sync_mux_ck_parents, NULL }, | ||
71 | { 0 }, | ||
72 | }; | ||
73 | |||
74 | static const char * const omap5_mcbsp2_gfclk_parents[] __initconst = { | ||
75 | "abe_cm:clk:0030:26", | ||
76 | "pad_clks_ck", | ||
77 | "slimbus_clk", | ||
78 | NULL, | ||
79 | }; | ||
80 | |||
81 | static const struct omap_clkctrl_bit_data omap5_mcbsp2_bit_data[] __initconst = { | ||
82 | { 24, TI_CLK_MUX, omap5_mcbsp2_gfclk_parents, NULL }, | ||
83 | { 26, TI_CLK_MUX, omap5_dmic_sync_mux_ck_parents, NULL }, | ||
84 | { 0 }, | ||
85 | }; | ||
86 | |||
87 | static const char * const omap5_mcbsp3_gfclk_parents[] __initconst = { | ||
88 | "abe_cm:clk:0038:26", | ||
89 | "pad_clks_ck", | ||
90 | "slimbus_clk", | ||
91 | NULL, | ||
92 | }; | ||
93 | |||
94 | static const struct omap_clkctrl_bit_data omap5_mcbsp3_bit_data[] __initconst = { | ||
95 | { 24, TI_CLK_MUX, omap5_mcbsp3_gfclk_parents, NULL }, | ||
96 | { 26, TI_CLK_MUX, omap5_dmic_sync_mux_ck_parents, NULL }, | ||
97 | { 0 }, | ||
98 | }; | ||
99 | |||
100 | static const char * const omap5_timer5_gfclk_mux_parents[] __initconst = { | ||
101 | "dss_syc_gfclk_div", | ||
102 | "sys_32k_ck", | ||
103 | NULL, | ||
104 | }; | ||
105 | |||
106 | static const struct omap_clkctrl_bit_data omap5_timer5_bit_data[] __initconst = { | ||
107 | { 24, TI_CLK_MUX, omap5_timer5_gfclk_mux_parents, NULL }, | ||
108 | { 0 }, | ||
109 | }; | ||
110 | |||
111 | static const struct omap_clkctrl_bit_data omap5_timer6_bit_data[] __initconst = { | ||
112 | { 24, TI_CLK_MUX, omap5_timer5_gfclk_mux_parents, NULL }, | ||
113 | { 0 }, | ||
114 | }; | ||
115 | |||
116 | static const struct omap_clkctrl_bit_data omap5_timer7_bit_data[] __initconst = { | ||
117 | { 24, TI_CLK_MUX, omap5_timer5_gfclk_mux_parents, NULL }, | ||
118 | { 0 }, | ||
119 | }; | ||
120 | |||
121 | static const struct omap_clkctrl_bit_data omap5_timer8_bit_data[] __initconst = { | ||
122 | { 24, TI_CLK_MUX, omap5_timer5_gfclk_mux_parents, NULL }, | ||
123 | { 0 }, | ||
124 | }; | ||
125 | |||
126 | static const struct omap_clkctrl_reg_data omap5_abe_clkctrl_regs[] __initconst = { | ||
127 | { OMAP5_L4_ABE_CLKCTRL, NULL, 0, "abe_iclk" }, | ||
128 | { OMAP5_MCPDM_CLKCTRL, NULL, CLKF_SW_SUP, "pad_clks_ck" }, | ||
129 | { OMAP5_DMIC_CLKCTRL, omap5_dmic_bit_data, CLKF_SW_SUP, "abe_cm:clk:0018:24" }, | ||
130 | { OMAP5_MCBSP1_CLKCTRL, omap5_mcbsp1_bit_data, CLKF_SW_SUP, "abe_cm:clk:0028:24" }, | ||
131 | { OMAP5_MCBSP2_CLKCTRL, omap5_mcbsp2_bit_data, CLKF_SW_SUP, "abe_cm:clk:0030:24" }, | ||
132 | { OMAP5_MCBSP3_CLKCTRL, omap5_mcbsp3_bit_data, CLKF_SW_SUP, "abe_cm:clk:0038:24" }, | ||
133 | { OMAP5_TIMER5_CLKCTRL, omap5_timer5_bit_data, CLKF_SW_SUP, "abe_cm:clk:0048:24" }, | ||
134 | { OMAP5_TIMER6_CLKCTRL, omap5_timer6_bit_data, CLKF_SW_SUP, "abe_cm:clk:0050:24" }, | ||
135 | { OMAP5_TIMER7_CLKCTRL, omap5_timer7_bit_data, CLKF_SW_SUP, "abe_cm:clk:0058:24" }, | ||
136 | { OMAP5_TIMER8_CLKCTRL, omap5_timer8_bit_data, CLKF_SW_SUP, "abe_cm:clk:0060:24" }, | ||
137 | { 0 }, | ||
138 | }; | ||
139 | |||
140 | static const struct omap_clkctrl_reg_data omap5_l3main1_clkctrl_regs[] __initconst = { | ||
141 | { OMAP5_L3_MAIN_1_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
142 | { 0 }, | ||
143 | }; | ||
144 | |||
145 | static const struct omap_clkctrl_reg_data omap5_l3main2_clkctrl_regs[] __initconst = { | ||
146 | { OMAP5_L3_MAIN_2_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
147 | { 0 }, | ||
148 | }; | ||
149 | |||
150 | static const struct omap_clkctrl_reg_data omap5_ipu_clkctrl_regs[] __initconst = { | ||
151 | { OMAP5_MMU_IPU_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_core_h22x2_ck" }, | ||
152 | { 0 }, | ||
153 | }; | ||
154 | |||
155 | static const struct omap_clkctrl_reg_data omap5_dma_clkctrl_regs[] __initconst = { | ||
156 | { OMAP5_DMA_SYSTEM_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
157 | { 0 }, | ||
158 | }; | ||
159 | |||
160 | static const struct omap_clkctrl_reg_data omap5_emif_clkctrl_regs[] __initconst = { | ||
161 | { OMAP5_DMM_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
162 | { OMAP5_EMIF1_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_core_h11x2_ck" }, | ||
163 | { OMAP5_EMIF2_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_core_h11x2_ck" }, | ||
164 | { 0 }, | ||
165 | }; | ||
166 | |||
167 | static const struct omap_clkctrl_reg_data omap5_l4cfg_clkctrl_regs[] __initconst = { | ||
168 | { OMAP5_L4_CFG_CLKCTRL, NULL, 0, "l4_root_clk_div" }, | ||
169 | { OMAP5_SPINLOCK_CLKCTRL, NULL, 0, "l4_root_clk_div" }, | ||
170 | { OMAP5_MAILBOX_CLKCTRL, NULL, 0, "l4_root_clk_div" }, | ||
171 | { 0 }, | ||
172 | }; | ||
173 | |||
174 | static const struct omap_clkctrl_reg_data omap5_l3instr_clkctrl_regs[] __initconst = { | ||
175 | { OMAP5_L3_MAIN_3_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div" }, | ||
176 | { OMAP5_L3_INSTR_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div" }, | ||
177 | { 0 }, | ||
178 | }; | ||
179 | |||
180 | static const char * const omap5_timer10_gfclk_mux_parents[] __initconst = { | ||
181 | "sys_clkin", | ||
182 | "sys_32k_ck", | ||
183 | NULL, | ||
184 | }; | ||
185 | |||
186 | static const struct omap_clkctrl_bit_data omap5_timer10_bit_data[] __initconst = { | ||
187 | { 24, TI_CLK_MUX, omap5_timer10_gfclk_mux_parents, NULL }, | ||
188 | { 0 }, | ||
189 | }; | ||
190 | |||
191 | static const struct omap_clkctrl_bit_data omap5_timer11_bit_data[] __initconst = { | ||
192 | { 24, TI_CLK_MUX, omap5_timer10_gfclk_mux_parents, NULL }, | ||
193 | { 0 }, | ||
194 | }; | ||
195 | |||
196 | static const struct omap_clkctrl_bit_data omap5_timer2_bit_data[] __initconst = { | ||
197 | { 24, TI_CLK_MUX, omap5_timer10_gfclk_mux_parents, NULL }, | ||
198 | { 0 }, | ||
199 | }; | ||
200 | |||
201 | static const struct omap_clkctrl_bit_data omap5_timer3_bit_data[] __initconst = { | ||
202 | { 24, TI_CLK_MUX, omap5_timer10_gfclk_mux_parents, NULL }, | ||
203 | { 0 }, | ||
204 | }; | ||
205 | |||
206 | static const struct omap_clkctrl_bit_data omap5_timer4_bit_data[] __initconst = { | ||
207 | { 24, TI_CLK_MUX, omap5_timer10_gfclk_mux_parents, NULL }, | ||
208 | { 0 }, | ||
209 | }; | ||
210 | |||
211 | static const struct omap_clkctrl_bit_data omap5_timer9_bit_data[] __initconst = { | ||
212 | { 24, TI_CLK_MUX, omap5_timer10_gfclk_mux_parents, NULL }, | ||
213 | { 0 }, | ||
214 | }; | ||
215 | |||
216 | static const char * const omap5_gpio2_dbclk_parents[] __initconst = { | ||
217 | "sys_32k_ck", | ||
218 | NULL, | ||
219 | }; | ||
220 | |||
221 | static const struct omap_clkctrl_bit_data omap5_gpio2_bit_data[] __initconst = { | ||
222 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
223 | { 0 }, | ||
224 | }; | ||
225 | |||
226 | static const struct omap_clkctrl_bit_data omap5_gpio3_bit_data[] __initconst = { | ||
227 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
228 | { 0 }, | ||
229 | }; | ||
230 | |||
231 | static const struct omap_clkctrl_bit_data omap5_gpio4_bit_data[] __initconst = { | ||
232 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
233 | { 0 }, | ||
234 | }; | ||
235 | |||
236 | static const struct omap_clkctrl_bit_data omap5_gpio5_bit_data[] __initconst = { | ||
237 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
238 | { 0 }, | ||
239 | }; | ||
240 | |||
241 | static const struct omap_clkctrl_bit_data omap5_gpio6_bit_data[] __initconst = { | ||
242 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
243 | { 0 }, | ||
244 | }; | ||
245 | |||
246 | static const struct omap_clkctrl_bit_data omap5_gpio7_bit_data[] __initconst = { | ||
247 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
248 | { 0 }, | ||
249 | }; | ||
250 | |||
251 | static const struct omap_clkctrl_bit_data omap5_gpio8_bit_data[] __initconst = { | ||
252 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
253 | { 0 }, | ||
254 | }; | ||
255 | |||
256 | static const struct omap_clkctrl_reg_data omap5_l4per_clkctrl_regs[] __initconst = { | ||
257 | { OMAP5_TIMER10_CLKCTRL, omap5_timer10_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0008:24" }, | ||
258 | { OMAP5_TIMER11_CLKCTRL, omap5_timer11_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0010:24" }, | ||
259 | { OMAP5_TIMER2_CLKCTRL, omap5_timer2_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0018:24" }, | ||
260 | { OMAP5_TIMER3_CLKCTRL, omap5_timer3_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0020:24" }, | ||
261 | { OMAP5_TIMER4_CLKCTRL, omap5_timer4_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0028:24" }, | ||
262 | { OMAP5_TIMER9_CLKCTRL, omap5_timer9_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0030:24" }, | ||
263 | { OMAP5_GPIO2_CLKCTRL, omap5_gpio2_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
264 | { OMAP5_GPIO3_CLKCTRL, omap5_gpio3_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
265 | { OMAP5_GPIO4_CLKCTRL, omap5_gpio4_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
266 | { OMAP5_GPIO5_CLKCTRL, omap5_gpio5_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
267 | { OMAP5_GPIO6_CLKCTRL, omap5_gpio6_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
268 | { OMAP5_I2C1_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
269 | { OMAP5_I2C2_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
270 | { OMAP5_I2C3_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
271 | { OMAP5_I2C4_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
272 | { OMAP5_L4_PER_CLKCTRL, NULL, 0, "l4_root_clk_div" }, | ||
273 | { OMAP5_MCSPI1_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
274 | { OMAP5_MCSPI2_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
275 | { OMAP5_MCSPI3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
276 | { OMAP5_MCSPI4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
277 | { OMAP5_GPIO7_CLKCTRL, omap5_gpio7_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
278 | { OMAP5_GPIO8_CLKCTRL, omap5_gpio8_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
279 | { OMAP5_MMC3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
280 | { OMAP5_MMC4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
281 | { OMAP5_UART1_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
282 | { OMAP5_UART2_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
283 | { OMAP5_UART3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
284 | { OMAP5_UART4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
285 | { OMAP5_MMC5_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
286 | { OMAP5_I2C5_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
287 | { OMAP5_UART5_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
288 | { OMAP5_UART6_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
289 | { 0 }, | ||
290 | }; | ||
291 | |||
292 | static const char * const omap5_dss_dss_clk_parents[] __initconst = { | ||
293 | "dpll_per_h12x2_ck", | ||
294 | NULL, | ||
295 | }; | ||
296 | |||
297 | static const char * const omap5_dss_48mhz_clk_parents[] __initconst = { | ||
298 | "func_48m_fclk", | ||
299 | NULL, | ||
300 | }; | ||
301 | |||
302 | static const char * const omap5_dss_sys_clk_parents[] __initconst = { | ||
303 | "dss_syc_gfclk_div", | ||
304 | NULL, | ||
305 | }; | ||
306 | |||
307 | static const struct omap_clkctrl_bit_data omap5_dss_core_bit_data[] __initconst = { | ||
308 | { 8, TI_CLK_GATE, omap5_dss_dss_clk_parents, NULL }, | ||
309 | { 9, TI_CLK_GATE, omap5_dss_48mhz_clk_parents, NULL }, | ||
310 | { 10, TI_CLK_GATE, omap5_dss_sys_clk_parents, NULL }, | ||
311 | { 11, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
312 | { 0 }, | ||
313 | }; | ||
314 | |||
315 | static const struct omap_clkctrl_reg_data omap5_dss_clkctrl_regs[] __initconst = { | ||
316 | { OMAP5_DSS_CORE_CLKCTRL, omap5_dss_core_bit_data, CLKF_SW_SUP, "dss_cm:clk:0000:8" }, | ||
317 | { 0 }, | ||
318 | }; | ||
319 | |||
320 | static const char * const omap5_mmc1_fclk_mux_parents[] __initconst = { | ||
321 | "func_128m_clk", | ||
322 | "dpll_per_m2x2_ck", | ||
323 | NULL, | ||
324 | }; | ||
325 | |||
326 | static const char * const omap5_mmc1_fclk_parents[] __initconst = { | ||
327 | "l3init_cm:clk:0008:24", | ||
328 | NULL, | ||
329 | }; | ||
330 | |||
331 | static const struct omap_clkctrl_div_data omap5_mmc1_fclk_data __initconst = { | ||
332 | .max_div = 2, | ||
333 | }; | ||
334 | |||
335 | static const struct omap_clkctrl_bit_data omap5_mmc1_bit_data[] __initconst = { | ||
336 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
337 | { 24, TI_CLK_MUX, omap5_mmc1_fclk_mux_parents, NULL }, | ||
338 | { 25, TI_CLK_DIVIDER, omap5_mmc1_fclk_parents, &omap5_mmc1_fclk_data }, | ||
339 | { 0 }, | ||
340 | }; | ||
341 | |||
342 | static const char * const omap5_mmc2_fclk_parents[] __initconst = { | ||
343 | "l3init_cm:clk:0010:24", | ||
344 | NULL, | ||
345 | }; | ||
346 | |||
347 | static const struct omap_clkctrl_div_data omap5_mmc2_fclk_data __initconst = { | ||
348 | .max_div = 2, | ||
349 | }; | ||
350 | |||
351 | static const struct omap_clkctrl_bit_data omap5_mmc2_bit_data[] __initconst = { | ||
352 | { 24, TI_CLK_MUX, omap5_mmc1_fclk_mux_parents, NULL }, | ||
353 | { 25, TI_CLK_DIVIDER, omap5_mmc2_fclk_parents, &omap5_mmc2_fclk_data }, | ||
354 | { 0 }, | ||
355 | }; | ||
356 | |||
357 | static const char * const omap5_usb_host_hs_hsic60m_p3_clk_parents[] __initconst = { | ||
358 | "l3init_60m_fclk", | ||
359 | NULL, | ||
360 | }; | ||
361 | |||
362 | static const char * const omap5_usb_host_hs_hsic480m_p3_clk_parents[] __initconst = { | ||
363 | "dpll_usb_m2_ck", | ||
364 | NULL, | ||
365 | }; | ||
366 | |||
367 | static const char * const omap5_usb_host_hs_utmi_p1_clk_parents[] __initconst = { | ||
368 | "l3init_cm:clk:0038:24", | ||
369 | NULL, | ||
370 | }; | ||
371 | |||
372 | static const char * const omap5_usb_host_hs_utmi_p2_clk_parents[] __initconst = { | ||
373 | "l3init_cm:clk:0038:25", | ||
374 | NULL, | ||
375 | }; | ||
376 | |||
377 | static const char * const omap5_utmi_p1_gfclk_parents[] __initconst = { | ||
378 | "l3init_60m_fclk", | ||
379 | "xclk60mhsp1_ck", | ||
380 | NULL, | ||
381 | }; | ||
382 | |||
383 | static const char * const omap5_utmi_p2_gfclk_parents[] __initconst = { | ||
384 | "l3init_60m_fclk", | ||
385 | "xclk60mhsp2_ck", | ||
386 | NULL, | ||
387 | }; | ||
388 | |||
389 | static const struct omap_clkctrl_bit_data omap5_usb_host_hs_bit_data[] __initconst = { | ||
390 | { 6, TI_CLK_GATE, omap5_usb_host_hs_hsic60m_p3_clk_parents, NULL }, | ||
391 | { 7, TI_CLK_GATE, omap5_usb_host_hs_hsic480m_p3_clk_parents, NULL }, | ||
392 | { 8, TI_CLK_GATE, omap5_usb_host_hs_utmi_p1_clk_parents, NULL }, | ||
393 | { 9, TI_CLK_GATE, omap5_usb_host_hs_utmi_p2_clk_parents, NULL }, | ||
394 | { 10, TI_CLK_GATE, omap5_usb_host_hs_hsic60m_p3_clk_parents, NULL }, | ||
395 | { 11, TI_CLK_GATE, omap5_usb_host_hs_hsic60m_p3_clk_parents, NULL }, | ||
396 | { 12, TI_CLK_GATE, omap5_usb_host_hs_hsic60m_p3_clk_parents, NULL }, | ||
397 | { 13, TI_CLK_GATE, omap5_usb_host_hs_hsic480m_p3_clk_parents, NULL }, | ||
398 | { 14, TI_CLK_GATE, omap5_usb_host_hs_hsic480m_p3_clk_parents, NULL }, | ||
399 | { 24, TI_CLK_MUX, omap5_utmi_p1_gfclk_parents, NULL }, | ||
400 | { 25, TI_CLK_MUX, omap5_utmi_p2_gfclk_parents, NULL }, | ||
401 | { 0 }, | ||
402 | }; | ||
403 | |||
404 | static const struct omap_clkctrl_bit_data omap5_usb_tll_hs_bit_data[] __initconst = { | ||
405 | { 8, TI_CLK_GATE, omap5_usb_host_hs_hsic60m_p3_clk_parents, NULL }, | ||
406 | { 9, TI_CLK_GATE, omap5_usb_host_hs_hsic60m_p3_clk_parents, NULL }, | ||
407 | { 10, TI_CLK_GATE, omap5_usb_host_hs_hsic60m_p3_clk_parents, NULL }, | ||
408 | { 0 }, | ||
409 | }; | ||
410 | |||
411 | static const char * const omap5_sata_ref_clk_parents[] __initconst = { | ||
412 | "sys_clkin", | ||
413 | NULL, | ||
414 | }; | ||
415 | |||
416 | static const struct omap_clkctrl_bit_data omap5_sata_bit_data[] __initconst = { | ||
417 | { 8, TI_CLK_GATE, omap5_sata_ref_clk_parents, NULL }, | ||
418 | { 0 }, | ||
419 | }; | ||
420 | |||
421 | static const char * const omap5_usb_otg_ss_refclk960m_parents[] __initconst = { | ||
422 | "dpll_usb_clkdcoldo", | ||
423 | NULL, | ||
424 | }; | ||
425 | |||
426 | static const struct omap_clkctrl_bit_data omap5_usb_otg_ss_bit_data[] __initconst = { | ||
427 | { 8, TI_CLK_GATE, omap5_usb_otg_ss_refclk960m_parents, NULL }, | ||
428 | { 0 }, | ||
429 | }; | ||
430 | |||
431 | static const struct omap_clkctrl_reg_data omap5_l3init_clkctrl_regs[] __initconst = { | ||
432 | { OMAP5_MMC1_CLKCTRL, omap5_mmc1_bit_data, CLKF_SW_SUP, "l3init_cm:clk:0008:25" }, | ||
433 | { OMAP5_MMC2_CLKCTRL, omap5_mmc2_bit_data, CLKF_SW_SUP, "l3init_cm:clk:0010:25" }, | ||
434 | { OMAP5_USB_HOST_HS_CLKCTRL, omap5_usb_host_hs_bit_data, CLKF_SW_SUP, "l3init_60m_fclk" }, | ||
435 | { OMAP5_USB_TLL_HS_CLKCTRL, omap5_usb_tll_hs_bit_data, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
436 | { OMAP5_SATA_CLKCTRL, omap5_sata_bit_data, CLKF_SW_SUP, "func_48m_fclk" }, | ||
437 | { OMAP5_OCP2SCP1_CLKCTRL, NULL, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
438 | { OMAP5_OCP2SCP3_CLKCTRL, NULL, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
439 | { OMAP5_USB_OTG_SS_CLKCTRL, omap5_usb_otg_ss_bit_data, CLKF_HW_SUP, "dpll_core_h13x2_ck" }, | ||
440 | { 0 }, | ||
441 | }; | ||
442 | |||
443 | static const struct omap_clkctrl_bit_data omap5_gpio1_bit_data[] __initconst = { | ||
444 | { 8, TI_CLK_GATE, omap5_gpio2_dbclk_parents, NULL }, | ||
445 | { 0 }, | ||
446 | }; | ||
447 | |||
448 | static const struct omap_clkctrl_bit_data omap5_timer1_bit_data[] __initconst = { | ||
449 | { 24, TI_CLK_MUX, omap5_timer10_gfclk_mux_parents, NULL }, | ||
450 | { 0 }, | ||
451 | }; | ||
452 | |||
453 | static const struct omap_clkctrl_reg_data omap5_wkupaon_clkctrl_regs[] __initconst = { | ||
454 | { OMAP5_L4_WKUP_CLKCTRL, NULL, 0, "wkupaon_iclk_mux" }, | ||
455 | { OMAP5_WD_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, | ||
456 | { OMAP5_GPIO1_CLKCTRL, omap5_gpio1_bit_data, CLKF_HW_SUP, "wkupaon_iclk_mux" }, | ||
457 | { OMAP5_TIMER1_CLKCTRL, omap5_timer1_bit_data, CLKF_SW_SUP, "wkupaon_cm:clk:0020:24" }, | ||
458 | { OMAP5_COUNTER_32K_CLKCTRL, NULL, 0, "wkupaon_iclk_mux" }, | ||
459 | { OMAP5_KBD_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, | ||
460 | { 0 }, | ||
461 | }; | ||
462 | |||
463 | const struct omap_clkctrl_data omap5_clkctrl_data[] __initconst = { | ||
464 | { 0x4a004320, omap5_mpu_clkctrl_regs }, | ||
465 | { 0x4a004420, omap5_dsp_clkctrl_regs }, | ||
466 | { 0x4a004520, omap5_abe_clkctrl_regs }, | ||
467 | { 0x4a008720, omap5_l3main1_clkctrl_regs }, | ||
468 | { 0x4a008820, omap5_l3main2_clkctrl_regs }, | ||
469 | { 0x4a008920, omap5_ipu_clkctrl_regs }, | ||
470 | { 0x4a008a20, omap5_dma_clkctrl_regs }, | ||
471 | { 0x4a008b20, omap5_emif_clkctrl_regs }, | ||
472 | { 0x4a008d20, omap5_l4cfg_clkctrl_regs }, | ||
473 | { 0x4a008e20, omap5_l3instr_clkctrl_regs }, | ||
474 | { 0x4a009020, omap5_l4per_clkctrl_regs }, | ||
475 | { 0x4a009420, omap5_dss_clkctrl_regs }, | ||
476 | { 0x4a009620, omap5_l3init_clkctrl_regs }, | ||
477 | { 0x4ae07920, omap5_wkupaon_clkctrl_regs }, | ||
478 | { 0 }, | ||
479 | }; | ||
480 | |||
30 | static struct ti_dt_clk omap54xx_clks[] = { | 481 | static struct ti_dt_clk omap54xx_clks[] = { |
31 | DT_CLK(NULL, "pad_clks_src_ck", "pad_clks_src_ck"), | ||
32 | DT_CLK(NULL, "pad_clks_ck", "pad_clks_ck"), | ||
33 | DT_CLK(NULL, "secure_32k_clk_src_ck", "secure_32k_clk_src_ck"), | ||
34 | DT_CLK(NULL, "slimbus_src_clk", "slimbus_src_clk"), | ||
35 | DT_CLK(NULL, "slimbus_clk", "slimbus_clk"), | ||
36 | DT_CLK(NULL, "sys_32k_ck", "sys_32k_ck"), | ||
37 | DT_CLK(NULL, "virt_12000000_ck", "virt_12000000_ck"), | ||
38 | DT_CLK(NULL, "virt_13000000_ck", "virt_13000000_ck"), | ||
39 | DT_CLK(NULL, "virt_16800000_ck", "virt_16800000_ck"), | ||
40 | DT_CLK(NULL, "virt_19200000_ck", "virt_19200000_ck"), | ||
41 | DT_CLK(NULL, "virt_26000000_ck", "virt_26000000_ck"), | ||
42 | DT_CLK(NULL, "virt_27000000_ck", "virt_27000000_ck"), | ||
43 | DT_CLK(NULL, "virt_38400000_ck", "virt_38400000_ck"), | ||
44 | DT_CLK(NULL, "sys_clkin", "sys_clkin"), | ||
45 | DT_CLK(NULL, "xclk60mhsp1_ck", "xclk60mhsp1_ck"), | ||
46 | DT_CLK(NULL, "xclk60mhsp2_ck", "xclk60mhsp2_ck"), | ||
47 | DT_CLK(NULL, "abe_dpll_bypass_clk_mux", "abe_dpll_bypass_clk_mux"), | ||
48 | DT_CLK(NULL, "abe_dpll_clk_mux", "abe_dpll_clk_mux"), | ||
49 | DT_CLK(NULL, "dpll_abe_ck", "dpll_abe_ck"), | ||
50 | DT_CLK(NULL, "dpll_abe_x2_ck", "dpll_abe_x2_ck"), | ||
51 | DT_CLK(NULL, "dpll_abe_m2x2_ck", "dpll_abe_m2x2_ck"), | ||
52 | DT_CLK(NULL, "abe_24m_fclk", "abe_24m_fclk"), | ||
53 | DT_CLK(NULL, "abe_clk", "abe_clk"), | ||
54 | DT_CLK(NULL, "abe_iclk", "abe_iclk"), | ||
55 | DT_CLK(NULL, "abe_lp_clk_div", "abe_lp_clk_div"), | ||
56 | DT_CLK(NULL, "dpll_abe_m3x2_ck", "dpll_abe_m3x2_ck"), | ||
57 | DT_CLK(NULL, "dpll_core_ck", "dpll_core_ck"), | ||
58 | DT_CLK(NULL, "dpll_core_x2_ck", "dpll_core_x2_ck"), | ||
59 | DT_CLK(NULL, "dpll_core_h21x2_ck", "dpll_core_h21x2_ck"), | ||
60 | DT_CLK(NULL, "c2c_fclk", "c2c_fclk"), | ||
61 | DT_CLK(NULL, "c2c_iclk", "c2c_iclk"), | ||
62 | DT_CLK(NULL, "custefuse_sys_gfclk_div", "custefuse_sys_gfclk_div"), | ||
63 | DT_CLK(NULL, "dpll_core_h11x2_ck", "dpll_core_h11x2_ck"), | ||
64 | DT_CLK(NULL, "dpll_core_h12x2_ck", "dpll_core_h12x2_ck"), | ||
65 | DT_CLK(NULL, "dpll_core_h13x2_ck", "dpll_core_h13x2_ck"), | ||
66 | DT_CLK(NULL, "dpll_core_h14x2_ck", "dpll_core_h14x2_ck"), | ||
67 | DT_CLK(NULL, "dpll_core_h22x2_ck", "dpll_core_h22x2_ck"), | ||
68 | DT_CLK(NULL, "dpll_core_h23x2_ck", "dpll_core_h23x2_ck"), | ||
69 | DT_CLK(NULL, "dpll_core_h24x2_ck", "dpll_core_h24x2_ck"), | ||
70 | DT_CLK(NULL, "dpll_core_m2_ck", "dpll_core_m2_ck"), | ||
71 | DT_CLK(NULL, "dpll_core_m3x2_ck", "dpll_core_m3x2_ck"), | ||
72 | DT_CLK(NULL, "iva_dpll_hs_clk_div", "iva_dpll_hs_clk_div"), | ||
73 | DT_CLK(NULL, "dpll_iva_ck", "dpll_iva_ck"), | ||
74 | DT_CLK(NULL, "dpll_iva_x2_ck", "dpll_iva_x2_ck"), | ||
75 | DT_CLK(NULL, "dpll_iva_h11x2_ck", "dpll_iva_h11x2_ck"), | ||
76 | DT_CLK(NULL, "dpll_iva_h12x2_ck", "dpll_iva_h12x2_ck"), | ||
77 | DT_CLK(NULL, "mpu_dpll_hs_clk_div", "mpu_dpll_hs_clk_div"), | ||
78 | DT_CLK(NULL, "dpll_mpu_ck", "dpll_mpu_ck"), | ||
79 | DT_CLK(NULL, "dpll_mpu_m2_ck", "dpll_mpu_m2_ck"), | ||
80 | DT_CLK(NULL, "per_dpll_hs_clk_div", "per_dpll_hs_clk_div"), | ||
81 | DT_CLK(NULL, "dpll_per_ck", "dpll_per_ck"), | ||
82 | DT_CLK(NULL, "dpll_per_x2_ck", "dpll_per_x2_ck"), | ||
83 | DT_CLK(NULL, "dpll_per_h11x2_ck", "dpll_per_h11x2_ck"), | ||
84 | DT_CLK(NULL, "dpll_per_h12x2_ck", "dpll_per_h12x2_ck"), | ||
85 | DT_CLK(NULL, "dpll_per_h14x2_ck", "dpll_per_h14x2_ck"), | ||
86 | DT_CLK(NULL, "dpll_per_m2_ck", "dpll_per_m2_ck"), | ||
87 | DT_CLK(NULL, "dpll_per_m2x2_ck", "dpll_per_m2x2_ck"), | ||
88 | DT_CLK(NULL, "dpll_per_m3x2_ck", "dpll_per_m3x2_ck"), | ||
89 | DT_CLK(NULL, "dpll_unipro1_ck", "dpll_unipro1_ck"), | ||
90 | DT_CLK(NULL, "dpll_unipro1_clkdcoldo", "dpll_unipro1_clkdcoldo"), | ||
91 | DT_CLK(NULL, "dpll_unipro1_m2_ck", "dpll_unipro1_m2_ck"), | ||
92 | DT_CLK(NULL, "dpll_unipro2_ck", "dpll_unipro2_ck"), | ||
93 | DT_CLK(NULL, "dpll_unipro2_clkdcoldo", "dpll_unipro2_clkdcoldo"), | ||
94 | DT_CLK(NULL, "dpll_unipro2_m2_ck", "dpll_unipro2_m2_ck"), | ||
95 | DT_CLK(NULL, "usb_dpll_hs_clk_div", "usb_dpll_hs_clk_div"), | ||
96 | DT_CLK(NULL, "dpll_usb_ck", "dpll_usb_ck"), | ||
97 | DT_CLK(NULL, "dpll_usb_clkdcoldo", "dpll_usb_clkdcoldo"), | ||
98 | DT_CLK(NULL, "dpll_usb_m2_ck", "dpll_usb_m2_ck"), | ||
99 | DT_CLK(NULL, "dss_syc_gfclk_div", "dss_syc_gfclk_div"), | ||
100 | DT_CLK(NULL, "func_128m_clk", "func_128m_clk"), | ||
101 | DT_CLK(NULL, "func_12m_fclk", "func_12m_fclk"), | ||
102 | DT_CLK(NULL, "func_24m_clk", "func_24m_clk"), | ||
103 | DT_CLK(NULL, "func_48m_fclk", "func_48m_fclk"), | ||
104 | DT_CLK(NULL, "func_96m_fclk", "func_96m_fclk"), | ||
105 | DT_CLK(NULL, "l3_iclk_div", "l3_iclk_div"), | ||
106 | DT_CLK(NULL, "gpu_l3_iclk", "gpu_l3_iclk"), | ||
107 | DT_CLK(NULL, "l3init_60m_fclk", "l3init_60m_fclk"), | ||
108 | DT_CLK(NULL, "wkupaon_iclk_mux", "wkupaon_iclk_mux"), | ||
109 | DT_CLK(NULL, "l3instr_ts_gclk_div", "l3instr_ts_gclk_div"), | ||
110 | DT_CLK(NULL, "l4_root_clk_div", "l4_root_clk_div"), | ||
111 | DT_CLK(NULL, "dss_32khz_clk", "dss_32khz_clk"), | ||
112 | DT_CLK(NULL, "dss_48mhz_clk", "dss_48mhz_clk"), | ||
113 | DT_CLK(NULL, "dss_dss_clk", "dss_dss_clk"), | ||
114 | DT_CLK(NULL, "dss_sys_clk", "dss_sys_clk"), | ||
115 | DT_CLK(NULL, "gpio1_dbclk", "gpio1_dbclk"), | ||
116 | DT_CLK(NULL, "gpio2_dbclk", "gpio2_dbclk"), | ||
117 | DT_CLK(NULL, "gpio3_dbclk", "gpio3_dbclk"), | ||
118 | DT_CLK(NULL, "gpio4_dbclk", "gpio4_dbclk"), | ||
119 | DT_CLK(NULL, "gpio5_dbclk", "gpio5_dbclk"), | ||
120 | DT_CLK(NULL, "gpio6_dbclk", "gpio6_dbclk"), | ||
121 | DT_CLK(NULL, "gpio7_dbclk", "gpio7_dbclk"), | ||
122 | DT_CLK(NULL, "gpio8_dbclk", "gpio8_dbclk"), | ||
123 | DT_CLK(NULL, "iss_ctrlclk", "iss_ctrlclk"), | ||
124 | DT_CLK(NULL, "lli_txphy_clk", "lli_txphy_clk"), | ||
125 | DT_CLK(NULL, "lli_txphy_ls_clk", "lli_txphy_ls_clk"), | ||
126 | DT_CLK(NULL, "mmc1_32khz_clk", "mmc1_32khz_clk"), | ||
127 | DT_CLK(NULL, "sata_ref_clk", "sata_ref_clk"), | ||
128 | DT_CLK(NULL, "slimbus1_slimbus_clk", "slimbus1_slimbus_clk"), | ||
129 | DT_CLK(NULL, "usb_host_hs_hsic480m_p1_clk", "usb_host_hs_hsic480m_p1_clk"), | ||
130 | DT_CLK(NULL, "usb_host_hs_hsic480m_p2_clk", "usb_host_hs_hsic480m_p2_clk"), | ||
131 | DT_CLK(NULL, "usb_host_hs_hsic480m_p3_clk", "usb_host_hs_hsic480m_p3_clk"), | ||
132 | DT_CLK(NULL, "usb_host_hs_hsic60m_p1_clk", "usb_host_hs_hsic60m_p1_clk"), | ||
133 | DT_CLK(NULL, "usb_host_hs_hsic60m_p2_clk", "usb_host_hs_hsic60m_p2_clk"), | ||
134 | DT_CLK(NULL, "usb_host_hs_hsic60m_p3_clk", "usb_host_hs_hsic60m_p3_clk"), | ||
135 | DT_CLK(NULL, "usb_host_hs_utmi_p1_clk", "usb_host_hs_utmi_p1_clk"), | ||
136 | DT_CLK(NULL, "usb_host_hs_utmi_p2_clk", "usb_host_hs_utmi_p2_clk"), | ||
137 | DT_CLK(NULL, "usb_host_hs_utmi_p3_clk", "usb_host_hs_utmi_p3_clk"), | ||
138 | DT_CLK(NULL, "usb_otg_ss_refclk960m", "usb_otg_ss_refclk960m"), | ||
139 | DT_CLK(NULL, "usb_phy_cm_clk32k", "usb_phy_cm_clk32k"), | ||
140 | DT_CLK(NULL, "usb_tll_hs_usb_ch0_clk", "usb_tll_hs_usb_ch0_clk"), | ||
141 | DT_CLK(NULL, "usb_tll_hs_usb_ch1_clk", "usb_tll_hs_usb_ch1_clk"), | ||
142 | DT_CLK(NULL, "usb_tll_hs_usb_ch2_clk", "usb_tll_hs_usb_ch2_clk"), | ||
143 | DT_CLK(NULL, "aess_fclk", "aess_fclk"), | ||
144 | DT_CLK(NULL, "dmic_sync_mux_ck", "dmic_sync_mux_ck"), | ||
145 | DT_CLK(NULL, "dmic_gfclk", "dmic_gfclk"), | ||
146 | DT_CLK(NULL, "fdif_fclk", "fdif_fclk"), | ||
147 | DT_CLK(NULL, "gpu_core_gclk_mux", "gpu_core_gclk_mux"), | ||
148 | DT_CLK(NULL, "gpu_hyd_gclk_mux", "gpu_hyd_gclk_mux"), | ||
149 | DT_CLK(NULL, "hsi_fclk", "hsi_fclk"), | ||
150 | DT_CLK(NULL, "mcasp_sync_mux_ck", "mcasp_sync_mux_ck"), | ||
151 | DT_CLK(NULL, "mcasp_gfclk", "mcasp_gfclk"), | ||
152 | DT_CLK(NULL, "mcbsp1_sync_mux_ck", "mcbsp1_sync_mux_ck"), | ||
153 | DT_CLK(NULL, "mcbsp1_gfclk", "mcbsp1_gfclk"), | ||
154 | DT_CLK(NULL, "mcbsp2_sync_mux_ck", "mcbsp2_sync_mux_ck"), | ||
155 | DT_CLK(NULL, "mcbsp2_gfclk", "mcbsp2_gfclk"), | ||
156 | DT_CLK(NULL, "mcbsp3_sync_mux_ck", "mcbsp3_sync_mux_ck"), | ||
157 | DT_CLK(NULL, "mcbsp3_gfclk", "mcbsp3_gfclk"), | ||
158 | DT_CLK(NULL, "mmc1_fclk_mux", "mmc1_fclk_mux"), | ||
159 | DT_CLK(NULL, "mmc1_fclk", "mmc1_fclk"), | ||
160 | DT_CLK(NULL, "mmc2_fclk_mux", "mmc2_fclk_mux"), | ||
161 | DT_CLK(NULL, "mmc2_fclk", "mmc2_fclk"), | ||
162 | DT_CLK(NULL, "timer10_gfclk_mux", "timer10_gfclk_mux"), | ||
163 | DT_CLK(NULL, "timer11_gfclk_mux", "timer11_gfclk_mux"), | ||
164 | DT_CLK(NULL, "timer1_gfclk_mux", "timer1_gfclk_mux"), | ||
165 | DT_CLK(NULL, "timer2_gfclk_mux", "timer2_gfclk_mux"), | ||
166 | DT_CLK(NULL, "timer3_gfclk_mux", "timer3_gfclk_mux"), | ||
167 | DT_CLK(NULL, "timer4_gfclk_mux", "timer4_gfclk_mux"), | ||
168 | DT_CLK(NULL, "timer5_gfclk_mux", "timer5_gfclk_mux"), | ||
169 | DT_CLK(NULL, "timer6_gfclk_mux", "timer6_gfclk_mux"), | ||
170 | DT_CLK(NULL, "timer7_gfclk_mux", "timer7_gfclk_mux"), | ||
171 | DT_CLK(NULL, "timer8_gfclk_mux", "timer8_gfclk_mux"), | ||
172 | DT_CLK(NULL, "timer9_gfclk_mux", "timer9_gfclk_mux"), | ||
173 | DT_CLK(NULL, "utmi_p1_gfclk", "utmi_p1_gfclk"), | ||
174 | DT_CLK(NULL, "utmi_p2_gfclk", "utmi_p2_gfclk"), | ||
175 | DT_CLK(NULL, "auxclk0_src_ck", "auxclk0_src_ck"), | ||
176 | DT_CLK(NULL, "auxclk0_ck", "auxclk0_ck"), | ||
177 | DT_CLK(NULL, "auxclkreq0_ck", "auxclkreq0_ck"), | ||
178 | DT_CLK(NULL, "auxclk1_src_ck", "auxclk1_src_ck"), | ||
179 | DT_CLK(NULL, "auxclk1_ck", "auxclk1_ck"), | ||
180 | DT_CLK(NULL, "auxclkreq1_ck", "auxclkreq1_ck"), | ||
181 | DT_CLK(NULL, "auxclk2_src_ck", "auxclk2_src_ck"), | ||
182 | DT_CLK(NULL, "auxclk2_ck", "auxclk2_ck"), | ||
183 | DT_CLK(NULL, "auxclkreq2_ck", "auxclkreq2_ck"), | ||
184 | DT_CLK(NULL, "auxclk3_src_ck", "auxclk3_src_ck"), | ||
185 | DT_CLK(NULL, "auxclk3_ck", "auxclk3_ck"), | ||
186 | DT_CLK(NULL, "auxclkreq3_ck", "auxclkreq3_ck"), | ||
187 | DT_CLK("omap_i2c.1", "ick", "dummy_ck"), | ||
188 | DT_CLK("omap_i2c.2", "ick", "dummy_ck"), | ||
189 | DT_CLK("omap_i2c.3", "ick", "dummy_ck"), | ||
190 | DT_CLK("omap_i2c.4", "ick", "dummy_ck"), | ||
191 | DT_CLK(NULL, "mailboxes_ick", "dummy_ck"), | ||
192 | DT_CLK("omap_hsmmc.0", "ick", "dummy_ck"), | ||
193 | DT_CLK("omap_hsmmc.1", "ick", "dummy_ck"), | ||
194 | DT_CLK("omap_hsmmc.2", "ick", "dummy_ck"), | ||
195 | DT_CLK("omap_hsmmc.3", "ick", "dummy_ck"), | ||
196 | DT_CLK("omap_hsmmc.4", "ick", "dummy_ck"), | ||
197 | DT_CLK("omap-mcbsp.1", "ick", "dummy_ck"), | ||
198 | DT_CLK("omap-mcbsp.2", "ick", "dummy_ck"), | ||
199 | DT_CLK("omap-mcbsp.3", "ick", "dummy_ck"), | ||
200 | DT_CLK("omap-mcbsp.4", "ick", "dummy_ck"), | ||
201 | DT_CLK("omap2_mcspi.1", "ick", "dummy_ck"), | ||
202 | DT_CLK("omap2_mcspi.2", "ick", "dummy_ck"), | ||
203 | DT_CLK("omap2_mcspi.3", "ick", "dummy_ck"), | ||
204 | DT_CLK("omap2_mcspi.4", "ick", "dummy_ck"), | ||
205 | DT_CLK(NULL, "uart1_ick", "dummy_ck"), | ||
206 | DT_CLK(NULL, "uart2_ick", "dummy_ck"), | ||
207 | DT_CLK(NULL, "uart3_ick", "dummy_ck"), | ||
208 | DT_CLK(NULL, "uart4_ick", "dummy_ck"), | ||
209 | DT_CLK("usbhs_omap", "usbhost_ick", "dummy_ck"), | ||
210 | DT_CLK("usbhs_omap", "usbtll_fck", "dummy_ck"), | ||
211 | DT_CLK("omap_wdt", "ick", "dummy_ck"), | ||
212 | DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"), | 482 | DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"), |
213 | DT_CLK(NULL, "sys_clkin_ck", "sys_clkin"), | 483 | DT_CLK(NULL, "sys_clkin_ck", "sys_clkin"), |
214 | DT_CLK("4ae18000.timer", "timer_sys_ck", "sys_clkin"), | 484 | DT_CLK(NULL, "dmic_gfclk", "abe_cm:0018:24"), |
215 | DT_CLK("48032000.timer", "timer_sys_ck", "sys_clkin"), | 485 | DT_CLK(NULL, "dmic_sync_mux_ck", "abe_cm:0018:26"), |
216 | DT_CLK("48034000.timer", "timer_sys_ck", "sys_clkin"), | 486 | DT_CLK(NULL, "dss_32khz_clk", "dss_cm:0000:11"), |
217 | DT_CLK("48036000.timer", "timer_sys_ck", "sys_clkin"), | 487 | DT_CLK(NULL, "dss_48mhz_clk", "dss_cm:0000:9"), |
218 | DT_CLK("4803e000.timer", "timer_sys_ck", "sys_clkin"), | 488 | DT_CLK(NULL, "dss_dss_clk", "dss_cm:0000:8"), |
219 | DT_CLK("48086000.timer", "timer_sys_ck", "sys_clkin"), | 489 | DT_CLK(NULL, "dss_sys_clk", "dss_cm:0000:10"), |
220 | DT_CLK("48088000.timer", "timer_sys_ck", "sys_clkin"), | 490 | DT_CLK(NULL, "gpio1_dbclk", "wkupaon_cm:0018:8"), |
221 | DT_CLK("40138000.timer", "timer_sys_ck", "dss_syc_gfclk_div"), | 491 | DT_CLK(NULL, "gpio2_dbclk", "l4per_cm:0040:8"), |
222 | DT_CLK("4013a000.timer", "timer_sys_ck", "dss_syc_gfclk_div"), | 492 | DT_CLK(NULL, "gpio3_dbclk", "l4per_cm:0048:8"), |
223 | DT_CLK("4013c000.timer", "timer_sys_ck", "dss_syc_gfclk_div"), | 493 | DT_CLK(NULL, "gpio4_dbclk", "l4per_cm:0050:8"), |
224 | DT_CLK("4013e000.timer", "timer_sys_ck", "dss_syc_gfclk_div"), | 494 | DT_CLK(NULL, "gpio5_dbclk", "l4per_cm:0058:8"), |
495 | DT_CLK(NULL, "gpio6_dbclk", "l4per_cm:0060:8"), | ||
496 | DT_CLK(NULL, "gpio7_dbclk", "l4per_cm:00f0:8"), | ||
497 | DT_CLK(NULL, "gpio8_dbclk", "l4per_cm:00f8:8"), | ||
498 | DT_CLK(NULL, "mcbsp1_gfclk", "abe_cm:0028:24"), | ||
499 | DT_CLK(NULL, "mcbsp1_sync_mux_ck", "abe_cm:0028:26"), | ||
500 | DT_CLK(NULL, "mcbsp2_gfclk", "abe_cm:0030:24"), | ||
501 | DT_CLK(NULL, "mcbsp2_sync_mux_ck", "abe_cm:0030:26"), | ||
502 | DT_CLK(NULL, "mcbsp3_gfclk", "abe_cm:0038:24"), | ||
503 | DT_CLK(NULL, "mcbsp3_sync_mux_ck", "abe_cm:0038:26"), | ||
504 | DT_CLK(NULL, "mmc1_32khz_clk", "l3init_cm:0008:8"), | ||
505 | DT_CLK(NULL, "mmc1_fclk", "l3init_cm:0008:25"), | ||
506 | DT_CLK(NULL, "mmc1_fclk_mux", "l3init_cm:0008:24"), | ||
507 | DT_CLK(NULL, "mmc2_fclk", "l3init_cm:0010:25"), | ||
508 | DT_CLK(NULL, "mmc2_fclk_mux", "l3init_cm:0010:24"), | ||
509 | DT_CLK(NULL, "sata_ref_clk", "l3init_cm:0068:8"), | ||
510 | DT_CLK(NULL, "timer10_gfclk_mux", "l4per_cm:0008:24"), | ||
511 | DT_CLK(NULL, "timer11_gfclk_mux", "l4per_cm:0010:24"), | ||
512 | DT_CLK(NULL, "timer1_gfclk_mux", "wkupaon_cm:0020:24"), | ||
513 | DT_CLK(NULL, "timer2_gfclk_mux", "l4per_cm:0018:24"), | ||
514 | DT_CLK(NULL, "timer3_gfclk_mux", "l4per_cm:0020:24"), | ||
515 | DT_CLK(NULL, "timer4_gfclk_mux", "l4per_cm:0028:24"), | ||
516 | DT_CLK(NULL, "timer5_gfclk_mux", "abe_cm:0048:24"), | ||
517 | DT_CLK(NULL, "timer6_gfclk_mux", "abe_cm:0050:24"), | ||
518 | DT_CLK(NULL, "timer7_gfclk_mux", "abe_cm:0058:24"), | ||
519 | DT_CLK(NULL, "timer8_gfclk_mux", "abe_cm:0060:24"), | ||
520 | DT_CLK(NULL, "timer9_gfclk_mux", "l4per_cm:0030:24"), | ||
521 | DT_CLK(NULL, "usb_host_hs_hsic480m_p1_clk", "l3init_cm:0038:13"), | ||
522 | DT_CLK(NULL, "usb_host_hs_hsic480m_p2_clk", "l3init_cm:0038:14"), | ||
523 | DT_CLK(NULL, "usb_host_hs_hsic480m_p3_clk", "l3init_cm:0038:7"), | ||
524 | DT_CLK(NULL, "usb_host_hs_hsic60m_p1_clk", "l3init_cm:0038:11"), | ||
525 | DT_CLK(NULL, "usb_host_hs_hsic60m_p2_clk", "l3init_cm:0038:12"), | ||
526 | DT_CLK(NULL, "usb_host_hs_hsic60m_p3_clk", "l3init_cm:0038:6"), | ||
527 | DT_CLK(NULL, "usb_host_hs_utmi_p1_clk", "l3init_cm:0038:8"), | ||
528 | DT_CLK(NULL, "usb_host_hs_utmi_p2_clk", "l3init_cm:0038:9"), | ||
529 | DT_CLK(NULL, "usb_host_hs_utmi_p3_clk", "l3init_cm:0038:10"), | ||
530 | DT_CLK(NULL, "usb_otg_ss_refclk960m", "l3init_cm:00d0:8"), | ||
531 | DT_CLK(NULL, "usb_tll_hs_usb_ch0_clk", "l3init_cm:0048:8"), | ||
532 | DT_CLK(NULL, "usb_tll_hs_usb_ch1_clk", "l3init_cm:0048:9"), | ||
533 | DT_CLK(NULL, "usb_tll_hs_usb_ch2_clk", "l3init_cm:0048:10"), | ||
534 | DT_CLK(NULL, "utmi_p1_gfclk", "l3init_cm:0038:24"), | ||
535 | DT_CLK(NULL, "utmi_p2_gfclk", "l3init_cm:0038:25"), | ||
225 | { .node_name = NULL }, | 536 | { .node_name = NULL }, |
226 | }; | 537 | }; |
227 | 538 | ||
@@ -234,6 +545,8 @@ int __init omap5xxx_dt_clk_init(void) | |||
234 | 545 | ||
235 | omap2_clk_disable_autoidle_all(); | 546 | omap2_clk_disable_autoidle_all(); |
236 | 547 | ||
548 | ti_clk_add_aliases(); | ||
549 | |||
237 | abe_dpll_ref = clk_get_sys(NULL, "abe_dpll_clk_mux"); | 550 | abe_dpll_ref = clk_get_sys(NULL, "abe_dpll_clk_mux"); |
238 | sys_32k_ck = clk_get_sys(NULL, "sys_32k_ck"); | 551 | sys_32k_ck = clk_get_sys(NULL, "sys_32k_ck"); |
239 | rc = clk_set_parent(abe_dpll_ref, sys_32k_ck); | 552 | rc = clk_set_parent(abe_dpll_ref, sys_32k_ck); |
diff --git a/drivers/clk/ti/clk-7xx.c b/drivers/clk/ti/clk-7xx.c index 9fd6043314eb..fb249a1637a5 100644 --- a/drivers/clk/ti/clk-7xx.c +++ b/drivers/clk/ti/clk-7xx.c | |||
@@ -15,297 +15,809 @@ | |||
15 | #include <linux/clk.h> | 15 | #include <linux/clk.h> |
16 | #include <linux/clkdev.h> | 16 | #include <linux/clkdev.h> |
17 | #include <linux/clk/ti.h> | 17 | #include <linux/clk/ti.h> |
18 | #include <dt-bindings/clock/dra7.h> | ||
18 | 19 | ||
19 | #include "clock.h" | 20 | #include "clock.h" |
20 | 21 | ||
21 | #define DRA7_DPLL_GMAC_DEFFREQ 1000000000 | 22 | #define DRA7_DPLL_GMAC_DEFFREQ 1000000000 |
22 | #define DRA7_DPLL_USB_DEFFREQ 960000000 | 23 | #define DRA7_DPLL_USB_DEFFREQ 960000000 |
23 | 24 | ||
25 | static const struct omap_clkctrl_reg_data dra7_mpu_clkctrl_regs[] __initconst = { | ||
26 | { DRA7_MPU_CLKCTRL, NULL, 0, "dpll_mpu_m2_ck" }, | ||
27 | { 0 }, | ||
28 | }; | ||
29 | |||
30 | static const char * const dra7_mcasp1_aux_gfclk_mux_parents[] __initconst = { | ||
31 | "per_abe_x1_gfclk2_div", | ||
32 | "video1_clk2_div", | ||
33 | "video2_clk2_div", | ||
34 | "hdmi_clk2_div", | ||
35 | NULL, | ||
36 | }; | ||
37 | |||
38 | static const char * const dra7_mcasp1_ahclkx_mux_parents[] __initconst = { | ||
39 | "abe_24m_fclk", | ||
40 | "abe_sys_clk_div", | ||
41 | "func_24m_clk", | ||
42 | "atl_clkin3_ck", | ||
43 | "atl_clkin2_ck", | ||
44 | "atl_clkin1_ck", | ||
45 | "atl_clkin0_ck", | ||
46 | "sys_clkin2", | ||
47 | "ref_clkin0_ck", | ||
48 | "ref_clkin1_ck", | ||
49 | "ref_clkin2_ck", | ||
50 | "ref_clkin3_ck", | ||
51 | "mlb_clk", | ||
52 | "mlbp_clk", | ||
53 | NULL, | ||
54 | }; | ||
55 | |||
56 | static const struct omap_clkctrl_bit_data dra7_mcasp1_bit_data[] __initconst = { | ||
57 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
58 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
59 | { 28, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
60 | { 0 }, | ||
61 | }; | ||
62 | |||
63 | static const char * const dra7_timer5_gfclk_mux_parents[] __initconst = { | ||
64 | "timer_sys_clk_div", | ||
65 | "sys_32k_ck", | ||
66 | "sys_clkin2", | ||
67 | "ref_clkin0_ck", | ||
68 | "ref_clkin1_ck", | ||
69 | "ref_clkin2_ck", | ||
70 | "ref_clkin3_ck", | ||
71 | "abe_giclk_div", | ||
72 | "video1_div_clk", | ||
73 | "video2_div_clk", | ||
74 | "hdmi_div_clk", | ||
75 | "clkoutmux0_clk_mux", | ||
76 | NULL, | ||
77 | }; | ||
78 | |||
79 | static const struct omap_clkctrl_bit_data dra7_timer5_bit_data[] __initconst = { | ||
80 | { 24, TI_CLK_MUX, dra7_timer5_gfclk_mux_parents, NULL }, | ||
81 | { 0 }, | ||
82 | }; | ||
83 | |||
84 | static const struct omap_clkctrl_bit_data dra7_timer6_bit_data[] __initconst = { | ||
85 | { 24, TI_CLK_MUX, dra7_timer5_gfclk_mux_parents, NULL }, | ||
86 | { 0 }, | ||
87 | }; | ||
88 | |||
89 | static const struct omap_clkctrl_bit_data dra7_timer7_bit_data[] __initconst = { | ||
90 | { 24, TI_CLK_MUX, dra7_timer5_gfclk_mux_parents, NULL }, | ||
91 | { 0 }, | ||
92 | }; | ||
93 | |||
94 | static const struct omap_clkctrl_bit_data dra7_timer8_bit_data[] __initconst = { | ||
95 | { 24, TI_CLK_MUX, dra7_timer5_gfclk_mux_parents, NULL }, | ||
96 | { 0 }, | ||
97 | }; | ||
98 | |||
99 | static const char * const dra7_uart6_gfclk_mux_parents[] __initconst = { | ||
100 | "func_48m_fclk", | ||
101 | "dpll_per_m2x2_ck", | ||
102 | NULL, | ||
103 | }; | ||
104 | |||
105 | static const struct omap_clkctrl_bit_data dra7_uart6_bit_data[] __initconst = { | ||
106 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
107 | { 0 }, | ||
108 | }; | ||
109 | |||
110 | static const struct omap_clkctrl_reg_data dra7_ipu_clkctrl_regs[] __initconst = { | ||
111 | { DRA7_MCASP1_CLKCTRL, dra7_mcasp1_bit_data, CLKF_SW_SUP, "ipu_cm:clk:0010:22" }, | ||
112 | { DRA7_TIMER5_CLKCTRL, dra7_timer5_bit_data, CLKF_SW_SUP, "ipu_cm:clk:0018:24" }, | ||
113 | { DRA7_TIMER6_CLKCTRL, dra7_timer6_bit_data, CLKF_SW_SUP, "ipu_cm:clk:0020:24" }, | ||
114 | { DRA7_TIMER7_CLKCTRL, dra7_timer7_bit_data, CLKF_SW_SUP, "ipu_cm:clk:0028:24" }, | ||
115 | { DRA7_TIMER8_CLKCTRL, dra7_timer8_bit_data, CLKF_SW_SUP, "ipu_cm:clk:0030:24" }, | ||
116 | { DRA7_I2C5_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
117 | { DRA7_UART6_CLKCTRL, dra7_uart6_bit_data, CLKF_SW_SUP, "ipu_cm:clk:0040:24" }, | ||
118 | { 0 }, | ||
119 | }; | ||
120 | |||
121 | static const struct omap_clkctrl_reg_data dra7_rtc_clkctrl_regs[] __initconst = { | ||
122 | { DRA7_RTCSS_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, | ||
123 | { 0 }, | ||
124 | }; | ||
125 | |||
126 | static const struct omap_clkctrl_reg_data dra7_coreaon_clkctrl_regs[] __initconst = { | ||
127 | { DRA7_SMARTREFLEX_MPU_CLKCTRL, NULL, CLKF_SW_SUP, "wkupaon_iclk_mux" }, | ||
128 | { DRA7_SMARTREFLEX_CORE_CLKCTRL, NULL, CLKF_SW_SUP, "wkupaon_iclk_mux" }, | ||
129 | { 0 }, | ||
130 | }; | ||
131 | |||
132 | static const struct omap_clkctrl_reg_data dra7_l3main1_clkctrl_regs[] __initconst = { | ||
133 | { DRA7_L3_MAIN_1_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
134 | { DRA7_GPMC_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div" }, | ||
135 | { DRA7_TPCC_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
136 | { DRA7_TPTC0_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div" }, | ||
137 | { DRA7_TPTC1_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div" }, | ||
138 | { DRA7_VCP1_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
139 | { DRA7_VCP2_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
140 | { 0 }, | ||
141 | }; | ||
142 | |||
143 | static const struct omap_clkctrl_reg_data dra7_dma_clkctrl_regs[] __initconst = { | ||
144 | { DRA7_DMA_SYSTEM_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
145 | { 0 }, | ||
146 | }; | ||
147 | |||
148 | static const struct omap_clkctrl_reg_data dra7_emif_clkctrl_regs[] __initconst = { | ||
149 | { DRA7_DMM_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
150 | { 0 }, | ||
151 | }; | ||
152 | |||
153 | static const char * const dra7_atl_dpll_clk_mux_parents[] __initconst = { | ||
154 | "sys_32k_ck", | ||
155 | "video1_clkin_ck", | ||
156 | "video2_clkin_ck", | ||
157 | "hdmi_clkin_ck", | ||
158 | NULL, | ||
159 | }; | ||
160 | |||
161 | static const char * const dra7_atl_gfclk_mux_parents[] __initconst = { | ||
162 | "l3_iclk_div", | ||
163 | "dpll_abe_m2_ck", | ||
164 | "atl_cm:clk:0000:24", | ||
165 | NULL, | ||
166 | }; | ||
167 | |||
168 | static const struct omap_clkctrl_bit_data dra7_atl_bit_data[] __initconst = { | ||
169 | { 24, TI_CLK_MUX, dra7_atl_dpll_clk_mux_parents, NULL }, | ||
170 | { 26, TI_CLK_MUX, dra7_atl_gfclk_mux_parents, NULL }, | ||
171 | { 0 }, | ||
172 | }; | ||
173 | |||
174 | static const struct omap_clkctrl_reg_data dra7_atl_clkctrl_regs[] __initconst = { | ||
175 | { DRA7_ATL_CLKCTRL, dra7_atl_bit_data, CLKF_SW_SUP, "atl_cm:clk:0000:26" }, | ||
176 | { 0 }, | ||
177 | }; | ||
178 | |||
179 | static const struct omap_clkctrl_reg_data dra7_l4cfg_clkctrl_regs[] __initconst = { | ||
180 | { DRA7_L4_CFG_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
181 | { DRA7_SPINLOCK_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
182 | { DRA7_MAILBOX1_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
183 | { DRA7_MAILBOX2_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
184 | { DRA7_MAILBOX3_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
185 | { DRA7_MAILBOX4_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
186 | { DRA7_MAILBOX5_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
187 | { DRA7_MAILBOX6_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
188 | { DRA7_MAILBOX7_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
189 | { DRA7_MAILBOX8_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
190 | { DRA7_MAILBOX9_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
191 | { DRA7_MAILBOX10_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
192 | { DRA7_MAILBOX11_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
193 | { DRA7_MAILBOX12_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
194 | { DRA7_MAILBOX13_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
195 | { 0 }, | ||
196 | }; | ||
197 | |||
198 | static const struct omap_clkctrl_reg_data dra7_l3instr_clkctrl_regs[] __initconst = { | ||
199 | { DRA7_L3_MAIN_2_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div" }, | ||
200 | { DRA7_L3_INSTR_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div" }, | ||
201 | { 0 }, | ||
202 | }; | ||
203 | |||
204 | static const char * const dra7_dss_dss_clk_parents[] __initconst = { | ||
205 | "dpll_per_h12x2_ck", | ||
206 | NULL, | ||
207 | }; | ||
208 | |||
209 | static const char * const dra7_dss_48mhz_clk_parents[] __initconst = { | ||
210 | "func_48m_fclk", | ||
211 | NULL, | ||
212 | }; | ||
213 | |||
214 | static const char * const dra7_dss_hdmi_clk_parents[] __initconst = { | ||
215 | "hdmi_dpll_clk_mux", | ||
216 | NULL, | ||
217 | }; | ||
218 | |||
219 | static const char * const dra7_dss_32khz_clk_parents[] __initconst = { | ||
220 | "sys_32k_ck", | ||
221 | NULL, | ||
222 | }; | ||
223 | |||
224 | static const char * const dra7_dss_video1_clk_parents[] __initconst = { | ||
225 | "video1_dpll_clk_mux", | ||
226 | NULL, | ||
227 | }; | ||
228 | |||
229 | static const char * const dra7_dss_video2_clk_parents[] __initconst = { | ||
230 | "video2_dpll_clk_mux", | ||
231 | NULL, | ||
232 | }; | ||
233 | |||
234 | static const struct omap_clkctrl_bit_data dra7_dss_core_bit_data[] __initconst = { | ||
235 | { 8, TI_CLK_GATE, dra7_dss_dss_clk_parents, NULL }, | ||
236 | { 9, TI_CLK_GATE, dra7_dss_48mhz_clk_parents, NULL }, | ||
237 | { 10, TI_CLK_GATE, dra7_dss_hdmi_clk_parents, NULL }, | ||
238 | { 11, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
239 | { 12, TI_CLK_GATE, dra7_dss_video1_clk_parents, NULL }, | ||
240 | { 13, TI_CLK_GATE, dra7_dss_video2_clk_parents, NULL }, | ||
241 | { 0 }, | ||
242 | }; | ||
243 | |||
244 | static const struct omap_clkctrl_reg_data dra7_dss_clkctrl_regs[] __initconst = { | ||
245 | { DRA7_DSS_CORE_CLKCTRL, dra7_dss_core_bit_data, CLKF_SW_SUP, "dss_cm:clk:0000:8" }, | ||
246 | { DRA7_BB2D_CLKCTRL, NULL, CLKF_SW_SUP, "dpll_core_h24x2_ck" }, | ||
247 | { 0 }, | ||
248 | }; | ||
249 | |||
250 | static const char * const dra7_mmc1_fclk_mux_parents[] __initconst = { | ||
251 | "func_128m_clk", | ||
252 | "dpll_per_m2x2_ck", | ||
253 | NULL, | ||
254 | }; | ||
255 | |||
256 | static const char * const dra7_mmc1_fclk_div_parents[] __initconst = { | ||
257 | "l3init_cm:clk:0008:24", | ||
258 | NULL, | ||
259 | }; | ||
260 | |||
261 | static const struct omap_clkctrl_div_data dra7_mmc1_fclk_div_data __initconst = { | ||
262 | .max_div = 4, | ||
263 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
264 | }; | ||
265 | |||
266 | static const struct omap_clkctrl_bit_data dra7_mmc1_bit_data[] __initconst = { | ||
267 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
268 | { 24, TI_CLK_MUX, dra7_mmc1_fclk_mux_parents, NULL }, | ||
269 | { 25, TI_CLK_DIVIDER, dra7_mmc1_fclk_div_parents, &dra7_mmc1_fclk_div_data }, | ||
270 | { 0 }, | ||
271 | }; | ||
272 | |||
273 | static const char * const dra7_mmc2_fclk_div_parents[] __initconst = { | ||
274 | "l3init_cm:clk:0010:24", | ||
275 | NULL, | ||
276 | }; | ||
277 | |||
278 | static const struct omap_clkctrl_div_data dra7_mmc2_fclk_div_data __initconst = { | ||
279 | .max_div = 4, | ||
280 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
281 | }; | ||
282 | |||
283 | static const struct omap_clkctrl_bit_data dra7_mmc2_bit_data[] __initconst = { | ||
284 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
285 | { 24, TI_CLK_MUX, dra7_mmc1_fclk_mux_parents, NULL }, | ||
286 | { 25, TI_CLK_DIVIDER, dra7_mmc2_fclk_div_parents, &dra7_mmc2_fclk_div_data }, | ||
287 | { 0 }, | ||
288 | }; | ||
289 | |||
290 | static const char * const dra7_usb_otg_ss2_refclk960m_parents[] __initconst = { | ||
291 | "l3init_960m_gfclk", | ||
292 | NULL, | ||
293 | }; | ||
294 | |||
295 | static const struct omap_clkctrl_bit_data dra7_usb_otg_ss2_bit_data[] __initconst = { | ||
296 | { 8, TI_CLK_GATE, dra7_usb_otg_ss2_refclk960m_parents, NULL }, | ||
297 | { 0 }, | ||
298 | }; | ||
299 | |||
300 | static const char * const dra7_sata_ref_clk_parents[] __initconst = { | ||
301 | "sys_clkin1", | ||
302 | NULL, | ||
303 | }; | ||
304 | |||
305 | static const struct omap_clkctrl_bit_data dra7_sata_bit_data[] __initconst = { | ||
306 | { 8, TI_CLK_GATE, dra7_sata_ref_clk_parents, NULL }, | ||
307 | { 0 }, | ||
308 | }; | ||
309 | |||
310 | static const char * const dra7_optfclk_pciephy1_clk_parents[] __initconst = { | ||
311 | "apll_pcie_ck", | ||
312 | NULL, | ||
313 | }; | ||
314 | |||
315 | static const char * const dra7_optfclk_pciephy1_div_clk_parents[] __initconst = { | ||
316 | "optfclk_pciephy_div", | ||
317 | NULL, | ||
318 | }; | ||
319 | |||
320 | static const struct omap_clkctrl_bit_data dra7_pcie1_bit_data[] __initconst = { | ||
321 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
322 | { 9, TI_CLK_GATE, dra7_optfclk_pciephy1_clk_parents, NULL }, | ||
323 | { 10, TI_CLK_GATE, dra7_optfclk_pciephy1_div_clk_parents, NULL }, | ||
324 | { 0 }, | ||
325 | }; | ||
326 | |||
327 | static const struct omap_clkctrl_bit_data dra7_pcie2_bit_data[] __initconst = { | ||
328 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
329 | { 9, TI_CLK_GATE, dra7_optfclk_pciephy1_clk_parents, NULL }, | ||
330 | { 10, TI_CLK_GATE, dra7_optfclk_pciephy1_div_clk_parents, NULL }, | ||
331 | { 0 }, | ||
332 | }; | ||
333 | |||
334 | static const char * const dra7_rmii_50mhz_clk_mux_parents[] __initconst = { | ||
335 | "dpll_gmac_h11x2_ck", | ||
336 | "rmii_clk_ck", | ||
337 | NULL, | ||
338 | }; | ||
339 | |||
340 | static const char * const dra7_gmac_rft_clk_mux_parents[] __initconst = { | ||
341 | "video1_clkin_ck", | ||
342 | "video2_clkin_ck", | ||
343 | "dpll_abe_m2_ck", | ||
344 | "hdmi_clkin_ck", | ||
345 | "l3_iclk_div", | ||
346 | NULL, | ||
347 | }; | ||
348 | |||
349 | static const struct omap_clkctrl_bit_data dra7_gmac_bit_data[] __initconst = { | ||
350 | { 24, TI_CLK_MUX, dra7_rmii_50mhz_clk_mux_parents, NULL }, | ||
351 | { 25, TI_CLK_MUX, dra7_gmac_rft_clk_mux_parents, NULL }, | ||
352 | { 0 }, | ||
353 | }; | ||
354 | |||
355 | static const struct omap_clkctrl_bit_data dra7_usb_otg_ss1_bit_data[] __initconst = { | ||
356 | { 8, TI_CLK_GATE, dra7_usb_otg_ss2_refclk960m_parents, NULL }, | ||
357 | { 0 }, | ||
358 | }; | ||
359 | |||
360 | static const struct omap_clkctrl_reg_data dra7_l3init_clkctrl_regs[] __initconst = { | ||
361 | { DRA7_MMC1_CLKCTRL, dra7_mmc1_bit_data, CLKF_SW_SUP, "l3init_cm:clk:0008:25" }, | ||
362 | { DRA7_MMC2_CLKCTRL, dra7_mmc2_bit_data, CLKF_SW_SUP, "l3init_cm:clk:0010:25" }, | ||
363 | { DRA7_USB_OTG_SS2_CLKCTRL, dra7_usb_otg_ss2_bit_data, CLKF_HW_SUP, "dpll_core_h13x2_ck" }, | ||
364 | { DRA7_USB_OTG_SS3_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_core_h13x2_ck" }, | ||
365 | { DRA7_USB_OTG_SS4_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_core_h13x2_ck" }, | ||
366 | { DRA7_SATA_CLKCTRL, dra7_sata_bit_data, CLKF_SW_SUP, "func_48m_fclk" }, | ||
367 | { DRA7_PCIE1_CLKCTRL, dra7_pcie1_bit_data, CLKF_SW_SUP, "l4_root_clk_div", "pcie_clkdm" }, | ||
368 | { DRA7_PCIE2_CLKCTRL, dra7_pcie2_bit_data, CLKF_SW_SUP, "l4_root_clk_div", "pcie_clkdm" }, | ||
369 | { DRA7_GMAC_CLKCTRL, dra7_gmac_bit_data, CLKF_SW_SUP, "dpll_gmac_ck", "gmac_clkdm" }, | ||
370 | { DRA7_OCP2SCP1_CLKCTRL, NULL, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
371 | { DRA7_OCP2SCP3_CLKCTRL, NULL, CLKF_HW_SUP, "l4_root_clk_div" }, | ||
372 | { DRA7_USB_OTG_SS1_CLKCTRL, dra7_usb_otg_ss1_bit_data, CLKF_HW_SUP, "dpll_core_h13x2_ck" }, | ||
373 | { 0 }, | ||
374 | }; | ||
375 | |||
376 | static const char * const dra7_timer10_gfclk_mux_parents[] __initconst = { | ||
377 | "timer_sys_clk_div", | ||
378 | "sys_32k_ck", | ||
379 | "sys_clkin2", | ||
380 | "ref_clkin0_ck", | ||
381 | "ref_clkin1_ck", | ||
382 | "ref_clkin2_ck", | ||
383 | "ref_clkin3_ck", | ||
384 | "abe_giclk_div", | ||
385 | "video1_div_clk", | ||
386 | "video2_div_clk", | ||
387 | "hdmi_div_clk", | ||
388 | NULL, | ||
389 | }; | ||
390 | |||
391 | static const struct omap_clkctrl_bit_data dra7_timer10_bit_data[] __initconst = { | ||
392 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
393 | { 0 }, | ||
394 | }; | ||
395 | |||
396 | static const struct omap_clkctrl_bit_data dra7_timer11_bit_data[] __initconst = { | ||
397 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
398 | { 0 }, | ||
399 | }; | ||
400 | |||
401 | static const struct omap_clkctrl_bit_data dra7_timer2_bit_data[] __initconst = { | ||
402 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
403 | { 0 }, | ||
404 | }; | ||
405 | |||
406 | static const struct omap_clkctrl_bit_data dra7_timer3_bit_data[] __initconst = { | ||
407 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
408 | { 0 }, | ||
409 | }; | ||
410 | |||
411 | static const struct omap_clkctrl_bit_data dra7_timer4_bit_data[] __initconst = { | ||
412 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
413 | { 0 }, | ||
414 | }; | ||
415 | |||
416 | static const struct omap_clkctrl_bit_data dra7_timer9_bit_data[] __initconst = { | ||
417 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
418 | { 0 }, | ||
419 | }; | ||
420 | |||
421 | static const struct omap_clkctrl_bit_data dra7_gpio2_bit_data[] __initconst = { | ||
422 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
423 | { 0 }, | ||
424 | }; | ||
425 | |||
426 | static const struct omap_clkctrl_bit_data dra7_gpio3_bit_data[] __initconst = { | ||
427 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
428 | { 0 }, | ||
429 | }; | ||
430 | |||
431 | static const struct omap_clkctrl_bit_data dra7_gpio4_bit_data[] __initconst = { | ||
432 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
433 | { 0 }, | ||
434 | }; | ||
435 | |||
436 | static const struct omap_clkctrl_bit_data dra7_gpio5_bit_data[] __initconst = { | ||
437 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
438 | { 0 }, | ||
439 | }; | ||
440 | |||
441 | static const struct omap_clkctrl_bit_data dra7_gpio6_bit_data[] __initconst = { | ||
442 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
443 | { 0 }, | ||
444 | }; | ||
445 | |||
446 | static const struct omap_clkctrl_bit_data dra7_timer13_bit_data[] __initconst = { | ||
447 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
448 | { 0 }, | ||
449 | }; | ||
450 | |||
451 | static const struct omap_clkctrl_bit_data dra7_timer14_bit_data[] __initconst = { | ||
452 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
453 | { 0 }, | ||
454 | }; | ||
455 | |||
456 | static const struct omap_clkctrl_bit_data dra7_timer15_bit_data[] __initconst = { | ||
457 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
458 | { 0 }, | ||
459 | }; | ||
460 | |||
461 | static const struct omap_clkctrl_bit_data dra7_gpio7_bit_data[] __initconst = { | ||
462 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
463 | { 0 }, | ||
464 | }; | ||
465 | |||
466 | static const struct omap_clkctrl_bit_data dra7_gpio8_bit_data[] __initconst = { | ||
467 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
468 | { 0 }, | ||
469 | }; | ||
470 | |||
471 | static const char * const dra7_mmc3_gfclk_div_parents[] __initconst = { | ||
472 | "l4per_cm:clk:0120:24", | ||
473 | NULL, | ||
474 | }; | ||
475 | |||
476 | static const struct omap_clkctrl_div_data dra7_mmc3_gfclk_div_data __initconst = { | ||
477 | .max_div = 4, | ||
478 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
479 | }; | ||
480 | |||
481 | static const struct omap_clkctrl_bit_data dra7_mmc3_bit_data[] __initconst = { | ||
482 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
483 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
484 | { 25, TI_CLK_DIVIDER, dra7_mmc3_gfclk_div_parents, &dra7_mmc3_gfclk_div_data }, | ||
485 | { 0 }, | ||
486 | }; | ||
487 | |||
488 | static const char * const dra7_mmc4_gfclk_div_parents[] __initconst = { | ||
489 | "l4per_cm:clk:0128:24", | ||
490 | NULL, | ||
491 | }; | ||
492 | |||
493 | static const struct omap_clkctrl_div_data dra7_mmc4_gfclk_div_data __initconst = { | ||
494 | .max_div = 4, | ||
495 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
496 | }; | ||
497 | |||
498 | static const struct omap_clkctrl_bit_data dra7_mmc4_bit_data[] __initconst = { | ||
499 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
500 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
501 | { 25, TI_CLK_DIVIDER, dra7_mmc4_gfclk_div_parents, &dra7_mmc4_gfclk_div_data }, | ||
502 | { 0 }, | ||
503 | }; | ||
504 | |||
505 | static const struct omap_clkctrl_bit_data dra7_timer16_bit_data[] __initconst = { | ||
506 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
507 | { 0 }, | ||
508 | }; | ||
509 | |||
510 | static const char * const dra7_qspi_gfclk_mux_parents[] __initconst = { | ||
511 | "func_128m_clk", | ||
512 | "dpll_per_h13x2_ck", | ||
513 | NULL, | ||
514 | }; | ||
515 | |||
516 | static const char * const dra7_qspi_gfclk_div_parents[] __initconst = { | ||
517 | "l4per_cm:clk:0138:24", | ||
518 | NULL, | ||
519 | }; | ||
520 | |||
521 | static const struct omap_clkctrl_div_data dra7_qspi_gfclk_div_data __initconst = { | ||
522 | .max_div = 4, | ||
523 | .flags = CLK_DIVIDER_POWER_OF_TWO, | ||
524 | }; | ||
525 | |||
526 | static const struct omap_clkctrl_bit_data dra7_qspi_bit_data[] __initconst = { | ||
527 | { 24, TI_CLK_MUX, dra7_qspi_gfclk_mux_parents, NULL }, | ||
528 | { 25, TI_CLK_DIVIDER, dra7_qspi_gfclk_div_parents, &dra7_qspi_gfclk_div_data }, | ||
529 | { 0 }, | ||
530 | }; | ||
531 | |||
532 | static const struct omap_clkctrl_bit_data dra7_uart1_bit_data[] __initconst = { | ||
533 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
534 | { 0 }, | ||
535 | }; | ||
536 | |||
537 | static const struct omap_clkctrl_bit_data dra7_uart2_bit_data[] __initconst = { | ||
538 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
539 | { 0 }, | ||
540 | }; | ||
541 | |||
542 | static const struct omap_clkctrl_bit_data dra7_uart3_bit_data[] __initconst = { | ||
543 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
544 | { 0 }, | ||
545 | }; | ||
546 | |||
547 | static const struct omap_clkctrl_bit_data dra7_uart4_bit_data[] __initconst = { | ||
548 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
549 | { 0 }, | ||
550 | }; | ||
551 | |||
552 | static const struct omap_clkctrl_bit_data dra7_mcasp2_bit_data[] __initconst = { | ||
553 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
554 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
555 | { 28, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
556 | { 0 }, | ||
557 | }; | ||
558 | |||
559 | static const struct omap_clkctrl_bit_data dra7_mcasp3_bit_data[] __initconst = { | ||
560 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
561 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
562 | { 0 }, | ||
563 | }; | ||
564 | |||
565 | static const struct omap_clkctrl_bit_data dra7_uart5_bit_data[] __initconst = { | ||
566 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
567 | { 0 }, | ||
568 | }; | ||
569 | |||
570 | static const struct omap_clkctrl_bit_data dra7_mcasp5_bit_data[] __initconst = { | ||
571 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
572 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
573 | { 0 }, | ||
574 | }; | ||
575 | |||
576 | static const struct omap_clkctrl_bit_data dra7_mcasp8_bit_data[] __initconst = { | ||
577 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
578 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
579 | { 0 }, | ||
580 | }; | ||
581 | |||
582 | static const struct omap_clkctrl_bit_data dra7_mcasp4_bit_data[] __initconst = { | ||
583 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
584 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
585 | { 0 }, | ||
586 | }; | ||
587 | |||
588 | static const struct omap_clkctrl_bit_data dra7_uart7_bit_data[] __initconst = { | ||
589 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
590 | { 0 }, | ||
591 | }; | ||
592 | |||
593 | static const struct omap_clkctrl_bit_data dra7_uart8_bit_data[] __initconst = { | ||
594 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
595 | { 0 }, | ||
596 | }; | ||
597 | |||
598 | static const struct omap_clkctrl_bit_data dra7_uart9_bit_data[] __initconst = { | ||
599 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
600 | { 0 }, | ||
601 | }; | ||
602 | |||
603 | static const struct omap_clkctrl_bit_data dra7_mcasp6_bit_data[] __initconst = { | ||
604 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
605 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
606 | { 0 }, | ||
607 | }; | ||
608 | |||
609 | static const struct omap_clkctrl_bit_data dra7_mcasp7_bit_data[] __initconst = { | ||
610 | { 22, TI_CLK_MUX, dra7_mcasp1_aux_gfclk_mux_parents, NULL }, | ||
611 | { 24, TI_CLK_MUX, dra7_mcasp1_ahclkx_mux_parents, NULL }, | ||
612 | { 0 }, | ||
613 | }; | ||
614 | |||
615 | static const struct omap_clkctrl_reg_data dra7_l4per_clkctrl_regs[] __initconst = { | ||
616 | { DRA7_L4_PER2_CLKCTRL, NULL, 0, "l3_iclk_div", "l4per2_clkdm" }, | ||
617 | { DRA7_L4_PER3_CLKCTRL, NULL, 0, "l3_iclk_div", "l4per3_clkdm" }, | ||
618 | { DRA7_TIMER10_CLKCTRL, dra7_timer10_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0028:24" }, | ||
619 | { DRA7_TIMER11_CLKCTRL, dra7_timer11_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0030:24" }, | ||
620 | { DRA7_TIMER2_CLKCTRL, dra7_timer2_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0038:24" }, | ||
621 | { DRA7_TIMER3_CLKCTRL, dra7_timer3_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0040:24" }, | ||
622 | { DRA7_TIMER4_CLKCTRL, dra7_timer4_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0048:24" }, | ||
623 | { DRA7_TIMER9_CLKCTRL, dra7_timer9_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0050:24" }, | ||
624 | { DRA7_ELM_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
625 | { DRA7_GPIO2_CLKCTRL, dra7_gpio2_bit_data, CLKF_HW_SUP, "l3_iclk_div" }, | ||
626 | { DRA7_GPIO3_CLKCTRL, dra7_gpio3_bit_data, CLKF_HW_SUP, "l3_iclk_div" }, | ||
627 | { DRA7_GPIO4_CLKCTRL, dra7_gpio4_bit_data, CLKF_HW_SUP, "l3_iclk_div" }, | ||
628 | { DRA7_GPIO5_CLKCTRL, dra7_gpio5_bit_data, CLKF_HW_SUP, "l3_iclk_div" }, | ||
629 | { DRA7_GPIO6_CLKCTRL, dra7_gpio6_bit_data, CLKF_HW_SUP, "l3_iclk_div" }, | ||
630 | { DRA7_HDQ1W_CLKCTRL, NULL, CLKF_SW_SUP, "func_12m_fclk" }, | ||
631 | { DRA7_EPWMSS1_CLKCTRL, NULL, CLKF_SW_SUP, "l4_root_clk_div", "l4per2_clkdm" }, | ||
632 | { DRA7_EPWMSS2_CLKCTRL, NULL, CLKF_SW_SUP, "l4_root_clk_div", "l4per2_clkdm" }, | ||
633 | { DRA7_I2C1_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
634 | { DRA7_I2C2_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
635 | { DRA7_I2C3_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
636 | { DRA7_I2C4_CLKCTRL, NULL, CLKF_SW_SUP, "func_96m_fclk" }, | ||
637 | { DRA7_L4_PER1_CLKCTRL, NULL, 0, "l3_iclk_div" }, | ||
638 | { DRA7_EPWMSS0_CLKCTRL, NULL, CLKF_SW_SUP, "l4_root_clk_div", "l4per2_clkdm" }, | ||
639 | { DRA7_TIMER13_CLKCTRL, dra7_timer13_bit_data, CLKF_SW_SUP, "l4per_cm:clk:00c8:24", "l4per3_clkdm" }, | ||
640 | { DRA7_TIMER14_CLKCTRL, dra7_timer14_bit_data, CLKF_SW_SUP, "l4per_cm:clk:00d0:24", "l4per3_clkdm" }, | ||
641 | { DRA7_TIMER15_CLKCTRL, dra7_timer15_bit_data, CLKF_SW_SUP, "l4per_cm:clk:00d8:24", "l4per3_clkdm" }, | ||
642 | { DRA7_MCSPI1_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
643 | { DRA7_MCSPI2_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
644 | { DRA7_MCSPI3_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
645 | { DRA7_MCSPI4_CLKCTRL, NULL, CLKF_SW_SUP, "func_48m_fclk" }, | ||
646 | { DRA7_GPIO7_CLKCTRL, dra7_gpio7_bit_data, CLKF_HW_SUP, "l3_iclk_div" }, | ||
647 | { DRA7_GPIO8_CLKCTRL, dra7_gpio8_bit_data, CLKF_HW_SUP, "l3_iclk_div" }, | ||
648 | { DRA7_MMC3_CLKCTRL, dra7_mmc3_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0120:25" }, | ||
649 | { DRA7_MMC4_CLKCTRL, dra7_mmc4_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0128:25" }, | ||
650 | { DRA7_TIMER16_CLKCTRL, dra7_timer16_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0130:24", "l4per3_clkdm" }, | ||
651 | { DRA7_QSPI_CLKCTRL, dra7_qspi_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0138:25", "l4per2_clkdm" }, | ||
652 | { DRA7_UART1_CLKCTRL, dra7_uart1_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0140:24" }, | ||
653 | { DRA7_UART2_CLKCTRL, dra7_uart2_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0148:24" }, | ||
654 | { DRA7_UART3_CLKCTRL, dra7_uart3_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0150:24" }, | ||
655 | { DRA7_UART4_CLKCTRL, dra7_uart4_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0158:24" }, | ||
656 | { DRA7_MCASP2_CLKCTRL, dra7_mcasp2_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0160:22", "l4per2_clkdm" }, | ||
657 | { DRA7_MCASP3_CLKCTRL, dra7_mcasp3_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0168:22", "l4per2_clkdm" }, | ||
658 | { DRA7_UART5_CLKCTRL, dra7_uart5_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0170:24" }, | ||
659 | { DRA7_MCASP5_CLKCTRL, dra7_mcasp5_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0178:22", "l4per2_clkdm" }, | ||
660 | { DRA7_MCASP8_CLKCTRL, dra7_mcasp8_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0190:24", "l4per2_clkdm" }, | ||
661 | { DRA7_MCASP4_CLKCTRL, dra7_mcasp4_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0198:22", "l4per2_clkdm" }, | ||
662 | { DRA7_AES1_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div", "l4sec_clkdm" }, | ||
663 | { DRA7_AES2_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div", "l4sec_clkdm" }, | ||
664 | { DRA7_DES_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div", "l4sec_clkdm" }, | ||
665 | { DRA7_RNG_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div", "l4sec_clkdm" }, | ||
666 | { DRA7_SHAM_CLKCTRL, NULL, CLKF_HW_SUP, "l3_iclk_div", "l4sec_clkdm" }, | ||
667 | { DRA7_UART7_CLKCTRL, dra7_uart7_bit_data, CLKF_SW_SUP, "l4per_cm:clk:01d0:24", "l4per2_clkdm" }, | ||
668 | { DRA7_UART8_CLKCTRL, dra7_uart8_bit_data, CLKF_SW_SUP, "l4per_cm:clk:01e0:24", "l4per2_clkdm" }, | ||
669 | { DRA7_UART9_CLKCTRL, dra7_uart9_bit_data, CLKF_SW_SUP, "l4per_cm:clk:01e8:24", "l4per2_clkdm" }, | ||
670 | { DRA7_DCAN2_CLKCTRL, NULL, CLKF_SW_SUP, "sys_clkin1", "l4per2_clkdm" }, | ||
671 | { DRA7_MCASP6_CLKCTRL, dra7_mcasp6_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0204:22", "l4per2_clkdm" }, | ||
672 | { DRA7_MCASP7_CLKCTRL, dra7_mcasp7_bit_data, CLKF_SW_SUP, "l4per_cm:clk:0208:22", "l4per2_clkdm" }, | ||
673 | { 0 }, | ||
674 | }; | ||
675 | |||
676 | static const struct omap_clkctrl_bit_data dra7_gpio1_bit_data[] __initconst = { | ||
677 | { 8, TI_CLK_GATE, dra7_dss_32khz_clk_parents, NULL }, | ||
678 | { 0 }, | ||
679 | }; | ||
680 | |||
681 | static const struct omap_clkctrl_bit_data dra7_timer1_bit_data[] __initconst = { | ||
682 | { 24, TI_CLK_MUX, dra7_timer10_gfclk_mux_parents, NULL }, | ||
683 | { 0 }, | ||
684 | }; | ||
685 | |||
686 | static const struct omap_clkctrl_bit_data dra7_uart10_bit_data[] __initconst = { | ||
687 | { 24, TI_CLK_MUX, dra7_uart6_gfclk_mux_parents, NULL }, | ||
688 | { 0 }, | ||
689 | }; | ||
690 | |||
691 | static const char * const dra7_dcan1_sys_clk_mux_parents[] __initconst = { | ||
692 | "sys_clkin1", | ||
693 | "sys_clkin2", | ||
694 | NULL, | ||
695 | }; | ||
696 | |||
697 | static const struct omap_clkctrl_bit_data dra7_dcan1_bit_data[] __initconst = { | ||
698 | { 24, TI_CLK_MUX, dra7_dcan1_sys_clk_mux_parents, NULL }, | ||
699 | { 0 }, | ||
700 | }; | ||
701 | |||
702 | static const struct omap_clkctrl_reg_data dra7_wkupaon_clkctrl_regs[] __initconst = { | ||
703 | { DRA7_L4_WKUP_CLKCTRL, NULL, 0, "wkupaon_iclk_mux" }, | ||
704 | { DRA7_WD_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "sys_32k_ck" }, | ||
705 | { DRA7_GPIO1_CLKCTRL, dra7_gpio1_bit_data, CLKF_HW_SUP, "wkupaon_iclk_mux" }, | ||
706 | { DRA7_TIMER1_CLKCTRL, dra7_timer1_bit_data, CLKF_SW_SUP, "wkupaon_cm:clk:0020:24" }, | ||
707 | { DRA7_TIMER12_CLKCTRL, NULL, 0, "secure_32k_clk_src_ck" }, | ||
708 | { DRA7_COUNTER_32K_CLKCTRL, NULL, 0, "wkupaon_iclk_mux" }, | ||
709 | { DRA7_UART10_CLKCTRL, dra7_uart10_bit_data, CLKF_SW_SUP, "wkupaon_cm:clk:0060:24" }, | ||
710 | { DRA7_DCAN1_CLKCTRL, dra7_dcan1_bit_data, CLKF_SW_SUP, "wkupaon_cm:clk:0068:24" }, | ||
711 | { 0 }, | ||
712 | }; | ||
713 | |||
714 | const struct omap_clkctrl_data dra7_clkctrl_data[] __initconst = { | ||
715 | { 0x4a005320, dra7_mpu_clkctrl_regs }, | ||
716 | { 0x4a005540, dra7_ipu_clkctrl_regs }, | ||
717 | { 0x4a005740, dra7_rtc_clkctrl_regs }, | ||
718 | { 0x4a008620, dra7_coreaon_clkctrl_regs }, | ||
719 | { 0x4a008720, dra7_l3main1_clkctrl_regs }, | ||
720 | { 0x4a008a20, dra7_dma_clkctrl_regs }, | ||
721 | { 0x4a008b20, dra7_emif_clkctrl_regs }, | ||
722 | { 0x4a008c00, dra7_atl_clkctrl_regs }, | ||
723 | { 0x4a008d20, dra7_l4cfg_clkctrl_regs }, | ||
724 | { 0x4a008e20, dra7_l3instr_clkctrl_regs }, | ||
725 | { 0x4a009120, dra7_dss_clkctrl_regs }, | ||
726 | { 0x4a009320, dra7_l3init_clkctrl_regs }, | ||
727 | { 0x4a009700, dra7_l4per_clkctrl_regs }, | ||
728 | { 0x4ae07820, dra7_wkupaon_clkctrl_regs }, | ||
729 | { 0 }, | ||
730 | }; | ||
731 | |||
24 | static struct ti_dt_clk dra7xx_clks[] = { | 732 | static struct ti_dt_clk dra7xx_clks[] = { |
25 | DT_CLK(NULL, "atl_clkin0_ck", "atl_clkin0_ck"), | ||
26 | DT_CLK(NULL, "atl_clkin1_ck", "atl_clkin1_ck"), | ||
27 | DT_CLK(NULL, "atl_clkin2_ck", "atl_clkin2_ck"), | ||
28 | DT_CLK(NULL, "atl_clkin3_ck", "atl_clkin3_ck"), | ||
29 | DT_CLK(NULL, "hdmi_clkin_ck", "hdmi_clkin_ck"), | ||
30 | DT_CLK(NULL, "mlb_clkin_ck", "mlb_clkin_ck"), | ||
31 | DT_CLK(NULL, "mlbp_clkin_ck", "mlbp_clkin_ck"), | ||
32 | DT_CLK(NULL, "pciesref_acs_clk_ck", "pciesref_acs_clk_ck"), | ||
33 | DT_CLK(NULL, "ref_clkin0_ck", "ref_clkin0_ck"), | ||
34 | DT_CLK(NULL, "ref_clkin1_ck", "ref_clkin1_ck"), | ||
35 | DT_CLK(NULL, "ref_clkin2_ck", "ref_clkin2_ck"), | ||
36 | DT_CLK(NULL, "ref_clkin3_ck", "ref_clkin3_ck"), | ||
37 | DT_CLK(NULL, "rmii_clk_ck", "rmii_clk_ck"), | ||
38 | DT_CLK(NULL, "sdvenc_clkin_ck", "sdvenc_clkin_ck"), | ||
39 | DT_CLK(NULL, "secure_32k_clk_src_ck", "secure_32k_clk_src_ck"), | ||
40 | DT_CLK(NULL, "sys_32k_ck", "sys_32k_ck"), | ||
41 | DT_CLK(NULL, "virt_12000000_ck", "virt_12000000_ck"), | ||
42 | DT_CLK(NULL, "virt_13000000_ck", "virt_13000000_ck"), | ||
43 | DT_CLK(NULL, "virt_16800000_ck", "virt_16800000_ck"), | ||
44 | DT_CLK(NULL, "virt_19200000_ck", "virt_19200000_ck"), | ||
45 | DT_CLK(NULL, "virt_20000000_ck", "virt_20000000_ck"), | ||
46 | DT_CLK(NULL, "virt_26000000_ck", "virt_26000000_ck"), | ||
47 | DT_CLK(NULL, "virt_27000000_ck", "virt_27000000_ck"), | ||
48 | DT_CLK(NULL, "virt_38400000_ck", "virt_38400000_ck"), | ||
49 | DT_CLK(NULL, "sys_clkin1", "sys_clkin1"), | ||
50 | DT_CLK(NULL, "sys_clkin2", "sys_clkin2"), | ||
51 | DT_CLK(NULL, "usb_otg_clkin_ck", "usb_otg_clkin_ck"), | ||
52 | DT_CLK(NULL, "video1_clkin_ck", "video1_clkin_ck"), | ||
53 | DT_CLK(NULL, "video1_m2_clkin_ck", "video1_m2_clkin_ck"), | ||
54 | DT_CLK(NULL, "video2_clkin_ck", "video2_clkin_ck"), | ||
55 | DT_CLK(NULL, "video2_m2_clkin_ck", "video2_m2_clkin_ck"), | ||
56 | DT_CLK(NULL, "abe_dpll_sys_clk_mux", "abe_dpll_sys_clk_mux"), | ||
57 | DT_CLK(NULL, "abe_dpll_bypass_clk_mux", "abe_dpll_bypass_clk_mux"), | ||
58 | DT_CLK(NULL, "abe_dpll_clk_mux", "abe_dpll_clk_mux"), | ||
59 | DT_CLK(NULL, "dpll_abe_ck", "dpll_abe_ck"), | ||
60 | DT_CLK(NULL, "dpll_abe_x2_ck", "dpll_abe_x2_ck"), | ||
61 | DT_CLK(NULL, "dpll_abe_m2x2_ck", "dpll_abe_m2x2_ck"), | ||
62 | DT_CLK(NULL, "abe_24m_fclk", "abe_24m_fclk"), | ||
63 | DT_CLK(NULL, "abe_clk", "abe_clk"), | ||
64 | DT_CLK(NULL, "aess_fclk", "aess_fclk"), | ||
65 | DT_CLK(NULL, "abe_giclk_div", "abe_giclk_div"), | ||
66 | DT_CLK(NULL, "abe_lp_clk_div", "abe_lp_clk_div"), | ||
67 | DT_CLK(NULL, "abe_sys_clk_div", "abe_sys_clk_div"), | ||
68 | DT_CLK(NULL, "adc_gfclk_mux", "adc_gfclk_mux"), | ||
69 | DT_CLK(NULL, "dpll_pcie_ref_ck", "dpll_pcie_ref_ck"), | ||
70 | DT_CLK(NULL, "dpll_pcie_ref_m2ldo_ck", "dpll_pcie_ref_m2ldo_ck"), | ||
71 | DT_CLK(NULL, "apll_pcie_ck", "apll_pcie_ck"), | ||
72 | DT_CLK(NULL, "apll_pcie_clkvcoldo", "apll_pcie_clkvcoldo"), | ||
73 | DT_CLK(NULL, "apll_pcie_clkvcoldo_div", "apll_pcie_clkvcoldo_div"), | ||
74 | DT_CLK(NULL, "apll_pcie_m2_ck", "apll_pcie_m2_ck"), | ||
75 | DT_CLK(NULL, "sys_clk1_dclk_div", "sys_clk1_dclk_div"), | ||
76 | DT_CLK(NULL, "sys_clk2_dclk_div", "sys_clk2_dclk_div"), | ||
77 | DT_CLK(NULL, "dpll_abe_m2_ck", "dpll_abe_m2_ck"), | ||
78 | DT_CLK(NULL, "per_abe_x1_dclk_div", "per_abe_x1_dclk_div"), | ||
79 | DT_CLK(NULL, "dpll_abe_m3x2_ck", "dpll_abe_m3x2_ck"), | ||
80 | DT_CLK(NULL, "dpll_core_ck", "dpll_core_ck"), | ||
81 | DT_CLK(NULL, "dpll_core_x2_ck", "dpll_core_x2_ck"), | ||
82 | DT_CLK(NULL, "dpll_core_h12x2_ck", "dpll_core_h12x2_ck"), | ||
83 | DT_CLK(NULL, "mpu_dpll_hs_clk_div", "mpu_dpll_hs_clk_div"), | ||
84 | DT_CLK(NULL, "dpll_mpu_ck", "dpll_mpu_ck"), | ||
85 | DT_CLK(NULL, "dpll_mpu_m2_ck", "dpll_mpu_m2_ck"), | ||
86 | DT_CLK(NULL, "mpu_dclk_div", "mpu_dclk_div"), | ||
87 | DT_CLK(NULL, "dsp_dpll_hs_clk_div", "dsp_dpll_hs_clk_div"), | ||
88 | DT_CLK(NULL, "dpll_dsp_ck", "dpll_dsp_ck"), | ||
89 | DT_CLK(NULL, "dpll_dsp_m2_ck", "dpll_dsp_m2_ck"), | ||
90 | DT_CLK(NULL, "dsp_gclk_div", "dsp_gclk_div"), | ||
91 | DT_CLK(NULL, "iva_dpll_hs_clk_div", "iva_dpll_hs_clk_div"), | ||
92 | DT_CLK(NULL, "dpll_iva_ck", "dpll_iva_ck"), | ||
93 | DT_CLK(NULL, "dpll_iva_m2_ck", "dpll_iva_m2_ck"), | ||
94 | DT_CLK(NULL, "iva_dclk", "iva_dclk"), | ||
95 | DT_CLK(NULL, "dpll_gpu_ck", "dpll_gpu_ck"), | ||
96 | DT_CLK(NULL, "dpll_gpu_m2_ck", "dpll_gpu_m2_ck"), | ||
97 | DT_CLK(NULL, "gpu_dclk", "gpu_dclk"), | ||
98 | DT_CLK(NULL, "dpll_core_m2_ck", "dpll_core_m2_ck"), | ||
99 | DT_CLK(NULL, "core_dpll_out_dclk_div", "core_dpll_out_dclk_div"), | ||
100 | DT_CLK(NULL, "dpll_ddr_ck", "dpll_ddr_ck"), | ||
101 | DT_CLK(NULL, "dpll_ddr_m2_ck", "dpll_ddr_m2_ck"), | ||
102 | DT_CLK(NULL, "emif_phy_dclk_div", "emif_phy_dclk_div"), | ||
103 | DT_CLK(NULL, "dpll_gmac_ck", "dpll_gmac_ck"), | ||
104 | DT_CLK(NULL, "dpll_gmac_m2_ck", "dpll_gmac_m2_ck"), | ||
105 | DT_CLK(NULL, "gmac_250m_dclk_div", "gmac_250m_dclk_div"), | ||
106 | DT_CLK(NULL, "video2_dclk_div", "video2_dclk_div"), | ||
107 | DT_CLK(NULL, "video1_dclk_div", "video1_dclk_div"), | ||
108 | DT_CLK(NULL, "hdmi_dclk_div", "hdmi_dclk_div"), | ||
109 | DT_CLK(NULL, "per_dpll_hs_clk_div", "per_dpll_hs_clk_div"), | ||
110 | DT_CLK(NULL, "dpll_per_ck", "dpll_per_ck"), | ||
111 | DT_CLK(NULL, "dpll_per_m2_ck", "dpll_per_m2_ck"), | ||
112 | DT_CLK(NULL, "func_96m_aon_dclk_div", "func_96m_aon_dclk_div"), | ||
113 | DT_CLK(NULL, "usb_dpll_hs_clk_div", "usb_dpll_hs_clk_div"), | ||
114 | DT_CLK(NULL, "dpll_usb_ck", "dpll_usb_ck"), | ||
115 | DT_CLK(NULL, "dpll_usb_m2_ck", "dpll_usb_m2_ck"), | ||
116 | DT_CLK(NULL, "l3init_480m_dclk_div", "l3init_480m_dclk_div"), | ||
117 | DT_CLK(NULL, "usb_otg_dclk_div", "usb_otg_dclk_div"), | ||
118 | DT_CLK(NULL, "sata_dclk_div", "sata_dclk_div"), | ||
119 | DT_CLK(NULL, "dpll_pcie_ref_m2_ck", "dpll_pcie_ref_m2_ck"), | ||
120 | DT_CLK(NULL, "pcie2_dclk_div", "pcie2_dclk_div"), | ||
121 | DT_CLK(NULL, "pcie_dclk_div", "pcie_dclk_div"), | ||
122 | DT_CLK(NULL, "emu_dclk_div", "emu_dclk_div"), | ||
123 | DT_CLK(NULL, "secure_32k_dclk_div", "secure_32k_dclk_div"), | ||
124 | DT_CLK(NULL, "eve_dpll_hs_clk_div", "eve_dpll_hs_clk_div"), | ||
125 | DT_CLK(NULL, "dpll_eve_ck", "dpll_eve_ck"), | ||
126 | DT_CLK(NULL, "dpll_eve_m2_ck", "dpll_eve_m2_ck"), | ||
127 | DT_CLK(NULL, "eve_dclk_div", "eve_dclk_div"), | ||
128 | DT_CLK(NULL, "clkoutmux0_clk_mux", "clkoutmux0_clk_mux"), | ||
129 | DT_CLK(NULL, "clkoutmux1_clk_mux", "clkoutmux1_clk_mux"), | ||
130 | DT_CLK(NULL, "clkoutmux2_clk_mux", "clkoutmux2_clk_mux"), | ||
131 | DT_CLK(NULL, "custefuse_sys_gfclk_div", "custefuse_sys_gfclk_div"), | ||
132 | DT_CLK(NULL, "dpll_core_h13x2_ck", "dpll_core_h13x2_ck"), | ||
133 | DT_CLK(NULL, "dpll_core_h14x2_ck", "dpll_core_h14x2_ck"), | ||
134 | DT_CLK(NULL, "dpll_core_h22x2_ck", "dpll_core_h22x2_ck"), | ||
135 | DT_CLK(NULL, "dpll_core_h23x2_ck", "dpll_core_h23x2_ck"), | ||
136 | DT_CLK(NULL, "dpll_core_h24x2_ck", "dpll_core_h24x2_ck"), | ||
137 | DT_CLK(NULL, "dpll_ddr_x2_ck", "dpll_ddr_x2_ck"), | ||
138 | DT_CLK(NULL, "dpll_ddr_h11x2_ck", "dpll_ddr_h11x2_ck"), | ||
139 | DT_CLK(NULL, "dpll_dsp_x2_ck", "dpll_dsp_x2_ck"), | ||
140 | DT_CLK(NULL, "dpll_dsp_m3x2_ck", "dpll_dsp_m3x2_ck"), | ||
141 | DT_CLK(NULL, "dpll_gmac_x2_ck", "dpll_gmac_x2_ck"), | ||
142 | DT_CLK(NULL, "dpll_gmac_h11x2_ck", "dpll_gmac_h11x2_ck"), | ||
143 | DT_CLK(NULL, "dpll_gmac_h12x2_ck", "dpll_gmac_h12x2_ck"), | ||
144 | DT_CLK(NULL, "dpll_gmac_h13x2_ck", "dpll_gmac_h13x2_ck"), | ||
145 | DT_CLK(NULL, "dpll_gmac_m3x2_ck", "dpll_gmac_m3x2_ck"), | ||
146 | DT_CLK(NULL, "dpll_per_x2_ck", "dpll_per_x2_ck"), | ||
147 | DT_CLK(NULL, "dpll_per_h11x2_ck", "dpll_per_h11x2_ck"), | ||
148 | DT_CLK(NULL, "dpll_per_h12x2_ck", "dpll_per_h12x2_ck"), | ||
149 | DT_CLK(NULL, "dpll_per_h13x2_ck", "dpll_per_h13x2_ck"), | ||
150 | DT_CLK(NULL, "dpll_per_h14x2_ck", "dpll_per_h14x2_ck"), | ||
151 | DT_CLK(NULL, "dpll_per_m2x2_ck", "dpll_per_m2x2_ck"), | ||
152 | DT_CLK(NULL, "dpll_usb_clkdcoldo", "dpll_usb_clkdcoldo"), | ||
153 | DT_CLK(NULL, "eve_clk", "eve_clk"), | ||
154 | DT_CLK(NULL, "func_128m_clk", "func_128m_clk"), | ||
155 | DT_CLK(NULL, "func_12m_fclk", "func_12m_fclk"), | ||
156 | DT_CLK(NULL, "func_24m_clk", "func_24m_clk"), | ||
157 | DT_CLK(NULL, "func_48m_fclk", "func_48m_fclk"), | ||
158 | DT_CLK(NULL, "func_96m_fclk", "func_96m_fclk"), | ||
159 | DT_CLK(NULL, "gmii_m_clk_div", "gmii_m_clk_div"), | ||
160 | DT_CLK(NULL, "hdmi_clk2_div", "hdmi_clk2_div"), | ||
161 | DT_CLK(NULL, "hdmi_div_clk", "hdmi_div_clk"), | ||
162 | DT_CLK(NULL, "hdmi_dpll_clk_mux", "hdmi_dpll_clk_mux"), | ||
163 | DT_CLK(NULL, "l3_iclk_div", "l3_iclk_div"), | ||
164 | DT_CLK(NULL, "l3init_60m_fclk", "l3init_60m_fclk"), | ||
165 | DT_CLK(NULL, "l4_root_clk_div", "l4_root_clk_div"), | ||
166 | DT_CLK(NULL, "mlb_clk", "mlb_clk"), | ||
167 | DT_CLK(NULL, "mlbp_clk", "mlbp_clk"), | ||
168 | DT_CLK(NULL, "per_abe_x1_gfclk2_div", "per_abe_x1_gfclk2_div"), | ||
169 | DT_CLK(NULL, "timer_sys_clk_div", "timer_sys_clk_div"), | ||
170 | DT_CLK(NULL, "video1_clk2_div", "video1_clk2_div"), | ||
171 | DT_CLK(NULL, "video1_div_clk", "video1_div_clk"), | ||
172 | DT_CLK(NULL, "video1_dpll_clk_mux", "video1_dpll_clk_mux"), | ||
173 | DT_CLK(NULL, "video2_clk2_div", "video2_clk2_div"), | ||
174 | DT_CLK(NULL, "video2_div_clk", "video2_div_clk"), | ||
175 | DT_CLK(NULL, "video2_dpll_clk_mux", "video2_dpll_clk_mux"), | ||
176 | DT_CLK(NULL, "wkupaon_iclk_mux", "wkupaon_iclk_mux"), | ||
177 | DT_CLK(NULL, "dss_32khz_clk", "dss_32khz_clk"), | ||
178 | DT_CLK(NULL, "dss_48mhz_clk", "dss_48mhz_clk"), | ||
179 | DT_CLK(NULL, "dss_dss_clk", "dss_dss_clk"), | ||
180 | DT_CLK(NULL, "dss_hdmi_clk", "dss_hdmi_clk"), | ||
181 | DT_CLK(NULL, "dss_video1_clk", "dss_video1_clk"), | ||
182 | DT_CLK(NULL, "dss_video2_clk", "dss_video2_clk"), | ||
183 | DT_CLK(NULL, "gpio1_dbclk", "gpio1_dbclk"), | ||
184 | DT_CLK(NULL, "gpio2_dbclk", "gpio2_dbclk"), | ||
185 | DT_CLK(NULL, "gpio3_dbclk", "gpio3_dbclk"), | ||
186 | DT_CLK(NULL, "gpio4_dbclk", "gpio4_dbclk"), | ||
187 | DT_CLK(NULL, "gpio5_dbclk", "gpio5_dbclk"), | ||
188 | DT_CLK(NULL, "gpio6_dbclk", "gpio6_dbclk"), | ||
189 | DT_CLK(NULL, "gpio7_dbclk", "gpio7_dbclk"), | ||
190 | DT_CLK(NULL, "gpio8_dbclk", "gpio8_dbclk"), | ||
191 | DT_CLK(NULL, "mmc1_clk32k", "mmc1_clk32k"), | ||
192 | DT_CLK(NULL, "mmc2_clk32k", "mmc2_clk32k"), | ||
193 | DT_CLK(NULL, "mmc3_clk32k", "mmc3_clk32k"), | ||
194 | DT_CLK(NULL, "mmc4_clk32k", "mmc4_clk32k"), | ||
195 | DT_CLK(NULL, "sata_ref_clk", "sata_ref_clk"), | ||
196 | DT_CLK(NULL, "usb_otg_ss1_refclk960m", "usb_otg_ss1_refclk960m"), | ||
197 | DT_CLK(NULL, "usb_otg_ss2_refclk960m", "usb_otg_ss2_refclk960m"), | ||
198 | DT_CLK(NULL, "usb_phy1_always_on_clk32k", "usb_phy1_always_on_clk32k"), | ||
199 | DT_CLK(NULL, "usb_phy2_always_on_clk32k", "usb_phy2_always_on_clk32k"), | ||
200 | DT_CLK(NULL, "usb_phy3_always_on_clk32k", "usb_phy3_always_on_clk32k"), | ||
201 | DT_CLK(NULL, "atl_dpll_clk_mux", "atl_dpll_clk_mux"), | ||
202 | DT_CLK(NULL, "atl_gfclk_mux", "atl_gfclk_mux"), | ||
203 | DT_CLK(NULL, "dcan1_sys_clk_mux", "dcan1_sys_clk_mux"), | ||
204 | DT_CLK(NULL, "gmac_rft_clk_mux", "gmac_rft_clk_mux"), | ||
205 | DT_CLK(NULL, "gpu_core_gclk_mux", "gpu_core_gclk_mux"), | ||
206 | DT_CLK(NULL, "gpu_hyd_gclk_mux", "gpu_hyd_gclk_mux"), | ||
207 | DT_CLK(NULL, "ipu1_gfclk_mux", "ipu1_gfclk_mux"), | ||
208 | DT_CLK(NULL, "l3instr_ts_gclk_div", "l3instr_ts_gclk_div"), | ||
209 | DT_CLK(NULL, "mcasp1_ahclkr_mux", "mcasp1_ahclkr_mux"), | ||
210 | DT_CLK(NULL, "mcasp1_ahclkx_mux", "mcasp1_ahclkx_mux"), | ||
211 | DT_CLK(NULL, "mcasp1_aux_gfclk_mux", "mcasp1_aux_gfclk_mux"), | ||
212 | DT_CLK(NULL, "mcasp2_ahclkr_mux", "mcasp2_ahclkr_mux"), | ||
213 | DT_CLK(NULL, "mcasp2_ahclkx_mux", "mcasp2_ahclkx_mux"), | ||
214 | DT_CLK(NULL, "mcasp2_aux_gfclk_mux", "mcasp2_aux_gfclk_mux"), | ||
215 | DT_CLK(NULL, "mcasp3_ahclkx_mux", "mcasp3_ahclkx_mux"), | ||
216 | DT_CLK(NULL, "mcasp3_aux_gfclk_mux", "mcasp3_aux_gfclk_mux"), | ||
217 | DT_CLK(NULL, "mcasp4_ahclkx_mux", "mcasp4_ahclkx_mux"), | ||
218 | DT_CLK(NULL, "mcasp4_aux_gfclk_mux", "mcasp4_aux_gfclk_mux"), | ||
219 | DT_CLK(NULL, "mcasp5_ahclkx_mux", "mcasp5_ahclkx_mux"), | ||
220 | DT_CLK(NULL, "mcasp5_aux_gfclk_mux", "mcasp5_aux_gfclk_mux"), | ||
221 | DT_CLK(NULL, "mcasp6_ahclkx_mux", "mcasp6_ahclkx_mux"), | ||
222 | DT_CLK(NULL, "mcasp6_aux_gfclk_mux", "mcasp6_aux_gfclk_mux"), | ||
223 | DT_CLK(NULL, "mcasp7_ahclkx_mux", "mcasp7_ahclkx_mux"), | ||
224 | DT_CLK(NULL, "mcasp7_aux_gfclk_mux", "mcasp7_aux_gfclk_mux"), | ||
225 | DT_CLK(NULL, "mcasp8_ahclkx_mux", "mcasp8_ahclkx_mux"), | ||
226 | DT_CLK(NULL, "mcasp8_aux_gfclk_mux", "mcasp8_aux_gfclk_mux"), | ||
227 | DT_CLK(NULL, "mmc1_fclk_mux", "mmc1_fclk_mux"), | ||
228 | DT_CLK(NULL, "mmc1_fclk_div", "mmc1_fclk_div"), | ||
229 | DT_CLK(NULL, "mmc2_fclk_mux", "mmc2_fclk_mux"), | ||
230 | DT_CLK(NULL, "mmc2_fclk_div", "mmc2_fclk_div"), | ||
231 | DT_CLK(NULL, "mmc3_gfclk_mux", "mmc3_gfclk_mux"), | ||
232 | DT_CLK(NULL, "mmc3_gfclk_div", "mmc3_gfclk_div"), | ||
233 | DT_CLK(NULL, "mmc4_gfclk_mux", "mmc4_gfclk_mux"), | ||
234 | DT_CLK(NULL, "mmc4_gfclk_div", "mmc4_gfclk_div"), | ||
235 | DT_CLK(NULL, "qspi_gfclk_mux", "qspi_gfclk_mux"), | ||
236 | DT_CLK(NULL, "qspi_gfclk_div", "qspi_gfclk_div"), | ||
237 | DT_CLK(NULL, "timer10_gfclk_mux", "timer10_gfclk_mux"), | ||
238 | DT_CLK(NULL, "timer11_gfclk_mux", "timer11_gfclk_mux"), | ||
239 | DT_CLK(NULL, "timer13_gfclk_mux", "timer13_gfclk_mux"), | ||
240 | DT_CLK(NULL, "timer14_gfclk_mux", "timer14_gfclk_mux"), | ||
241 | DT_CLK(NULL, "timer15_gfclk_mux", "timer15_gfclk_mux"), | ||
242 | DT_CLK(NULL, "timer16_gfclk_mux", "timer16_gfclk_mux"), | ||
243 | DT_CLK(NULL, "timer1_gfclk_mux", "timer1_gfclk_mux"), | ||
244 | DT_CLK(NULL, "timer2_gfclk_mux", "timer2_gfclk_mux"), | ||
245 | DT_CLK(NULL, "timer3_gfclk_mux", "timer3_gfclk_mux"), | ||
246 | DT_CLK(NULL, "timer4_gfclk_mux", "timer4_gfclk_mux"), | ||
247 | DT_CLK(NULL, "timer5_gfclk_mux", "timer5_gfclk_mux"), | ||
248 | DT_CLK(NULL, "timer6_gfclk_mux", "timer6_gfclk_mux"), | ||
249 | DT_CLK(NULL, "timer7_gfclk_mux", "timer7_gfclk_mux"), | ||
250 | DT_CLK(NULL, "timer8_gfclk_mux", "timer8_gfclk_mux"), | ||
251 | DT_CLK(NULL, "timer9_gfclk_mux", "timer9_gfclk_mux"), | ||
252 | DT_CLK(NULL, "uart10_gfclk_mux", "uart10_gfclk_mux"), | ||
253 | DT_CLK(NULL, "uart1_gfclk_mux", "uart1_gfclk_mux"), | ||
254 | DT_CLK(NULL, "uart2_gfclk_mux", "uart2_gfclk_mux"), | ||
255 | DT_CLK(NULL, "uart3_gfclk_mux", "uart3_gfclk_mux"), | ||
256 | DT_CLK(NULL, "uart4_gfclk_mux", "uart4_gfclk_mux"), | ||
257 | DT_CLK(NULL, "uart5_gfclk_mux", "uart5_gfclk_mux"), | ||
258 | DT_CLK(NULL, "uart6_gfclk_mux", "uart6_gfclk_mux"), | ||
259 | DT_CLK(NULL, "uart7_gfclk_mux", "uart7_gfclk_mux"), | ||
260 | DT_CLK(NULL, "uart8_gfclk_mux", "uart8_gfclk_mux"), | ||
261 | DT_CLK(NULL, "uart9_gfclk_mux", "uart9_gfclk_mux"), | ||
262 | DT_CLK(NULL, "vip1_gclk_mux", "vip1_gclk_mux"), | ||
263 | DT_CLK(NULL, "vip2_gclk_mux", "vip2_gclk_mux"), | ||
264 | DT_CLK(NULL, "vip3_gclk_mux", "vip3_gclk_mux"), | ||
265 | DT_CLK("omap_i2c.1", "ick", "dummy_ck"), | ||
266 | DT_CLK("omap_i2c.2", "ick", "dummy_ck"), | ||
267 | DT_CLK("omap_i2c.3", "ick", "dummy_ck"), | ||
268 | DT_CLK("omap_i2c.4", "ick", "dummy_ck"), | ||
269 | DT_CLK(NULL, "mailboxes_ick", "dummy_ck"), | ||
270 | DT_CLK("omap_hsmmc.0", "ick", "dummy_ck"), | ||
271 | DT_CLK("omap_hsmmc.1", "ick", "dummy_ck"), | ||
272 | DT_CLK("omap_hsmmc.2", "ick", "dummy_ck"), | ||
273 | DT_CLK("omap_hsmmc.3", "ick", "dummy_ck"), | ||
274 | DT_CLK("omap_hsmmc.4", "ick", "dummy_ck"), | ||
275 | DT_CLK("omap-mcbsp.1", "ick", "dummy_ck"), | ||
276 | DT_CLK("omap-mcbsp.2", "ick", "dummy_ck"), | ||
277 | DT_CLK("omap-mcbsp.3", "ick", "dummy_ck"), | ||
278 | DT_CLK("omap-mcbsp.4", "ick", "dummy_ck"), | ||
279 | DT_CLK("omap2_mcspi.1", "ick", "dummy_ck"), | ||
280 | DT_CLK("omap2_mcspi.2", "ick", "dummy_ck"), | ||
281 | DT_CLK("omap2_mcspi.3", "ick", "dummy_ck"), | ||
282 | DT_CLK("omap2_mcspi.4", "ick", "dummy_ck"), | ||
283 | DT_CLK(NULL, "uart1_ick", "dummy_ck"), | ||
284 | DT_CLK(NULL, "uart2_ick", "dummy_ck"), | ||
285 | DT_CLK(NULL, "uart3_ick", "dummy_ck"), | ||
286 | DT_CLK(NULL, "uart4_ick", "dummy_ck"), | ||
287 | DT_CLK("usbhs_omap", "usbhost_ick", "dummy_ck"), | ||
288 | DT_CLK("usbhs_omap", "usbtll_fck", "dummy_ck"), | ||
289 | DT_CLK("omap_wdt", "ick", "dummy_ck"), | ||
290 | DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"), | 733 | DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"), |
291 | DT_CLK(NULL, "sys_clkin_ck", "timer_sys_clk_div"), | 734 | DT_CLK(NULL, "sys_clkin_ck", "timer_sys_clk_div"), |
292 | DT_CLK("4ae18000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
293 | DT_CLK("48032000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
294 | DT_CLK("48034000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
295 | DT_CLK("48036000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
296 | DT_CLK("4803e000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
297 | DT_CLK("48086000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
298 | DT_CLK("48088000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
299 | DT_CLK("48820000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
300 | DT_CLK("48822000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
301 | DT_CLK("48824000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
302 | DT_CLK("48826000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
303 | DT_CLK("48828000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
304 | DT_CLK("4882a000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
305 | DT_CLK("4882c000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
306 | DT_CLK("4882e000.timer", "timer_sys_ck", "timer_sys_clk_div"), | ||
307 | DT_CLK(NULL, "sys_clkin", "sys_clkin1"), | 735 | DT_CLK(NULL, "sys_clkin", "sys_clkin1"), |
308 | DT_CLK(NULL, "dss_deshdcp_clk", "dss_deshdcp_clk"), | 736 | DT_CLK(NULL, "atl_dpll_clk_mux", "atl_cm:0000:24"), |
737 | DT_CLK(NULL, "atl_gfclk_mux", "atl_cm:0000:26"), | ||
738 | DT_CLK(NULL, "dcan1_sys_clk_mux", "wkupaon_cm:0068:24"), | ||
739 | DT_CLK(NULL, "dss_32khz_clk", "dss_cm:0000:11"), | ||
740 | DT_CLK(NULL, "dss_48mhz_clk", "dss_cm:0000:9"), | ||
741 | DT_CLK(NULL, "dss_dss_clk", "dss_cm:0000:8"), | ||
742 | DT_CLK(NULL, "dss_hdmi_clk", "dss_cm:0000:10"), | ||
743 | DT_CLK(NULL, "dss_video1_clk", "dss_cm:0000:12"), | ||
744 | DT_CLK(NULL, "dss_video2_clk", "dss_cm:0000:13"), | ||
745 | DT_CLK(NULL, "gmac_rft_clk_mux", "l3init_cm:00b0:25"), | ||
746 | DT_CLK(NULL, "gpio1_dbclk", "wkupaon_cm:0018:8"), | ||
747 | DT_CLK(NULL, "gpio2_dbclk", "l4per_cm:0060:8"), | ||
748 | DT_CLK(NULL, "gpio3_dbclk", "l4per_cm:0068:8"), | ||
749 | DT_CLK(NULL, "gpio4_dbclk", "l4per_cm:0070:8"), | ||
750 | DT_CLK(NULL, "gpio5_dbclk", "l4per_cm:0078:8"), | ||
751 | DT_CLK(NULL, "gpio6_dbclk", "l4per_cm:0080:8"), | ||
752 | DT_CLK(NULL, "gpio7_dbclk", "l4per_cm:0110:8"), | ||
753 | DT_CLK(NULL, "gpio8_dbclk", "l4per_cm:0118:8"), | ||
754 | DT_CLK(NULL, "mcasp1_ahclkr_mux", "ipu_cm:0010:28"), | ||
755 | DT_CLK(NULL, "mcasp1_ahclkx_mux", "ipu_cm:0010:24"), | ||
756 | DT_CLK(NULL, "mcasp1_aux_gfclk_mux", "ipu_cm:0010:22"), | ||
757 | DT_CLK(NULL, "mcasp2_ahclkr_mux", "l4per_cm:0160:28"), | ||
758 | DT_CLK(NULL, "mcasp2_ahclkx_mux", "l4per_cm:0160:24"), | ||
759 | DT_CLK(NULL, "mcasp2_aux_gfclk_mux", "l4per_cm:0160:22"), | ||
760 | DT_CLK(NULL, "mcasp3_ahclkx_mux", "l4per_cm:0168:24"), | ||
761 | DT_CLK(NULL, "mcasp3_aux_gfclk_mux", "l4per_cm:0168:22"), | ||
762 | DT_CLK(NULL, "mcasp4_ahclkx_mux", "l4per_cm:0198:24"), | ||
763 | DT_CLK(NULL, "mcasp4_aux_gfclk_mux", "l4per_cm:0198:22"), | ||
764 | DT_CLK(NULL, "mcasp5_ahclkx_mux", "l4per_cm:0178:24"), | ||
765 | DT_CLK(NULL, "mcasp5_aux_gfclk_mux", "l4per_cm:0178:22"), | ||
766 | DT_CLK(NULL, "mcasp6_ahclkx_mux", "l4per_cm:0204:24"), | ||
767 | DT_CLK(NULL, "mcasp6_aux_gfclk_mux", "l4per_cm:0204:22"), | ||
768 | DT_CLK(NULL, "mcasp7_ahclkx_mux", "l4per_cm:0208:24"), | ||
769 | DT_CLK(NULL, "mcasp7_aux_gfclk_mux", "l4per_cm:0208:22"), | ||
770 | DT_CLK(NULL, "mcasp8_ahclkx_mux", "l4per_cm:0190:22"), | ||
771 | DT_CLK(NULL, "mcasp8_aux_gfclk_mux", "l4per_cm:0190:24"), | ||
772 | DT_CLK(NULL, "mmc1_clk32k", "l3init_cm:0008:8"), | ||
773 | DT_CLK(NULL, "mmc1_fclk_div", "l3init_cm:0008:25"), | ||
774 | DT_CLK(NULL, "mmc1_fclk_mux", "l3init_cm:0008:24"), | ||
775 | DT_CLK(NULL, "mmc2_clk32k", "l3init_cm:0010:8"), | ||
776 | DT_CLK(NULL, "mmc2_fclk_div", "l3init_cm:0010:25"), | ||
777 | DT_CLK(NULL, "mmc2_fclk_mux", "l3init_cm:0010:24"), | ||
778 | DT_CLK(NULL, "mmc3_clk32k", "l4per_cm:0120:8"), | ||
779 | DT_CLK(NULL, "mmc3_gfclk_div", "l4per_cm:0120:25"), | ||
780 | DT_CLK(NULL, "mmc3_gfclk_mux", "l4per_cm:0120:24"), | ||
781 | DT_CLK(NULL, "mmc4_clk32k", "l4per_cm:0128:8"), | ||
782 | DT_CLK(NULL, "mmc4_gfclk_div", "l4per_cm:0128:25"), | ||
783 | DT_CLK(NULL, "mmc4_gfclk_mux", "l4per_cm:0128:24"), | ||
784 | DT_CLK(NULL, "optfclk_pciephy1_32khz", "l3init_cm:0090:8"), | ||
785 | DT_CLK(NULL, "optfclk_pciephy1_clk", "l3init_cm:0090:9"), | ||
786 | DT_CLK(NULL, "optfclk_pciephy1_div_clk", "l3init_cm:0090:10"), | ||
787 | DT_CLK(NULL, "optfclk_pciephy2_32khz", "l3init_cm:0098:8"), | ||
788 | DT_CLK(NULL, "optfclk_pciephy2_clk", "l3init_cm:0098:9"), | ||
789 | DT_CLK(NULL, "optfclk_pciephy2_div_clk", "l3init_cm:0098:10"), | ||
790 | DT_CLK(NULL, "qspi_gfclk_div", "l4per_cm:0138:25"), | ||
791 | DT_CLK(NULL, "qspi_gfclk_mux", "l4per_cm:0138:24"), | ||
792 | DT_CLK(NULL, "rmii_50mhz_clk_mux", "l3init_cm:00b0:24"), | ||
793 | DT_CLK(NULL, "sata_ref_clk", "l3init_cm:0068:8"), | ||
794 | DT_CLK(NULL, "timer10_gfclk_mux", "l4per_cm:0028:24"), | ||
795 | DT_CLK(NULL, "timer11_gfclk_mux", "l4per_cm:0030:24"), | ||
796 | DT_CLK(NULL, "timer13_gfclk_mux", "l4per_cm:00c8:24"), | ||
797 | DT_CLK(NULL, "timer14_gfclk_mux", "l4per_cm:00d0:24"), | ||
798 | DT_CLK(NULL, "timer15_gfclk_mux", "l4per_cm:00d8:24"), | ||
799 | DT_CLK(NULL, "timer16_gfclk_mux", "l4per_cm:0130:24"), | ||
800 | DT_CLK(NULL, "timer1_gfclk_mux", "wkupaon_cm:0020:24"), | ||
801 | DT_CLK(NULL, "timer2_gfclk_mux", "l4per_cm:0038:24"), | ||
802 | DT_CLK(NULL, "timer3_gfclk_mux", "l4per_cm:0040:24"), | ||
803 | DT_CLK(NULL, "timer4_gfclk_mux", "l4per_cm:0048:24"), | ||
804 | DT_CLK(NULL, "timer5_gfclk_mux", "ipu_cm:0018:24"), | ||
805 | DT_CLK(NULL, "timer6_gfclk_mux", "ipu_cm:0020:24"), | ||
806 | DT_CLK(NULL, "timer7_gfclk_mux", "ipu_cm:0028:24"), | ||
807 | DT_CLK(NULL, "timer8_gfclk_mux", "ipu_cm:0030:24"), | ||
808 | DT_CLK(NULL, "timer9_gfclk_mux", "l4per_cm:0050:24"), | ||
809 | DT_CLK(NULL, "uart10_gfclk_mux", "wkupaon_cm:0060:24"), | ||
810 | DT_CLK(NULL, "uart1_gfclk_mux", "l4per_cm:0140:24"), | ||
811 | DT_CLK(NULL, "uart2_gfclk_mux", "l4per_cm:0148:24"), | ||
812 | DT_CLK(NULL, "uart3_gfclk_mux", "l4per_cm:0150:24"), | ||
813 | DT_CLK(NULL, "uart4_gfclk_mux", "l4per_cm:0158:24"), | ||
814 | DT_CLK(NULL, "uart5_gfclk_mux", "l4per_cm:0170:24"), | ||
815 | DT_CLK(NULL, "uart6_gfclk_mux", "ipu_cm:0040:24"), | ||
816 | DT_CLK(NULL, "uart7_gfclk_mux", "l4per_cm:01d0:24"), | ||
817 | DT_CLK(NULL, "uart8_gfclk_mux", "l4per_cm:01e0:24"), | ||
818 | DT_CLK(NULL, "uart9_gfclk_mux", "l4per_cm:01e8:24"), | ||
819 | DT_CLK(NULL, "usb_otg_ss1_refclk960m", "l3init_cm:00d0:8"), | ||
820 | DT_CLK(NULL, "usb_otg_ss2_refclk960m", "l3init_cm:0020:8"), | ||
309 | { .node_name = NULL }, | 821 | { .node_name = NULL }, |
310 | }; | 822 | }; |
311 | 823 | ||
@@ -318,6 +830,8 @@ int __init dra7xx_dt_clk_init(void) | |||
318 | 830 | ||
319 | omap2_clk_disable_autoidle_all(); | 831 | omap2_clk_disable_autoidle_all(); |
320 | 832 | ||
833 | ti_clk_add_aliases(); | ||
834 | |||
321 | dpll_ck = clk_get_sys(NULL, "dpll_gmac_ck"); | 835 | dpll_ck = clk_get_sys(NULL, "dpll_gmac_ck"); |
322 | rc = clk_set_rate(dpll_ck, DRA7_DPLL_GMAC_DEFFREQ); | 836 | rc = clk_set_rate(dpll_ck, DRA7_DPLL_GMAC_DEFFREQ); |
323 | if (rc) | 837 | if (rc) |
diff --git a/drivers/clk/ti/clk-814x.c b/drivers/clk/ti/clk-814x.c index 52c6efc53731..f688fdd2cb59 100644 --- a/drivers/clk/ti/clk-814x.c +++ b/drivers/clk/ti/clk-814x.c | |||
@@ -9,23 +9,48 @@ | |||
9 | #include <linux/clk-provider.h> | 9 | #include <linux/clk-provider.h> |
10 | #include <linux/clk/ti.h> | 10 | #include <linux/clk/ti.h> |
11 | #include <linux/of_platform.h> | 11 | #include <linux/of_platform.h> |
12 | #include <dt-bindings/clock/dm814.h> | ||
12 | 13 | ||
13 | #include "clock.h" | 14 | #include "clock.h" |
14 | 15 | ||
16 | static const struct omap_clkctrl_reg_data dm814_default_clkctrl_regs[] __initconst = { | ||
17 | { DM814_USB_OTG_HS_CLKCTRL, NULL, CLKF_SW_SUP, "pll260dcoclkldo" }, | ||
18 | { 0 }, | ||
19 | }; | ||
20 | |||
21 | static const struct omap_clkctrl_reg_data dm814_alwon_clkctrl_regs[] __initconst = { | ||
22 | { DM814_UART1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
23 | { DM814_UART2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
24 | { DM814_UART3_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
25 | { DM814_GPIO1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
26 | { DM814_GPIO2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
27 | { DM814_I2C1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
28 | { DM814_I2C2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
29 | { DM814_WD_TIMER_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk18_ck" }, | ||
30 | { DM814_MCSPI1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
31 | { DM814_GPMC_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
32 | { DM814_CPGMAC0_CLKCTRL, NULL, CLKF_SW_SUP, "cpsw_125mhz_gclk" }, | ||
33 | { DM814_MPU_CLKCTRL, NULL, CLKF_SW_SUP, "mpu_ck" }, | ||
34 | { DM814_RTC_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk18_ck" }, | ||
35 | { DM814_TPCC_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
36 | { DM814_TPTC0_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
37 | { DM814_TPTC1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
38 | { DM814_TPTC2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
39 | { DM814_TPTC3_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
40 | { DM814_MMC1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk8_ck" }, | ||
41 | { DM814_MMC2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk8_ck" }, | ||
42 | { DM814_MMC3_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk8_ck" }, | ||
43 | { 0 }, | ||
44 | }; | ||
45 | |||
46 | const struct omap_clkctrl_data dm814_clkctrl_data[] __initconst = { | ||
47 | { 0x48180500, dm814_default_clkctrl_regs }, | ||
48 | { 0x48181400, dm814_alwon_clkctrl_regs }, | ||
49 | { 0 }, | ||
50 | }; | ||
51 | |||
15 | static struct ti_dt_clk dm814_clks[] = { | 52 | static struct ti_dt_clk dm814_clks[] = { |
16 | DT_CLK(NULL, "devosc_ck", "devosc_ck"), | ||
17 | DT_CLK(NULL, "mpu_ck", "mpu_ck"), | ||
18 | DT_CLK(NULL, "sysclk4_ck", "sysclk4_ck"), | ||
19 | DT_CLK(NULL, "sysclk5_ck", "sysclk5_ck"), | ||
20 | DT_CLK(NULL, "sysclk6_ck", "sysclk6_ck"), | ||
21 | DT_CLK(NULL, "sysclk8_ck", "sysclk8_ck"), | ||
22 | DT_CLK(NULL, "sysclk10_ck", "sysclk10_ck"), | ||
23 | DT_CLK(NULL, "sysclk18_ck", "sysclk18_ck"), | ||
24 | DT_CLK(NULL, "timer_sys_ck", "devosc_ck"), | 53 | DT_CLK(NULL, "timer_sys_ck", "devosc_ck"), |
25 | DT_CLK(NULL, "timer1_fck", "timer1_fck"), | ||
26 | DT_CLK(NULL, "timer2_fck", "timer2_fck"), | ||
27 | DT_CLK(NULL, "cpsw_125mhz_gclk", "cpsw_125mhz_gclk"), | ||
28 | DT_CLK(NULL, "cpsw_cpts_rft_clk", "cpsw_cpts_rft_clk"), | ||
29 | { .node_name = NULL }, | 54 | { .node_name = NULL }, |
30 | }; | 55 | }; |
31 | 56 | ||
@@ -83,6 +108,7 @@ int __init dm814x_dt_clk_init(void) | |||
83 | { | 108 | { |
84 | ti_dt_clocks_register(dm814_clks); | 109 | ti_dt_clocks_register(dm814_clks); |
85 | omap2_clk_disable_autoidle_all(); | 110 | omap2_clk_disable_autoidle_all(); |
111 | ti_clk_add_aliases(); | ||
86 | omap2_clk_enable_init_clocks(NULL, 0); | 112 | omap2_clk_enable_init_clocks(NULL, 0); |
87 | timer_clocks_initialized = true; | 113 | timer_clocks_initialized = true; |
88 | 114 | ||
diff --git a/drivers/clk/ti/clk-816x.c b/drivers/clk/ti/clk-816x.c index 2a5d84fdddc5..7d215cdf9dda 100644 --- a/drivers/clk/ti/clk-816x.c +++ b/drivers/clk/ti/clk-816x.c | |||
@@ -13,30 +13,59 @@ | |||
13 | #include <linux/list.h> | 13 | #include <linux/list.h> |
14 | #include <linux/clk-provider.h> | 14 | #include <linux/clk-provider.h> |
15 | #include <linux/clk/ti.h> | 15 | #include <linux/clk/ti.h> |
16 | #include <dt-bindings/clock/dm816.h> | ||
16 | 17 | ||
17 | #include "clock.h" | 18 | #include "clock.h" |
18 | 19 | ||
20 | static const struct omap_clkctrl_reg_data dm816_default_clkctrl_regs[] __initconst = { | ||
21 | { DM816_USB_OTG_HS_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
22 | { 0 }, | ||
23 | }; | ||
24 | |||
25 | static const struct omap_clkctrl_reg_data dm816_alwon_clkctrl_regs[] __initconst = { | ||
26 | { DM816_UART1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
27 | { DM816_UART2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
28 | { DM816_UART3_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
29 | { DM816_GPIO1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
30 | { DM816_GPIO2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
31 | { DM816_I2C1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
32 | { DM816_I2C2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
33 | { DM816_TIMER1_CLKCTRL, NULL, CLKF_SW_SUP, "timer1_fck" }, | ||
34 | { DM816_TIMER2_CLKCTRL, NULL, CLKF_SW_SUP, "timer2_fck" }, | ||
35 | { DM816_TIMER3_CLKCTRL, NULL, CLKF_SW_SUP, "timer3_fck" }, | ||
36 | { DM816_TIMER4_CLKCTRL, NULL, CLKF_SW_SUP, "timer4_fck" }, | ||
37 | { DM816_TIMER5_CLKCTRL, NULL, CLKF_SW_SUP, "timer5_fck" }, | ||
38 | { DM816_TIMER6_CLKCTRL, NULL, CLKF_SW_SUP, "timer6_fck" }, | ||
39 | { DM816_TIMER7_CLKCTRL, NULL, CLKF_SW_SUP, "timer7_fck" }, | ||
40 | { DM816_WD_TIMER_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk18_ck" }, | ||
41 | { DM816_MCSPI1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
42 | { DM816_MAILBOX_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
43 | { DM816_SPINBOX_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
44 | { DM816_MMC1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, | ||
45 | { DM816_GPMC_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, | ||
46 | { DM816_DAVINCI_MDIO_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk24_ck" }, | ||
47 | { DM816_EMAC1_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk24_ck" }, | ||
48 | { DM816_MPU_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk2_ck" }, | ||
49 | { DM816_RTC_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk18_ck" }, | ||
50 | { DM816_TPCC_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
51 | { DM816_TPTC0_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
52 | { DM816_TPTC1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
53 | { DM816_TPTC2_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
54 | { DM816_TPTC3_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, | ||
55 | { 0 }, | ||
56 | }; | ||
57 | |||
58 | const struct omap_clkctrl_data dm816_clkctrl_data[] __initconst = { | ||
59 | { 0x48180500, dm816_default_clkctrl_regs }, | ||
60 | { 0x48181400, dm816_alwon_clkctrl_regs }, | ||
61 | { 0 }, | ||
62 | }; | ||
63 | |||
19 | static struct ti_dt_clk dm816x_clks[] = { | 64 | static struct ti_dt_clk dm816x_clks[] = { |
20 | DT_CLK(NULL, "sys_clkin", "sys_clkin_ck"), | 65 | DT_CLK(NULL, "sys_clkin", "sys_clkin_ck"), |
21 | DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"), | 66 | DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"), |
22 | DT_CLK(NULL, "sys_32k_ck", "sys_32k_ck"), | ||
23 | DT_CLK(NULL, "timer_32k_ck", "sysclk18_ck"), | 67 | DT_CLK(NULL, "timer_32k_ck", "sysclk18_ck"), |
24 | DT_CLK(NULL, "timer_ext_ck", "tclkin_ck"), | 68 | DT_CLK(NULL, "timer_ext_ck", "tclkin_ck"), |
25 | DT_CLK(NULL, "mpu_ck", "mpu_ck"), | ||
26 | DT_CLK(NULL, "timer1_fck", "timer1_fck"), | ||
27 | DT_CLK(NULL, "timer2_fck", "timer2_fck"), | ||
28 | DT_CLK(NULL, "timer3_fck", "timer3_fck"), | ||
29 | DT_CLK(NULL, "timer4_fck", "timer4_fck"), | ||
30 | DT_CLK(NULL, "timer5_fck", "timer5_fck"), | ||
31 | DT_CLK(NULL, "timer6_fck", "timer6_fck"), | ||
32 | DT_CLK(NULL, "timer7_fck", "timer7_fck"), | ||
33 | DT_CLK(NULL, "sysclk4_ck", "sysclk4_ck"), | ||
34 | DT_CLK(NULL, "sysclk5_ck", "sysclk5_ck"), | ||
35 | DT_CLK(NULL, "sysclk6_ck", "sysclk6_ck"), | ||
36 | DT_CLK(NULL, "sysclk10_ck", "sysclk10_ck"), | ||
37 | DT_CLK(NULL, "sysclk18_ck", "sysclk18_ck"), | ||
38 | DT_CLK(NULL, "sysclk24_ck", "sysclk24_ck"), | ||
39 | DT_CLK("4a100000.ethernet", "sysclk24_ck", "sysclk24_ck"), | ||
40 | { .node_name = NULL }, | 69 | { .node_name = NULL }, |
41 | }; | 70 | }; |
42 | 71 | ||
@@ -50,6 +79,7 @@ int __init dm816x_dt_clk_init(void) | |||
50 | { | 79 | { |
51 | ti_dt_clocks_register(dm816x_clks); | 80 | ti_dt_clocks_register(dm816x_clks); |
52 | omap2_clk_disable_autoidle_all(); | 81 | omap2_clk_disable_autoidle_all(); |
82 | ti_clk_add_aliases(); | ||
53 | omap2_clk_enable_init_clocks(enable_init_clks, | 83 | omap2_clk_enable_init_clocks(enable_init_clks, |
54 | ARRAY_SIZE(enable_init_clks)); | 84 | ARRAY_SIZE(enable_init_clks)); |
55 | 85 | ||
diff --git a/drivers/clk/ti/clk.c b/drivers/clk/ti/clk.c index e5a1c8297a1d..302c9e64e5fa 100644 --- a/drivers/clk/ti/clk.c +++ b/drivers/clk/ti/clk.c | |||
@@ -108,25 +108,77 @@ void __init ti_dt_clocks_register(struct ti_dt_clk oclks[]) | |||
108 | struct device_node *node; | 108 | struct device_node *node; |
109 | struct clk *clk; | 109 | struct clk *clk; |
110 | struct of_phandle_args clkspec; | 110 | struct of_phandle_args clkspec; |
111 | char buf[64]; | ||
112 | char *ptr; | ||
113 | char *tags[2]; | ||
114 | int i; | ||
115 | int num_args; | ||
116 | int ret; | ||
117 | static bool clkctrl_nodes_missing; | ||
118 | static bool has_clkctrl_data; | ||
111 | 119 | ||
112 | for (c = oclks; c->node_name != NULL; c++) { | 120 | for (c = oclks; c->node_name != NULL; c++) { |
113 | node = of_find_node_by_name(NULL, c->node_name); | 121 | strcpy(buf, c->node_name); |
122 | ptr = buf; | ||
123 | for (i = 0; i < 2; i++) | ||
124 | tags[i] = NULL; | ||
125 | num_args = 0; | ||
126 | while (*ptr) { | ||
127 | if (*ptr == ':') { | ||
128 | if (num_args >= 2) { | ||
129 | pr_warn("Bad number of tags on %s\n", | ||
130 | c->node_name); | ||
131 | return; | ||
132 | } | ||
133 | tags[num_args++] = ptr + 1; | ||
134 | *ptr = 0; | ||
135 | } | ||
136 | ptr++; | ||
137 | } | ||
138 | |||
139 | if (num_args && clkctrl_nodes_missing) | ||
140 | continue; | ||
141 | |||
142 | node = of_find_node_by_name(NULL, buf); | ||
143 | if (num_args) | ||
144 | node = of_find_node_by_name(node, "clk"); | ||
114 | clkspec.np = node; | 145 | clkspec.np = node; |
146 | clkspec.args_count = num_args; | ||
147 | for (i = 0; i < num_args; i++) { | ||
148 | ret = kstrtoint(tags[i], i ? 10 : 16, clkspec.args + i); | ||
149 | if (ret) { | ||
150 | pr_warn("Bad tag in %s at %d: %s\n", | ||
151 | c->node_name, i, tags[i]); | ||
152 | return; | ||
153 | } | ||
154 | } | ||
115 | clk = of_clk_get_from_provider(&clkspec); | 155 | clk = of_clk_get_from_provider(&clkspec); |
116 | 156 | ||
117 | if (!IS_ERR(clk)) { | 157 | if (!IS_ERR(clk)) { |
118 | c->lk.clk = clk; | 158 | c->lk.clk = clk; |
119 | clkdev_add(&c->lk); | 159 | clkdev_add(&c->lk); |
120 | } else { | 160 | } else { |
121 | pr_warn("failed to lookup clock node %s\n", | 161 | if (num_args && !has_clkctrl_data) { |
122 | c->node_name); | 162 | if (of_find_compatible_node(NULL, NULL, |
163 | "ti,clkctrl")) { | ||
164 | has_clkctrl_data = true; | ||
165 | } else { | ||
166 | clkctrl_nodes_missing = true; | ||
167 | |||
168 | pr_warn("missing clkctrl nodes, please update your dts.\n"); | ||
169 | continue; | ||
170 | } | ||
171 | } | ||
172 | |||
173 | pr_warn("failed to lookup clock node %s, ret=%ld\n", | ||
174 | c->node_name, PTR_ERR(clk)); | ||
123 | } | 175 | } |
124 | } | 176 | } |
125 | } | 177 | } |
126 | 178 | ||
127 | struct clk_init_item { | 179 | struct clk_init_item { |
128 | struct device_node *node; | 180 | struct device_node *node; |
129 | struct clk_hw *hw; | 181 | void *user; |
130 | ti_of_clk_init_cb_t func; | 182 | ti_of_clk_init_cb_t func; |
131 | struct list_head link; | 183 | struct list_head link; |
132 | }; | 184 | }; |
@@ -136,14 +188,14 @@ static LIST_HEAD(retry_list); | |||
136 | /** | 188 | /** |
137 | * ti_clk_retry_init - retries a failed clock init at later phase | 189 | * ti_clk_retry_init - retries a failed clock init at later phase |
138 | * @node: device not for the clock | 190 | * @node: device not for the clock |
139 | * @hw: partially initialized clk_hw struct for the clock | 191 | * @user: user data pointer |
140 | * @func: init function to be called for the clock | 192 | * @func: init function to be called for the clock |
141 | * | 193 | * |
142 | * Adds a failed clock init to the retry list. The retry list is parsed | 194 | * Adds a failed clock init to the retry list. The retry list is parsed |
143 | * once all the other clocks have been initialized. | 195 | * once all the other clocks have been initialized. |
144 | */ | 196 | */ |
145 | int __init ti_clk_retry_init(struct device_node *node, struct clk_hw *hw, | 197 | int __init ti_clk_retry_init(struct device_node *node, void *user, |
146 | ti_of_clk_init_cb_t func) | 198 | ti_of_clk_init_cb_t func) |
147 | { | 199 | { |
148 | struct clk_init_item *retry; | 200 | struct clk_init_item *retry; |
149 | 201 | ||
@@ -154,7 +206,7 @@ int __init ti_clk_retry_init(struct device_node *node, struct clk_hw *hw, | |||
154 | 206 | ||
155 | retry->node = node; | 207 | retry->node = node; |
156 | retry->func = func; | 208 | retry->func = func; |
157 | retry->hw = hw; | 209 | retry->user = user; |
158 | list_add(&retry->link, &retry_list); | 210 | list_add(&retry->link, &retry_list); |
159 | 211 | ||
160 | return 0; | 212 | return 0; |
@@ -276,7 +328,7 @@ void ti_dt_clk_init_retry_clks(void) | |||
276 | while (!list_empty(&retry_list) && retries) { | 328 | while (!list_empty(&retry_list) && retries) { |
277 | list_for_each_entry_safe(retry, tmp, &retry_list, link) { | 329 | list_for_each_entry_safe(retry, tmp, &retry_list, link) { |
278 | pr_debug("retry-init: %s\n", retry->node->name); | 330 | pr_debug("retry-init: %s\n", retry->node->name); |
279 | retry->func(retry->hw, retry->node); | 331 | retry->func(retry->user, retry->node); |
280 | list_del(&retry->link); | 332 | list_del(&retry->link); |
281 | kfree(retry); | 333 | kfree(retry); |
282 | } | 334 | } |
diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c index 53e71d0503ec..afa0d6bfc5c1 100644 --- a/drivers/clk/ti/clkctrl.c +++ b/drivers/clk/ti/clkctrl.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/of_address.h> | 21 | #include <linux/of_address.h> |
22 | #include <linux/clk/ti.h> | 22 | #include <linux/clk/ti.h> |
23 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
24 | #include <linux/timekeeping.h> | ||
24 | #include "clock.h" | 25 | #include "clock.h" |
25 | 26 | ||
26 | #define NO_IDLEST 0x1 | 27 | #define NO_IDLEST 0x1 |
@@ -46,6 +47,7 @@ static bool _early_timeout = true; | |||
46 | struct omap_clkctrl_provider { | 47 | struct omap_clkctrl_provider { |
47 | void __iomem *base; | 48 | void __iomem *base; |
48 | struct list_head clocks; | 49 | struct list_head clocks; |
50 | char *clkdm_name; | ||
49 | }; | 51 | }; |
50 | 52 | ||
51 | struct omap_clkctrl_clk { | 53 | struct omap_clkctrl_clk { |
@@ -89,7 +91,18 @@ static bool _omap4_is_ready(u32 val) | |||
89 | 91 | ||
90 | static bool _omap4_is_timeout(union omap4_timeout *time, u32 timeout) | 92 | static bool _omap4_is_timeout(union omap4_timeout *time, u32 timeout) |
91 | { | 93 | { |
92 | if (unlikely(_early_timeout)) { | 94 | /* |
95 | * There are two special cases where ktime_to_ns() can't be | ||
96 | * used to track the timeouts. First one is during early boot | ||
97 | * when the timers haven't been initialized yet. The second | ||
98 | * one is during suspend-resume cycle while timekeeping is | ||
99 | * being suspended / resumed. Clocksource for the system | ||
100 | * can be from a timer that requires pm_runtime access, which | ||
101 | * will eventually bring us here with timekeeping_suspended, | ||
102 | * during both suspend entry and resume paths. This happens | ||
103 | * at least on am43xx platform. | ||
104 | */ | ||
105 | if (unlikely(_early_timeout || timekeeping_suspended)) { | ||
93 | if (time->cycles++ < timeout) { | 106 | if (time->cycles++ < timeout) { |
94 | udelay(1); | 107 | udelay(1); |
95 | return false; | 108 | return false; |
@@ -208,6 +221,7 @@ static const struct clk_ops omap4_clkctrl_clk_ops = { | |||
208 | .enable = _omap4_clkctrl_clk_enable, | 221 | .enable = _omap4_clkctrl_clk_enable, |
209 | .disable = _omap4_clkctrl_clk_disable, | 222 | .disable = _omap4_clkctrl_clk_disable, |
210 | .is_enabled = _omap4_clkctrl_clk_is_enabled, | 223 | .is_enabled = _omap4_clkctrl_clk_is_enabled, |
224 | .init = omap2_init_clk_clkdm, | ||
211 | }; | 225 | }; |
212 | 226 | ||
213 | static struct clk_hw *_ti_omap4_clkctrl_xlate(struct of_phandle_args *clkspec, | 227 | static struct clk_hw *_ti_omap4_clkctrl_xlate(struct of_phandle_args *clkspec, |
@@ -321,6 +335,9 @@ _ti_clkctrl_setup_mux(struct omap_clkctrl_provider *provider, | |||
321 | } | 335 | } |
322 | 336 | ||
323 | mux->mask = num_parents; | 337 | mux->mask = num_parents; |
338 | if (!(mux->flags & CLK_MUX_INDEX_ONE)) | ||
339 | mux->mask--; | ||
340 | |||
324 | mux->mask = (1 << fls(mux->mask)) - 1; | 341 | mux->mask = (1 << fls(mux->mask)) - 1; |
325 | 342 | ||
326 | mux->shift = data->bit; | 343 | mux->shift = data->bit; |
@@ -340,6 +357,7 @@ _ti_clkctrl_setup_div(struct omap_clkctrl_provider *provider, | |||
340 | { | 357 | { |
341 | struct clk_omap_divider *div; | 358 | struct clk_omap_divider *div; |
342 | const struct omap_clkctrl_div_data *div_data = data->data; | 359 | const struct omap_clkctrl_div_data *div_data = data->data; |
360 | u8 div_flags = 0; | ||
343 | 361 | ||
344 | div = kzalloc(sizeof(*div), GFP_KERNEL); | 362 | div = kzalloc(sizeof(*div), GFP_KERNEL); |
345 | if (!div) | 363 | if (!div) |
@@ -347,12 +365,16 @@ _ti_clkctrl_setup_div(struct omap_clkctrl_provider *provider, | |||
347 | 365 | ||
348 | div->reg.ptr = reg; | 366 | div->reg.ptr = reg; |
349 | div->shift = data->bit; | 367 | div->shift = data->bit; |
368 | div->flags = div_data->flags; | ||
369 | |||
370 | if (div->flags & CLK_DIVIDER_POWER_OF_TWO) | ||
371 | div_flags |= CLKF_INDEX_POWER_OF_TWO; | ||
350 | 372 | ||
351 | if (ti_clk_parse_divider_data((int *)div_data->dividers, | 373 | if (ti_clk_parse_divider_data((int *)div_data->dividers, 0, |
352 | div_data->max_div, 0, 0, | 374 | div_data->max_div, div_flags, |
353 | &div->width, &div->table)) { | 375 | &div->width, &div->table)) { |
354 | pr_err("%s: Data parsing for %s:%04x:%d failed\n", __func__, | 376 | pr_err("%s: Data parsing for %pOF:%04x:%d failed\n", __func__, |
355 | node->name, offset, data->bit); | 377 | node, offset, data->bit); |
356 | kfree(div); | 378 | kfree(div); |
357 | return; | 379 | return; |
358 | } | 380 | } |
@@ -400,6 +422,12 @@ _ti_clkctrl_setup_subclks(struct omap_clkctrl_provider *provider, | |||
400 | } | 422 | } |
401 | } | 423 | } |
402 | 424 | ||
425 | static void __init _clkctrl_add_provider(void *data, | ||
426 | struct device_node *np) | ||
427 | { | ||
428 | of_clk_add_hw_provider(np, _ti_omap4_clkctrl_xlate, data); | ||
429 | } | ||
430 | |||
403 | static void __init _ti_omap4_clkctrl_setup(struct device_node *node) | 431 | static void __init _ti_omap4_clkctrl_setup(struct device_node *node) |
404 | { | 432 | { |
405 | struct omap_clkctrl_provider *provider; | 433 | struct omap_clkctrl_provider *provider; |
@@ -411,6 +439,7 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) | |||
411 | struct omap_clkctrl_clk *clkctrl_clk; | 439 | struct omap_clkctrl_clk *clkctrl_clk; |
412 | const __be32 *addrp; | 440 | const __be32 *addrp; |
413 | u32 addr; | 441 | u32 addr; |
442 | int ret; | ||
414 | 443 | ||
415 | addrp = of_get_address(node, 0, NULL, NULL); | 444 | addrp = of_get_address(node, 0, NULL, NULL); |
416 | addr = (u32)of_translate_address(node, addrp); | 445 | addr = (u32)of_translate_address(node, addrp); |
@@ -419,6 +448,31 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) | |||
419 | if (of_machine_is_compatible("ti,omap4")) | 448 | if (of_machine_is_compatible("ti,omap4")) |
420 | data = omap4_clkctrl_data; | 449 | data = omap4_clkctrl_data; |
421 | #endif | 450 | #endif |
451 | #ifdef CONFIG_SOC_OMAP5 | ||
452 | if (of_machine_is_compatible("ti,omap5")) | ||
453 | data = omap5_clkctrl_data; | ||
454 | #endif | ||
455 | #ifdef CONFIG_SOC_DRA7XX | ||
456 | if (of_machine_is_compatible("ti,dra7")) | ||
457 | data = dra7_clkctrl_data; | ||
458 | #endif | ||
459 | #ifdef CONFIG_SOC_AM33XX | ||
460 | if (of_machine_is_compatible("ti,am33xx")) | ||
461 | data = am3_clkctrl_data; | ||
462 | #endif | ||
463 | #ifdef CONFIG_SOC_AM43XX | ||
464 | if (of_machine_is_compatible("ti,am4372")) | ||
465 | data = am4_clkctrl_data; | ||
466 | if (of_machine_is_compatible("ti,am438x")) | ||
467 | data = am438x_clkctrl_data; | ||
468 | #endif | ||
469 | #ifdef CONFIG_SOC_TI81XX | ||
470 | if (of_machine_is_compatible("ti,dm814")) | ||
471 | data = dm814_clkctrl_data; | ||
472 | |||
473 | if (of_machine_is_compatible("ti,dm816")) | ||
474 | data = dm816_clkctrl_data; | ||
475 | #endif | ||
422 | 476 | ||
423 | while (data->addr) { | 477 | while (data->addr) { |
424 | if (addr == data->addr) | 478 | if (addr == data->addr) |
@@ -428,7 +482,7 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) | |||
428 | } | 482 | } |
429 | 483 | ||
430 | if (!data->addr) { | 484 | if (!data->addr) { |
431 | pr_err("%s not found from clkctrl data.\n", node->name); | 485 | pr_err("%pOF not found from clkctrl data.\n", node); |
432 | return; | 486 | return; |
433 | } | 487 | } |
434 | 488 | ||
@@ -438,6 +492,21 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) | |||
438 | 492 | ||
439 | provider->base = of_iomap(node, 0); | 493 | provider->base = of_iomap(node, 0); |
440 | 494 | ||
495 | provider->clkdm_name = kmalloc(strlen(node->parent->name) + 3, | ||
496 | GFP_KERNEL); | ||
497 | if (!provider->clkdm_name) { | ||
498 | kfree(provider); | ||
499 | return; | ||
500 | } | ||
501 | |||
502 | /* | ||
503 | * Create default clkdm name, replace _cm from end of parent node | ||
504 | * name with _clkdm | ||
505 | */ | ||
506 | strcpy(provider->clkdm_name, node->parent->name); | ||
507 | provider->clkdm_name[strlen(provider->clkdm_name) - 2] = 0; | ||
508 | strcat(provider->clkdm_name, "clkdm"); | ||
509 | |||
441 | INIT_LIST_HEAD(&provider->clocks); | 510 | INIT_LIST_HEAD(&provider->clocks); |
442 | 511 | ||
443 | /* Generate clocks */ | 512 | /* Generate clocks */ |
@@ -460,6 +529,11 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) | |||
460 | if (reg_data->flags & CLKF_NO_IDLEST) | 529 | if (reg_data->flags & CLKF_NO_IDLEST) |
461 | hw->flags |= NO_IDLEST; | 530 | hw->flags |= NO_IDLEST; |
462 | 531 | ||
532 | if (reg_data->clkdm_name) | ||
533 | hw->clkdm_name = reg_data->clkdm_name; | ||
534 | else | ||
535 | hw->clkdm_name = provider->clkdm_name; | ||
536 | |||
463 | init.parent_names = ®_data->parent; | 537 | init.parent_names = ®_data->parent; |
464 | init.num_parents = 1; | 538 | init.num_parents = 1; |
465 | init.flags = 0; | 539 | init.flags = 0; |
@@ -485,7 +559,10 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) | |||
485 | reg_data++; | 559 | reg_data++; |
486 | } | 560 | } |
487 | 561 | ||
488 | of_clk_add_hw_provider(node, _ti_omap4_clkctrl_xlate, provider); | 562 | ret = of_clk_add_hw_provider(node, _ti_omap4_clkctrl_xlate, provider); |
563 | if (ret == -EPROBE_DEFER) | ||
564 | ti_clk_retry_init(node, provider, _clkctrl_add_provider); | ||
565 | |||
489 | return; | 566 | return; |
490 | 567 | ||
491 | cleanup: | 568 | cleanup: |
diff --git a/drivers/clk/ti/clock.h b/drivers/clk/ti/clock.h index 561dbe99ced7..883e39e5d3ec 100644 --- a/drivers/clk/ti/clock.h +++ b/drivers/clk/ti/clock.h | |||
@@ -207,6 +207,7 @@ struct ti_dt_clk { | |||
207 | struct omap_clkctrl_div_data { | 207 | struct omap_clkctrl_div_data { |
208 | const int *dividers; | 208 | const int *dividers; |
209 | int max_div; | 209 | int max_div; |
210 | u32 flags; | ||
210 | }; | 211 | }; |
211 | 212 | ||
212 | struct omap_clkctrl_bit_data { | 213 | struct omap_clkctrl_bit_data { |
@@ -221,6 +222,7 @@ struct omap_clkctrl_reg_data { | |||
221 | const struct omap_clkctrl_bit_data *bit_data; | 222 | const struct omap_clkctrl_bit_data *bit_data; |
222 | u16 flags; | 223 | u16 flags; |
223 | const char *parent; | 224 | const char *parent; |
225 | const char *clkdm_name; | ||
224 | }; | 226 | }; |
225 | 227 | ||
226 | struct omap_clkctrl_data { | 228 | struct omap_clkctrl_data { |
@@ -229,12 +231,19 @@ struct omap_clkctrl_data { | |||
229 | }; | 231 | }; |
230 | 232 | ||
231 | extern const struct omap_clkctrl_data omap4_clkctrl_data[]; | 233 | extern const struct omap_clkctrl_data omap4_clkctrl_data[]; |
234 | extern const struct omap_clkctrl_data omap5_clkctrl_data[]; | ||
235 | extern const struct omap_clkctrl_data dra7_clkctrl_data[]; | ||
236 | extern const struct omap_clkctrl_data am3_clkctrl_data[]; | ||
237 | extern const struct omap_clkctrl_data am4_clkctrl_data[]; | ||
238 | extern const struct omap_clkctrl_data am438x_clkctrl_data[]; | ||
239 | extern const struct omap_clkctrl_data dm814_clkctrl_data[]; | ||
240 | extern const struct omap_clkctrl_data dm816_clkctrl_data[]; | ||
232 | 241 | ||
233 | #define CLKF_SW_SUP BIT(0) | 242 | #define CLKF_SW_SUP BIT(0) |
234 | #define CLKF_HW_SUP BIT(1) | 243 | #define CLKF_HW_SUP BIT(1) |
235 | #define CLKF_NO_IDLEST BIT(2) | 244 | #define CLKF_NO_IDLEST BIT(2) |
236 | 245 | ||
237 | typedef void (*ti_of_clk_init_cb_t)(struct clk_hw *, struct device_node *); | 246 | typedef void (*ti_of_clk_init_cb_t)(void *, struct device_node *); |
238 | 247 | ||
239 | struct clk *ti_clk_register_gate(struct ti_clk *setup); | 248 | struct clk *ti_clk_register_gate(struct ti_clk *setup); |
240 | struct clk *ti_clk_register_interface(struct ti_clk *setup); | 249 | struct clk *ti_clk_register_interface(struct ti_clk *setup); |
@@ -262,7 +271,7 @@ int ti_clk_register_legacy_clks(struct ti_clk_alias *clks); | |||
262 | int ti_clk_get_reg_addr(struct device_node *node, int index, | 271 | int ti_clk_get_reg_addr(struct device_node *node, int index, |
263 | struct clk_omap_reg *reg); | 272 | struct clk_omap_reg *reg); |
264 | void ti_dt_clocks_register(struct ti_dt_clk *oclks); | 273 | void ti_dt_clocks_register(struct ti_dt_clk *oclks); |
265 | int ti_clk_retry_init(struct device_node *node, struct clk_hw *hw, | 274 | int ti_clk_retry_init(struct device_node *node, void *user, |
266 | ti_of_clk_init_cb_t func); | 275 | ti_of_clk_init_cb_t func); |
267 | int ti_clk_add_component(struct device_node *node, struct clk_hw *hw, int type); | 276 | int ti_clk_add_component(struct device_node *node, struct clk_hw *hw, int type); |
268 | 277 | ||
diff --git a/drivers/clk/ti/composite.c b/drivers/clk/ti/composite.c index beea89463ca2..3eaba2d16ce4 100644 --- a/drivers/clk/ti/composite.c +++ b/drivers/clk/ti/composite.c | |||
@@ -161,9 +161,10 @@ struct clk *ti_clk_register_composite(struct ti_clk *setup) | |||
161 | } | 161 | } |
162 | #endif | 162 | #endif |
163 | 163 | ||
164 | static void __init _register_composite(struct clk_hw *hw, | 164 | static void __init _register_composite(void *user, |
165 | struct device_node *node) | 165 | struct device_node *node) |
166 | { | 166 | { |
167 | struct clk_hw *hw = user; | ||
167 | struct clk *clk; | 168 | struct clk *clk; |
168 | struct clk_hw_omap_comp *cclk = to_clk_hw_comp(hw); | 169 | struct clk_hw_omap_comp *cclk = to_clk_hw_comp(hw); |
169 | struct component_clk *comp; | 170 | struct component_clk *comp; |
diff --git a/drivers/clk/ti/dpll.c b/drivers/clk/ti/dpll.c index d4e4444bc5ca..d246598c5016 100644 --- a/drivers/clk/ti/dpll.c +++ b/drivers/clk/ti/dpll.c | |||
@@ -152,9 +152,10 @@ static const struct clk_ops dpll_x2_ck_ops = { | |||
152 | * clk-bypass is missing), the clock is added to retry list and | 152 | * clk-bypass is missing), the clock is added to retry list and |
153 | * the initialization is retried on later stage. | 153 | * the initialization is retried on later stage. |
154 | */ | 154 | */ |
155 | static void __init _register_dpll(struct clk_hw *hw, | 155 | static void __init _register_dpll(void *user, |
156 | struct device_node *node) | 156 | struct device_node *node) |
157 | { | 157 | { |
158 | struct clk_hw *hw = user; | ||
158 | struct clk_hw_omap *clk_hw = to_clk_hw_omap(hw); | 159 | struct clk_hw_omap *clk_hw = to_clk_hw_omap(hw); |
159 | struct dpll_data *dd = clk_hw->dpll_data; | 160 | struct dpll_data *dd = clk_hw->dpll_data; |
160 | struct clk *clk; | 161 | struct clk *clk; |
diff --git a/include/dt-bindings/clock/am3.h b/include/dt-bindings/clock/am3.h new file mode 100644 index 000000000000..b396f00e481d --- /dev/null +++ b/include/dt-bindings/clock/am3.h | |||
@@ -0,0 +1,108 @@ | |||
1 | /* | ||
2 | * Copyright 2017 Texas Instruments, Inc. | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | #ifndef __DT_BINDINGS_CLK_AM3_H | ||
14 | #define __DT_BINDINGS_CLK_AM3_H | ||
15 | |||
16 | #define AM3_CLKCTRL_OFFSET 0x0 | ||
17 | #define AM3_CLKCTRL_INDEX(offset) ((offset) - AM3_CLKCTRL_OFFSET) | ||
18 | |||
19 | /* l4_per clocks */ | ||
20 | #define AM3_L4_PER_CLKCTRL_OFFSET 0x14 | ||
21 | #define AM3_L4_PER_CLKCTRL_INDEX(offset) ((offset) - AM3_L4_PER_CLKCTRL_OFFSET) | ||
22 | #define AM3_CPGMAC0_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x14) | ||
23 | #define AM3_LCDC_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x18) | ||
24 | #define AM3_USB_OTG_HS_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x1c) | ||
25 | #define AM3_TPTC0_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x24) | ||
26 | #define AM3_EMIF_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x28) | ||
27 | #define AM3_OCMCRAM_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x2c) | ||
28 | #define AM3_GPMC_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x30) | ||
29 | #define AM3_MCASP0_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x34) | ||
30 | #define AM3_UART6_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x38) | ||
31 | #define AM3_MMC1_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x3c) | ||
32 | #define AM3_ELM_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x40) | ||
33 | #define AM3_I2C3_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x44) | ||
34 | #define AM3_I2C2_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x48) | ||
35 | #define AM3_SPI0_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x4c) | ||
36 | #define AM3_SPI1_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x50) | ||
37 | #define AM3_L4_LS_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x60) | ||
38 | #define AM3_MCASP1_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x68) | ||
39 | #define AM3_UART2_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x6c) | ||
40 | #define AM3_UART3_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x70) | ||
41 | #define AM3_UART4_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x74) | ||
42 | #define AM3_UART5_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x78) | ||
43 | #define AM3_TIMER7_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x7c) | ||
44 | #define AM3_TIMER2_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x80) | ||
45 | #define AM3_TIMER3_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x84) | ||
46 | #define AM3_TIMER4_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x88) | ||
47 | #define AM3_RNG_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x90) | ||
48 | #define AM3_AES_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x94) | ||
49 | #define AM3_SHAM_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xa0) | ||
50 | #define AM3_GPIO2_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xac) | ||
51 | #define AM3_GPIO3_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xb0) | ||
52 | #define AM3_GPIO4_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xb4) | ||
53 | #define AM3_TPCC_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xbc) | ||
54 | #define AM3_D_CAN0_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xc0) | ||
55 | #define AM3_D_CAN1_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xc4) | ||
56 | #define AM3_EPWMSS1_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xcc) | ||
57 | #define AM3_EPWMSS0_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xd4) | ||
58 | #define AM3_EPWMSS2_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xd8) | ||
59 | #define AM3_L3_INSTR_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xdc) | ||
60 | #define AM3_L3_MAIN_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xe0) | ||
61 | #define AM3_PRUSS_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xe8) | ||
62 | #define AM3_TIMER5_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xec) | ||
63 | #define AM3_TIMER6_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xf0) | ||
64 | #define AM3_MMC2_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xf4) | ||
65 | #define AM3_MMC3_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xf8) | ||
66 | #define AM3_TPTC1_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0xfc) | ||
67 | #define AM3_TPTC2_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x100) | ||
68 | #define AM3_SPINLOCK_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x10c) | ||
69 | #define AM3_MAILBOX_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x110) | ||
70 | #define AM3_L4_HS_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x120) | ||
71 | #define AM3_OCPWP_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x130) | ||
72 | #define AM3_CLKDIV32K_CLKCTRL AM3_L4_PER_CLKCTRL_INDEX(0x14c) | ||
73 | |||
74 | /* l4_wkup clocks */ | ||
75 | #define AM3_L4_WKUP_CLKCTRL_OFFSET 0x4 | ||
76 | #define AM3_L4_WKUP_CLKCTRL_INDEX(offset) ((offset) - AM3_L4_WKUP_CLKCTRL_OFFSET) | ||
77 | #define AM3_CONTROL_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0x4) | ||
78 | #define AM3_GPIO1_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0x8) | ||
79 | #define AM3_L4_WKUP_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xc) | ||
80 | #define AM3_DEBUGSS_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0x14) | ||
81 | #define AM3_WKUP_M3_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xb0) | ||
82 | #define AM3_UART1_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xb4) | ||
83 | #define AM3_I2C1_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xb8) | ||
84 | #define AM3_ADC_TSC_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xbc) | ||
85 | #define AM3_SMARTREFLEX0_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xc0) | ||
86 | #define AM3_TIMER1_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xc4) | ||
87 | #define AM3_SMARTREFLEX1_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xc8) | ||
88 | #define AM3_WD_TIMER2_CLKCTRL AM3_L4_WKUP_CLKCTRL_INDEX(0xd4) | ||
89 | |||
90 | /* mpu clocks */ | ||
91 | #define AM3_MPU_CLKCTRL_OFFSET 0x4 | ||
92 | #define AM3_MPU_CLKCTRL_INDEX(offset) ((offset) - AM3_MPU_CLKCTRL_OFFSET) | ||
93 | #define AM3_MPU_CLKCTRL AM3_MPU_CLKCTRL_INDEX(0x4) | ||
94 | |||
95 | /* l4_rtc clocks */ | ||
96 | #define AM3_RTC_CLKCTRL AM3_CLKCTRL_INDEX(0x0) | ||
97 | |||
98 | /* gfx_l3 clocks */ | ||
99 | #define AM3_GFX_L3_CLKCTRL_OFFSET 0x4 | ||
100 | #define AM3_GFX_L3_CLKCTRL_INDEX(offset) ((offset) - AM3_GFX_L3_CLKCTRL_OFFSET) | ||
101 | #define AM3_GFX_CLKCTRL AM3_GFX_L3_CLKCTRL_INDEX(0x4) | ||
102 | |||
103 | /* l4_cefuse clocks */ | ||
104 | #define AM3_L4_CEFUSE_CLKCTRL_OFFSET 0x20 | ||
105 | #define AM3_L4_CEFUSE_CLKCTRL_INDEX(offset) ((offset) - AM3_L4_CEFUSE_CLKCTRL_OFFSET) | ||
106 | #define AM3_CEFUSE_CLKCTRL AM3_L4_CEFUSE_CLKCTRL_INDEX(0x20) | ||
107 | |||
108 | #endif | ||
diff --git a/include/dt-bindings/clock/am4.h b/include/dt-bindings/clock/am4.h new file mode 100644 index 000000000000..d21df00b3270 --- /dev/null +++ b/include/dt-bindings/clock/am4.h | |||
@@ -0,0 +1,113 @@ | |||
1 | /* | ||
2 | * Copyright 2017 Texas Instruments, Inc. | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | #ifndef __DT_BINDINGS_CLK_AM4_H | ||
14 | #define __DT_BINDINGS_CLK_AM4_H | ||
15 | |||
16 | #define AM4_CLKCTRL_OFFSET 0x20 | ||
17 | #define AM4_CLKCTRL_INDEX(offset) ((offset) - AM4_CLKCTRL_OFFSET) | ||
18 | |||
19 | /* l4_wkup clocks */ | ||
20 | #define AM4_ADC_TSC_CLKCTRL AM4_CLKCTRL_INDEX(0x120) | ||
21 | #define AM4_L4_WKUP_CLKCTRL AM4_CLKCTRL_INDEX(0x220) | ||
22 | #define AM4_WKUP_M3_CLKCTRL AM4_CLKCTRL_INDEX(0x228) | ||
23 | #define AM4_COUNTER_32K_CLKCTRL AM4_CLKCTRL_INDEX(0x230) | ||
24 | #define AM4_TIMER1_CLKCTRL AM4_CLKCTRL_INDEX(0x328) | ||
25 | #define AM4_WD_TIMER2_CLKCTRL AM4_CLKCTRL_INDEX(0x338) | ||
26 | #define AM4_I2C1_CLKCTRL AM4_CLKCTRL_INDEX(0x340) | ||
27 | #define AM4_UART1_CLKCTRL AM4_CLKCTRL_INDEX(0x348) | ||
28 | #define AM4_SMARTREFLEX0_CLKCTRL AM4_CLKCTRL_INDEX(0x350) | ||
29 | #define AM4_SMARTREFLEX1_CLKCTRL AM4_CLKCTRL_INDEX(0x358) | ||
30 | #define AM4_CONTROL_CLKCTRL AM4_CLKCTRL_INDEX(0x360) | ||
31 | #define AM4_GPIO1_CLKCTRL AM4_CLKCTRL_INDEX(0x368) | ||
32 | |||
33 | /* mpu clocks */ | ||
34 | #define AM4_MPU_CLKCTRL AM4_CLKCTRL_INDEX(0x20) | ||
35 | |||
36 | /* gfx_l3 clocks */ | ||
37 | #define AM4_GFX_CLKCTRL AM4_CLKCTRL_INDEX(0x20) | ||
38 | |||
39 | /* l4_rtc clocks */ | ||
40 | #define AM4_RTC_CLKCTRL AM4_CLKCTRL_INDEX(0x20) | ||
41 | |||
42 | /* l4_per clocks */ | ||
43 | #define AM4_L3_MAIN_CLKCTRL AM4_CLKCTRL_INDEX(0x20) | ||
44 | #define AM4_AES_CLKCTRL AM4_CLKCTRL_INDEX(0x28) | ||
45 | #define AM4_DES_CLKCTRL AM4_CLKCTRL_INDEX(0x30) | ||
46 | #define AM4_L3_INSTR_CLKCTRL AM4_CLKCTRL_INDEX(0x40) | ||
47 | #define AM4_OCMCRAM_CLKCTRL AM4_CLKCTRL_INDEX(0x50) | ||
48 | #define AM4_SHAM_CLKCTRL AM4_CLKCTRL_INDEX(0x58) | ||
49 | #define AM4_VPFE0_CLKCTRL AM4_CLKCTRL_INDEX(0x68) | ||
50 | #define AM4_VPFE1_CLKCTRL AM4_CLKCTRL_INDEX(0x70) | ||
51 | #define AM4_TPCC_CLKCTRL AM4_CLKCTRL_INDEX(0x78) | ||
52 | #define AM4_TPTC0_CLKCTRL AM4_CLKCTRL_INDEX(0x80) | ||
53 | #define AM4_TPTC1_CLKCTRL AM4_CLKCTRL_INDEX(0x88) | ||
54 | #define AM4_TPTC2_CLKCTRL AM4_CLKCTRL_INDEX(0x90) | ||
55 | #define AM4_L4_HS_CLKCTRL AM4_CLKCTRL_INDEX(0xa0) | ||
56 | #define AM4_GPMC_CLKCTRL AM4_CLKCTRL_INDEX(0x220) | ||
57 | #define AM4_MCASP0_CLKCTRL AM4_CLKCTRL_INDEX(0x238) | ||
58 | #define AM4_MCASP1_CLKCTRL AM4_CLKCTRL_INDEX(0x240) | ||
59 | #define AM4_MMC3_CLKCTRL AM4_CLKCTRL_INDEX(0x248) | ||
60 | #define AM4_QSPI_CLKCTRL AM4_CLKCTRL_INDEX(0x258) | ||
61 | #define AM4_USB_OTG_SS0_CLKCTRL AM4_CLKCTRL_INDEX(0x260) | ||
62 | #define AM4_USB_OTG_SS1_CLKCTRL AM4_CLKCTRL_INDEX(0x268) | ||
63 | #define AM4_PRUSS_CLKCTRL AM4_CLKCTRL_INDEX(0x320) | ||
64 | #define AM4_L4_LS_CLKCTRL AM4_CLKCTRL_INDEX(0x420) | ||
65 | #define AM4_D_CAN0_CLKCTRL AM4_CLKCTRL_INDEX(0x428) | ||
66 | #define AM4_D_CAN1_CLKCTRL AM4_CLKCTRL_INDEX(0x430) | ||
67 | #define AM4_EPWMSS0_CLKCTRL AM4_CLKCTRL_INDEX(0x438) | ||
68 | #define AM4_EPWMSS1_CLKCTRL AM4_CLKCTRL_INDEX(0x440) | ||
69 | #define AM4_EPWMSS2_CLKCTRL AM4_CLKCTRL_INDEX(0x448) | ||
70 | #define AM4_EPWMSS3_CLKCTRL AM4_CLKCTRL_INDEX(0x450) | ||
71 | #define AM4_EPWMSS4_CLKCTRL AM4_CLKCTRL_INDEX(0x458) | ||
72 | #define AM4_EPWMSS5_CLKCTRL AM4_CLKCTRL_INDEX(0x460) | ||
73 | #define AM4_ELM_CLKCTRL AM4_CLKCTRL_INDEX(0x468) | ||
74 | #define AM4_GPIO2_CLKCTRL AM4_CLKCTRL_INDEX(0x478) | ||
75 | #define AM4_GPIO3_CLKCTRL AM4_CLKCTRL_INDEX(0x480) | ||
76 | #define AM4_GPIO4_CLKCTRL AM4_CLKCTRL_INDEX(0x488) | ||
77 | #define AM4_GPIO5_CLKCTRL AM4_CLKCTRL_INDEX(0x490) | ||
78 | #define AM4_GPIO6_CLKCTRL AM4_CLKCTRL_INDEX(0x498) | ||
79 | #define AM4_HDQ1W_CLKCTRL AM4_CLKCTRL_INDEX(0x4a0) | ||
80 | #define AM4_I2C2_CLKCTRL AM4_CLKCTRL_INDEX(0x4a8) | ||
81 | #define AM4_I2C3_CLKCTRL AM4_CLKCTRL_INDEX(0x4b0) | ||
82 | #define AM4_MAILBOX_CLKCTRL AM4_CLKCTRL_INDEX(0x4b8) | ||
83 | #define AM4_MMC1_CLKCTRL AM4_CLKCTRL_INDEX(0x4c0) | ||
84 | #define AM4_MMC2_CLKCTRL AM4_CLKCTRL_INDEX(0x4c8) | ||
85 | #define AM4_RNG_CLKCTRL AM4_CLKCTRL_INDEX(0x4e0) | ||
86 | #define AM4_SPI0_CLKCTRL AM4_CLKCTRL_INDEX(0x500) | ||
87 | #define AM4_SPI1_CLKCTRL AM4_CLKCTRL_INDEX(0x508) | ||
88 | #define AM4_SPI2_CLKCTRL AM4_CLKCTRL_INDEX(0x510) | ||
89 | #define AM4_SPI3_CLKCTRL AM4_CLKCTRL_INDEX(0x518) | ||
90 | #define AM4_SPI4_CLKCTRL AM4_CLKCTRL_INDEX(0x520) | ||
91 | #define AM4_SPINLOCK_CLKCTRL AM4_CLKCTRL_INDEX(0x528) | ||
92 | #define AM4_TIMER2_CLKCTRL AM4_CLKCTRL_INDEX(0x530) | ||
93 | #define AM4_TIMER3_CLKCTRL AM4_CLKCTRL_INDEX(0x538) | ||
94 | #define AM4_TIMER4_CLKCTRL AM4_CLKCTRL_INDEX(0x540) | ||
95 | #define AM4_TIMER5_CLKCTRL AM4_CLKCTRL_INDEX(0x548) | ||
96 | #define AM4_TIMER6_CLKCTRL AM4_CLKCTRL_INDEX(0x550) | ||
97 | #define AM4_TIMER7_CLKCTRL AM4_CLKCTRL_INDEX(0x558) | ||
98 | #define AM4_TIMER8_CLKCTRL AM4_CLKCTRL_INDEX(0x560) | ||
99 | #define AM4_TIMER9_CLKCTRL AM4_CLKCTRL_INDEX(0x568) | ||
100 | #define AM4_TIMER10_CLKCTRL AM4_CLKCTRL_INDEX(0x570) | ||
101 | #define AM4_TIMER11_CLKCTRL AM4_CLKCTRL_INDEX(0x578) | ||
102 | #define AM4_UART2_CLKCTRL AM4_CLKCTRL_INDEX(0x580) | ||
103 | #define AM4_UART3_CLKCTRL AM4_CLKCTRL_INDEX(0x588) | ||
104 | #define AM4_UART4_CLKCTRL AM4_CLKCTRL_INDEX(0x590) | ||
105 | #define AM4_UART5_CLKCTRL AM4_CLKCTRL_INDEX(0x598) | ||
106 | #define AM4_UART6_CLKCTRL AM4_CLKCTRL_INDEX(0x5a0) | ||
107 | #define AM4_OCP2SCP0_CLKCTRL AM4_CLKCTRL_INDEX(0x5b8) | ||
108 | #define AM4_OCP2SCP1_CLKCTRL AM4_CLKCTRL_INDEX(0x5c0) | ||
109 | #define AM4_EMIF_CLKCTRL AM4_CLKCTRL_INDEX(0x720) | ||
110 | #define AM4_DSS_CORE_CLKCTRL AM4_CLKCTRL_INDEX(0xa20) | ||
111 | #define AM4_CPGMAC0_CLKCTRL AM4_CLKCTRL_INDEX(0xb20) | ||
112 | |||
113 | #endif | ||
diff --git a/include/dt-bindings/clock/dm814.h b/include/dt-bindings/clock/dm814.h new file mode 100644 index 000000000000..0e7099a344e1 --- /dev/null +++ b/include/dt-bindings/clock/dm814.h | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * Copyright 2017 Texas Instruments, Inc. | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | #ifndef __DT_BINDINGS_CLK_DM814_H | ||
14 | #define __DT_BINDINGS_CLK_DM814_H | ||
15 | |||
16 | #define DM814_CLKCTRL_OFFSET 0x0 | ||
17 | #define DM814_CLKCTRL_INDEX(offset) ((offset) - DM814_CLKCTRL_OFFSET) | ||
18 | |||
19 | /* default clocks */ | ||
20 | #define DM814_USB_OTG_HS_CLKCTRL DM814_CLKCTRL_INDEX(0x58) | ||
21 | |||
22 | /* alwon clocks */ | ||
23 | #define DM814_UART1_CLKCTRL DM814_CLKCTRL_INDEX(0x150) | ||
24 | #define DM814_UART2_CLKCTRL DM814_CLKCTRL_INDEX(0x154) | ||
25 | #define DM814_UART3_CLKCTRL DM814_CLKCTRL_INDEX(0x158) | ||
26 | #define DM814_GPIO1_CLKCTRL DM814_CLKCTRL_INDEX(0x15c) | ||
27 | #define DM814_GPIO2_CLKCTRL DM814_CLKCTRL_INDEX(0x160) | ||
28 | #define DM814_I2C1_CLKCTRL DM814_CLKCTRL_INDEX(0x164) | ||
29 | #define DM814_I2C2_CLKCTRL DM814_CLKCTRL_INDEX(0x168) | ||
30 | #define DM814_WD_TIMER_CLKCTRL DM814_CLKCTRL_INDEX(0x18c) | ||
31 | #define DM814_MCSPI1_CLKCTRL DM814_CLKCTRL_INDEX(0x190) | ||
32 | #define DM814_GPMC_CLKCTRL DM814_CLKCTRL_INDEX(0x1d0) | ||
33 | #define DM814_CPGMAC0_CLKCTRL DM814_CLKCTRL_INDEX(0x1d4) | ||
34 | #define DM814_MPU_CLKCTRL DM814_CLKCTRL_INDEX(0x1dc) | ||
35 | #define DM814_RTC_CLKCTRL DM814_CLKCTRL_INDEX(0x1f0) | ||
36 | #define DM814_TPCC_CLKCTRL DM814_CLKCTRL_INDEX(0x1f4) | ||
37 | #define DM814_TPTC0_CLKCTRL DM814_CLKCTRL_INDEX(0x1f8) | ||
38 | #define DM814_TPTC1_CLKCTRL DM814_CLKCTRL_INDEX(0x1fc) | ||
39 | #define DM814_TPTC2_CLKCTRL DM814_CLKCTRL_INDEX(0x200) | ||
40 | #define DM814_TPTC3_CLKCTRL DM814_CLKCTRL_INDEX(0x204) | ||
41 | #define DM814_MMC1_CLKCTRL DM814_CLKCTRL_INDEX(0x21c) | ||
42 | #define DM814_MMC2_CLKCTRL DM814_CLKCTRL_INDEX(0x220) | ||
43 | #define DM814_MMC3_CLKCTRL DM814_CLKCTRL_INDEX(0x224) | ||
44 | |||
45 | #endif | ||
diff --git a/include/dt-bindings/clock/dm816.h b/include/dt-bindings/clock/dm816.h new file mode 100644 index 000000000000..69e8a36d783e --- /dev/null +++ b/include/dt-bindings/clock/dm816.h | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * Copyright 2017 Texas Instruments, Inc. | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | #ifndef __DT_BINDINGS_CLK_DM816_H | ||
14 | #define __DT_BINDINGS_CLK_DM816_H | ||
15 | |||
16 | #define DM816_CLKCTRL_OFFSET 0x0 | ||
17 | #define DM816_CLKCTRL_INDEX(offset) ((offset) - DM816_CLKCTRL_OFFSET) | ||
18 | |||
19 | /* default clocks */ | ||
20 | #define DM816_USB_OTG_HS_CLKCTRL DM816_CLKCTRL_INDEX(0x58) | ||
21 | |||
22 | /* alwon clocks */ | ||
23 | #define DM816_UART1_CLKCTRL DM816_CLKCTRL_INDEX(0x150) | ||
24 | #define DM816_UART2_CLKCTRL DM816_CLKCTRL_INDEX(0x154) | ||
25 | #define DM816_UART3_CLKCTRL DM816_CLKCTRL_INDEX(0x158) | ||
26 | #define DM816_GPIO1_CLKCTRL DM816_CLKCTRL_INDEX(0x15c) | ||
27 | #define DM816_GPIO2_CLKCTRL DM816_CLKCTRL_INDEX(0x160) | ||
28 | #define DM816_I2C1_CLKCTRL DM816_CLKCTRL_INDEX(0x164) | ||
29 | #define DM816_I2C2_CLKCTRL DM816_CLKCTRL_INDEX(0x168) | ||
30 | #define DM816_TIMER1_CLKCTRL DM816_CLKCTRL_INDEX(0x170) | ||
31 | #define DM816_TIMER2_CLKCTRL DM816_CLKCTRL_INDEX(0x174) | ||
32 | #define DM816_TIMER3_CLKCTRL DM816_CLKCTRL_INDEX(0x178) | ||
33 | #define DM816_TIMER4_CLKCTRL DM816_CLKCTRL_INDEX(0x17c) | ||
34 | #define DM816_TIMER5_CLKCTRL DM816_CLKCTRL_INDEX(0x180) | ||
35 | #define DM816_TIMER6_CLKCTRL DM816_CLKCTRL_INDEX(0x184) | ||
36 | #define DM816_TIMER7_CLKCTRL DM816_CLKCTRL_INDEX(0x188) | ||
37 | #define DM816_WD_TIMER_CLKCTRL DM816_CLKCTRL_INDEX(0x18c) | ||
38 | #define DM816_MCSPI1_CLKCTRL DM816_CLKCTRL_INDEX(0x190) | ||
39 | #define DM816_MAILBOX_CLKCTRL DM816_CLKCTRL_INDEX(0x194) | ||
40 | #define DM816_SPINBOX_CLKCTRL DM816_CLKCTRL_INDEX(0x198) | ||
41 | #define DM816_MMC1_CLKCTRL DM816_CLKCTRL_INDEX(0x1b0) | ||
42 | #define DM816_GPMC_CLKCTRL DM816_CLKCTRL_INDEX(0x1d0) | ||
43 | #define DM816_DAVINCI_MDIO_CLKCTRL DM816_CLKCTRL_INDEX(0x1d4) | ||
44 | #define DM816_EMAC1_CLKCTRL DM816_CLKCTRL_INDEX(0x1d8) | ||
45 | #define DM816_MPU_CLKCTRL DM816_CLKCTRL_INDEX(0x1dc) | ||
46 | #define DM816_RTC_CLKCTRL DM816_CLKCTRL_INDEX(0x1f0) | ||
47 | #define DM816_TPCC_CLKCTRL DM816_CLKCTRL_INDEX(0x1f4) | ||
48 | #define DM816_TPTC0_CLKCTRL DM816_CLKCTRL_INDEX(0x1f8) | ||
49 | #define DM816_TPTC1_CLKCTRL DM816_CLKCTRL_INDEX(0x1fc) | ||
50 | #define DM816_TPTC2_CLKCTRL DM816_CLKCTRL_INDEX(0x200) | ||
51 | #define DM816_TPTC3_CLKCTRL DM816_CLKCTRL_INDEX(0x204) | ||
52 | |||
53 | #endif | ||
diff --git a/include/dt-bindings/clock/dra7.h b/include/dt-bindings/clock/dra7.h new file mode 100644 index 000000000000..5e1061b15aed --- /dev/null +++ b/include/dt-bindings/clock/dra7.h | |||
@@ -0,0 +1,172 @@ | |||
1 | /* | ||
2 | * Copyright 2017 Texas Instruments, Inc. | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | #ifndef __DT_BINDINGS_CLK_DRA7_H | ||
14 | #define __DT_BINDINGS_CLK_DRA7_H | ||
15 | |||
16 | #define DRA7_CLKCTRL_OFFSET 0x20 | ||
17 | #define DRA7_CLKCTRL_INDEX(offset) ((offset) - DRA7_CLKCTRL_OFFSET) | ||
18 | |||
19 | /* mpu clocks */ | ||
20 | #define DRA7_MPU_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
21 | |||
22 | /* ipu clocks */ | ||
23 | #define DRA7_IPU_CLKCTRL_OFFSET 0x40 | ||
24 | #define DRA7_IPU_CLKCTRL_INDEX(offset) ((offset) - DRA7_IPU_CLKCTRL_OFFSET) | ||
25 | #define DRA7_MCASP1_CLKCTRL DRA7_IPU_CLKCTRL_INDEX(0x50) | ||
26 | #define DRA7_TIMER5_CLKCTRL DRA7_IPU_CLKCTRL_INDEX(0x58) | ||
27 | #define DRA7_TIMER6_CLKCTRL DRA7_IPU_CLKCTRL_INDEX(0x60) | ||
28 | #define DRA7_TIMER7_CLKCTRL DRA7_IPU_CLKCTRL_INDEX(0x68) | ||
29 | #define DRA7_TIMER8_CLKCTRL DRA7_IPU_CLKCTRL_INDEX(0x70) | ||
30 | #define DRA7_I2C5_CLKCTRL DRA7_IPU_CLKCTRL_INDEX(0x78) | ||
31 | #define DRA7_UART6_CLKCTRL DRA7_IPU_CLKCTRL_INDEX(0x80) | ||
32 | |||
33 | /* rtc clocks */ | ||
34 | #define DRA7_RTC_CLKCTRL_OFFSET 0x40 | ||
35 | #define DRA7_RTC_CLKCTRL_INDEX(offset) ((offset) - DRA7_RTC_CLKCTRL_OFFSET) | ||
36 | #define DRA7_RTCSS_CLKCTRL DRA7_RTC_CLKCTRL_INDEX(0x44) | ||
37 | |||
38 | /* coreaon clocks */ | ||
39 | #define DRA7_SMARTREFLEX_MPU_CLKCTRL DRA7_CLKCTRL_INDEX(0x28) | ||
40 | #define DRA7_SMARTREFLEX_CORE_CLKCTRL DRA7_CLKCTRL_INDEX(0x38) | ||
41 | |||
42 | /* l3main1 clocks */ | ||
43 | #define DRA7_L3_MAIN_1_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
44 | #define DRA7_GPMC_CLKCTRL DRA7_CLKCTRL_INDEX(0x28) | ||
45 | #define DRA7_TPCC_CLKCTRL DRA7_CLKCTRL_INDEX(0x70) | ||
46 | #define DRA7_TPTC0_CLKCTRL DRA7_CLKCTRL_INDEX(0x78) | ||
47 | #define DRA7_TPTC1_CLKCTRL DRA7_CLKCTRL_INDEX(0x80) | ||
48 | #define DRA7_VCP1_CLKCTRL DRA7_CLKCTRL_INDEX(0x88) | ||
49 | #define DRA7_VCP2_CLKCTRL DRA7_CLKCTRL_INDEX(0x90) | ||
50 | |||
51 | /* dma clocks */ | ||
52 | #define DRA7_DMA_SYSTEM_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
53 | |||
54 | /* emif clocks */ | ||
55 | #define DRA7_DMM_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
56 | |||
57 | /* atl clocks */ | ||
58 | #define DRA7_ATL_CLKCTRL_OFFSET 0x0 | ||
59 | #define DRA7_ATL_CLKCTRL_INDEX(offset) ((offset) - DRA7_ATL_CLKCTRL_OFFSET) | ||
60 | #define DRA7_ATL_CLKCTRL DRA7_ATL_CLKCTRL_INDEX(0x0) | ||
61 | |||
62 | /* l4cfg clocks */ | ||
63 | #define DRA7_L4_CFG_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
64 | #define DRA7_SPINLOCK_CLKCTRL DRA7_CLKCTRL_INDEX(0x28) | ||
65 | #define DRA7_MAILBOX1_CLKCTRL DRA7_CLKCTRL_INDEX(0x30) | ||
66 | #define DRA7_MAILBOX2_CLKCTRL DRA7_CLKCTRL_INDEX(0x48) | ||
67 | #define DRA7_MAILBOX3_CLKCTRL DRA7_CLKCTRL_INDEX(0x50) | ||
68 | #define DRA7_MAILBOX4_CLKCTRL DRA7_CLKCTRL_INDEX(0x58) | ||
69 | #define DRA7_MAILBOX5_CLKCTRL DRA7_CLKCTRL_INDEX(0x60) | ||
70 | #define DRA7_MAILBOX6_CLKCTRL DRA7_CLKCTRL_INDEX(0x68) | ||
71 | #define DRA7_MAILBOX7_CLKCTRL DRA7_CLKCTRL_INDEX(0x70) | ||
72 | #define DRA7_MAILBOX8_CLKCTRL DRA7_CLKCTRL_INDEX(0x78) | ||
73 | #define DRA7_MAILBOX9_CLKCTRL DRA7_CLKCTRL_INDEX(0x80) | ||
74 | #define DRA7_MAILBOX10_CLKCTRL DRA7_CLKCTRL_INDEX(0x88) | ||
75 | #define DRA7_MAILBOX11_CLKCTRL DRA7_CLKCTRL_INDEX(0x90) | ||
76 | #define DRA7_MAILBOX12_CLKCTRL DRA7_CLKCTRL_INDEX(0x98) | ||
77 | #define DRA7_MAILBOX13_CLKCTRL DRA7_CLKCTRL_INDEX(0xa0) | ||
78 | |||
79 | /* l3instr clocks */ | ||
80 | #define DRA7_L3_MAIN_2_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
81 | #define DRA7_L3_INSTR_CLKCTRL DRA7_CLKCTRL_INDEX(0x28) | ||
82 | |||
83 | /* dss clocks */ | ||
84 | #define DRA7_DSS_CORE_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
85 | #define DRA7_BB2D_CLKCTRL DRA7_CLKCTRL_INDEX(0x30) | ||
86 | |||
87 | /* l3init clocks */ | ||
88 | #define DRA7_MMC1_CLKCTRL DRA7_CLKCTRL_INDEX(0x28) | ||
89 | #define DRA7_MMC2_CLKCTRL DRA7_CLKCTRL_INDEX(0x30) | ||
90 | #define DRA7_USB_OTG_SS2_CLKCTRL DRA7_CLKCTRL_INDEX(0x40) | ||
91 | #define DRA7_USB_OTG_SS3_CLKCTRL DRA7_CLKCTRL_INDEX(0x48) | ||
92 | #define DRA7_USB_OTG_SS4_CLKCTRL DRA7_CLKCTRL_INDEX(0x50) | ||
93 | #define DRA7_SATA_CLKCTRL DRA7_CLKCTRL_INDEX(0x88) | ||
94 | #define DRA7_PCIE1_CLKCTRL DRA7_CLKCTRL_INDEX(0xb0) | ||
95 | #define DRA7_PCIE2_CLKCTRL DRA7_CLKCTRL_INDEX(0xb8) | ||
96 | #define DRA7_GMAC_CLKCTRL DRA7_CLKCTRL_INDEX(0xd0) | ||
97 | #define DRA7_OCP2SCP1_CLKCTRL DRA7_CLKCTRL_INDEX(0xe0) | ||
98 | #define DRA7_OCP2SCP3_CLKCTRL DRA7_CLKCTRL_INDEX(0xe8) | ||
99 | #define DRA7_USB_OTG_SS1_CLKCTRL DRA7_CLKCTRL_INDEX(0xf0) | ||
100 | |||
101 | /* l4per clocks */ | ||
102 | #define DRA7_L4PER_CLKCTRL_OFFSET 0x0 | ||
103 | #define DRA7_L4PER_CLKCTRL_INDEX(offset) ((offset) - DRA7_L4PER_CLKCTRL_OFFSET) | ||
104 | #define DRA7_L4_PER2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xc) | ||
105 | #define DRA7_L4_PER3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x14) | ||
106 | #define DRA7_TIMER10_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x28) | ||
107 | #define DRA7_TIMER11_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x30) | ||
108 | #define DRA7_TIMER2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x38) | ||
109 | #define DRA7_TIMER3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x40) | ||
110 | #define DRA7_TIMER4_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x48) | ||
111 | #define DRA7_TIMER9_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x50) | ||
112 | #define DRA7_ELM_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x58) | ||
113 | #define DRA7_GPIO2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x60) | ||
114 | #define DRA7_GPIO3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x68) | ||
115 | #define DRA7_GPIO4_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x70) | ||
116 | #define DRA7_GPIO5_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x78) | ||
117 | #define DRA7_GPIO6_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x80) | ||
118 | #define DRA7_HDQ1W_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x88) | ||
119 | #define DRA7_EPWMSS1_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x90) | ||
120 | #define DRA7_EPWMSS2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x98) | ||
121 | #define DRA7_I2C1_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xa0) | ||
122 | #define DRA7_I2C2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xa8) | ||
123 | #define DRA7_I2C3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xb0) | ||
124 | #define DRA7_I2C4_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xb8) | ||
125 | #define DRA7_L4_PER1_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xc0) | ||
126 | #define DRA7_EPWMSS0_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xc4) | ||
127 | #define DRA7_TIMER13_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xc8) | ||
128 | #define DRA7_TIMER14_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xd0) | ||
129 | #define DRA7_TIMER15_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xd8) | ||
130 | #define DRA7_MCSPI1_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xf0) | ||
131 | #define DRA7_MCSPI2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0xf8) | ||
132 | #define DRA7_MCSPI3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x100) | ||
133 | #define DRA7_MCSPI4_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x108) | ||
134 | #define DRA7_GPIO7_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x110) | ||
135 | #define DRA7_GPIO8_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x118) | ||
136 | #define DRA7_MMC3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x120) | ||
137 | #define DRA7_MMC4_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x128) | ||
138 | #define DRA7_TIMER16_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x130) | ||
139 | #define DRA7_QSPI_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x138) | ||
140 | #define DRA7_UART1_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x140) | ||
141 | #define DRA7_UART2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x148) | ||
142 | #define DRA7_UART3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x150) | ||
143 | #define DRA7_UART4_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x158) | ||
144 | #define DRA7_MCASP2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x160) | ||
145 | #define DRA7_MCASP3_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x168) | ||
146 | #define DRA7_UART5_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x170) | ||
147 | #define DRA7_MCASP5_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x178) | ||
148 | #define DRA7_MCASP8_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x190) | ||
149 | #define DRA7_MCASP4_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x198) | ||
150 | #define DRA7_AES1_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1a0) | ||
151 | #define DRA7_AES2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1a8) | ||
152 | #define DRA7_DES_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1b0) | ||
153 | #define DRA7_RNG_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1c0) | ||
154 | #define DRA7_SHAM_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1c8) | ||
155 | #define DRA7_UART7_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1d0) | ||
156 | #define DRA7_UART8_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1e0) | ||
157 | #define DRA7_UART9_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1e8) | ||
158 | #define DRA7_DCAN2_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x1f0) | ||
159 | #define DRA7_MCASP6_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x204) | ||
160 | #define DRA7_MCASP7_CLKCTRL DRA7_L4PER_CLKCTRL_INDEX(0x208) | ||
161 | |||
162 | /* wkupaon clocks */ | ||
163 | #define DRA7_L4_WKUP_CLKCTRL DRA7_CLKCTRL_INDEX(0x20) | ||
164 | #define DRA7_WD_TIMER2_CLKCTRL DRA7_CLKCTRL_INDEX(0x30) | ||
165 | #define DRA7_GPIO1_CLKCTRL DRA7_CLKCTRL_INDEX(0x38) | ||
166 | #define DRA7_TIMER1_CLKCTRL DRA7_CLKCTRL_INDEX(0x40) | ||
167 | #define DRA7_TIMER12_CLKCTRL DRA7_CLKCTRL_INDEX(0x48) | ||
168 | #define DRA7_COUNTER_32K_CLKCTRL DRA7_CLKCTRL_INDEX(0x50) | ||
169 | #define DRA7_UART10_CLKCTRL DRA7_CLKCTRL_INDEX(0x80) | ||
170 | #define DRA7_DCAN1_CLKCTRL DRA7_CLKCTRL_INDEX(0x88) | ||
171 | |||
172 | #endif | ||
diff --git a/include/dt-bindings/clock/omap5.h b/include/dt-bindings/clock/omap5.h new file mode 100644 index 000000000000..f51821a91216 --- /dev/null +++ b/include/dt-bindings/clock/omap5.h | |||
@@ -0,0 +1,118 @@ | |||
1 | /* | ||
2 | * Copyright 2017 Texas Instruments, Inc. | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | #ifndef __DT_BINDINGS_CLK_OMAP5_H | ||
14 | #define __DT_BINDINGS_CLK_OMAP5_H | ||
15 | |||
16 | #define OMAP5_CLKCTRL_OFFSET 0x20 | ||
17 | #define OMAP5_CLKCTRL_INDEX(offset) ((offset) - OMAP5_CLKCTRL_OFFSET) | ||
18 | |||
19 | /* mpu clocks */ | ||
20 | #define OMAP5_MPU_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
21 | |||
22 | /* dsp clocks */ | ||
23 | #define OMAP5_MMU_DSP_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
24 | |||
25 | /* abe clocks */ | ||
26 | #define OMAP5_L4_ABE_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
27 | #define OMAP5_MCPDM_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) | ||
28 | #define OMAP5_DMIC_CLKCTRL OMAP5_CLKCTRL_INDEX(0x38) | ||
29 | #define OMAP5_MCBSP1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x48) | ||
30 | #define OMAP5_MCBSP2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x50) | ||
31 | #define OMAP5_MCBSP3_CLKCTRL OMAP5_CLKCTRL_INDEX(0x58) | ||
32 | #define OMAP5_TIMER5_CLKCTRL OMAP5_CLKCTRL_INDEX(0x68) | ||
33 | #define OMAP5_TIMER6_CLKCTRL OMAP5_CLKCTRL_INDEX(0x70) | ||
34 | #define OMAP5_TIMER7_CLKCTRL OMAP5_CLKCTRL_INDEX(0x78) | ||
35 | #define OMAP5_TIMER8_CLKCTRL OMAP5_CLKCTRL_INDEX(0x80) | ||
36 | |||
37 | /* l3main1 clocks */ | ||
38 | #define OMAP5_L3_MAIN_1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
39 | |||
40 | /* l3main2 clocks */ | ||
41 | #define OMAP5_L3_MAIN_2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
42 | |||
43 | /* ipu clocks */ | ||
44 | #define OMAP5_MMU_IPU_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
45 | |||
46 | /* dma clocks */ | ||
47 | #define OMAP5_DMA_SYSTEM_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
48 | |||
49 | /* emif clocks */ | ||
50 | #define OMAP5_DMM_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
51 | #define OMAP5_EMIF1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) | ||
52 | #define OMAP5_EMIF2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x38) | ||
53 | |||
54 | /* l4cfg clocks */ | ||
55 | #define OMAP5_L4_CFG_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
56 | #define OMAP5_SPINLOCK_CLKCTRL OMAP5_CLKCTRL_INDEX(0x28) | ||
57 | #define OMAP5_MAILBOX_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) | ||
58 | |||
59 | /* l3instr clocks */ | ||
60 | #define OMAP5_L3_MAIN_3_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
61 | #define OMAP5_L3_INSTR_CLKCTRL OMAP5_CLKCTRL_INDEX(0x28) | ||
62 | |||
63 | /* l4per clocks */ | ||
64 | #define OMAP5_TIMER10_CLKCTRL OMAP5_CLKCTRL_INDEX(0x28) | ||
65 | #define OMAP5_TIMER11_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) | ||
66 | #define OMAP5_TIMER2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x38) | ||
67 | #define OMAP5_TIMER3_CLKCTRL OMAP5_CLKCTRL_INDEX(0x40) | ||
68 | #define OMAP5_TIMER4_CLKCTRL OMAP5_CLKCTRL_INDEX(0x48) | ||
69 | #define OMAP5_TIMER9_CLKCTRL OMAP5_CLKCTRL_INDEX(0x50) | ||
70 | #define OMAP5_GPIO2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x60) | ||
71 | #define OMAP5_GPIO3_CLKCTRL OMAP5_CLKCTRL_INDEX(0x68) | ||
72 | #define OMAP5_GPIO4_CLKCTRL OMAP5_CLKCTRL_INDEX(0x70) | ||
73 | #define OMAP5_GPIO5_CLKCTRL OMAP5_CLKCTRL_INDEX(0x78) | ||
74 | #define OMAP5_GPIO6_CLKCTRL OMAP5_CLKCTRL_INDEX(0x80) | ||
75 | #define OMAP5_I2C1_CLKCTRL OMAP5_CLKCTRL_INDEX(0xa0) | ||
76 | #define OMAP5_I2C2_CLKCTRL OMAP5_CLKCTRL_INDEX(0xa8) | ||
77 | #define OMAP5_I2C3_CLKCTRL OMAP5_CLKCTRL_INDEX(0xb0) | ||
78 | #define OMAP5_I2C4_CLKCTRL OMAP5_CLKCTRL_INDEX(0xb8) | ||
79 | #define OMAP5_L4_PER_CLKCTRL OMAP5_CLKCTRL_INDEX(0xc0) | ||
80 | #define OMAP5_MCSPI1_CLKCTRL OMAP5_CLKCTRL_INDEX(0xf0) | ||
81 | #define OMAP5_MCSPI2_CLKCTRL OMAP5_CLKCTRL_INDEX(0xf8) | ||
82 | #define OMAP5_MCSPI3_CLKCTRL OMAP5_CLKCTRL_INDEX(0x100) | ||
83 | #define OMAP5_MCSPI4_CLKCTRL OMAP5_CLKCTRL_INDEX(0x108) | ||
84 | #define OMAP5_GPIO7_CLKCTRL OMAP5_CLKCTRL_INDEX(0x110) | ||
85 | #define OMAP5_GPIO8_CLKCTRL OMAP5_CLKCTRL_INDEX(0x118) | ||
86 | #define OMAP5_MMC3_CLKCTRL OMAP5_CLKCTRL_INDEX(0x120) | ||
87 | #define OMAP5_MMC4_CLKCTRL OMAP5_CLKCTRL_INDEX(0x128) | ||
88 | #define OMAP5_UART1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x140) | ||
89 | #define OMAP5_UART2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x148) | ||
90 | #define OMAP5_UART3_CLKCTRL OMAP5_CLKCTRL_INDEX(0x150) | ||
91 | #define OMAP5_UART4_CLKCTRL OMAP5_CLKCTRL_INDEX(0x158) | ||
92 | #define OMAP5_MMC5_CLKCTRL OMAP5_CLKCTRL_INDEX(0x160) | ||
93 | #define OMAP5_I2C5_CLKCTRL OMAP5_CLKCTRL_INDEX(0x168) | ||
94 | #define OMAP5_UART5_CLKCTRL OMAP5_CLKCTRL_INDEX(0x170) | ||
95 | #define OMAP5_UART6_CLKCTRL OMAP5_CLKCTRL_INDEX(0x178) | ||
96 | |||
97 | /* dss clocks */ | ||
98 | #define OMAP5_DSS_CORE_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
99 | |||
100 | /* l3init clocks */ | ||
101 | #define OMAP5_MMC1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x28) | ||
102 | #define OMAP5_MMC2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) | ||
103 | #define OMAP5_USB_HOST_HS_CLKCTRL OMAP5_CLKCTRL_INDEX(0x58) | ||
104 | #define OMAP5_USB_TLL_HS_CLKCTRL OMAP5_CLKCTRL_INDEX(0x68) | ||
105 | #define OMAP5_SATA_CLKCTRL OMAP5_CLKCTRL_INDEX(0x88) | ||
106 | #define OMAP5_OCP2SCP1_CLKCTRL OMAP5_CLKCTRL_INDEX(0xe0) | ||
107 | #define OMAP5_OCP2SCP3_CLKCTRL OMAP5_CLKCTRL_INDEX(0xe8) | ||
108 | #define OMAP5_USB_OTG_SS_CLKCTRL OMAP5_CLKCTRL_INDEX(0xf0) | ||
109 | |||
110 | /* wkupaon clocks */ | ||
111 | #define OMAP5_L4_WKUP_CLKCTRL OMAP5_CLKCTRL_INDEX(0x20) | ||
112 | #define OMAP5_WD_TIMER2_CLKCTRL OMAP5_CLKCTRL_INDEX(0x30) | ||
113 | #define OMAP5_GPIO1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x38) | ||
114 | #define OMAP5_TIMER1_CLKCTRL OMAP5_CLKCTRL_INDEX(0x40) | ||
115 | #define OMAP5_COUNTER_32K_CLKCTRL OMAP5_CLKCTRL_INDEX(0x50) | ||
116 | #define OMAP5_KBD_CLKCTRL OMAP5_CLKCTRL_INDEX(0x78) | ||
117 | |||
118 | #endif | ||