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

ARM: dts: Update ti-sysc data for existing users

Let's update the existing users with features and clock data as
specified in the binding. This is currently the smartreflex for most
part, and also few omap4 modules with no child device driver like
mcasp, abe iss and gfx.

Note that we had few mistakes that did not get noticed as we're still
probing the SmartReflex driver with legacy platform data and using
"ti,hwmods" legacy property for ti-sysc driver.

So let's fix the omap4 and dra7 smartreflex registers as there is no
no revision register.

And on omap4, the mcasp module has a revision register according to
the TRM.

And for omap34xx we need a different configuration compared to 36xx.
And the smartreflex on 3517 we've always kept disabled so let's
remove any references to it.

Signed-off-by: Tony Lindgren <tony@atomide.com>

+198 -35
-4
arch/arm/boot/dts/am3517.dtsi
··· 99 99 status = "disabled"; 100 100 }; 101 101 102 - &smartreflex_mpu_iva { 103 - status = "disabled"; 104 - }; 105 - 106 102 /include/ "am35xx-clocks.dtsi" 107 103 /include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
+20 -6
arch/arm/boot/dts/dra7.dtsi
··· 7 7 * Based on "omap4.dtsi" 8 8 */ 9 9 10 + #include <dt-bindings/bus/ti-sysc.h> 11 + #include <dt-bindings/clock/dra7.h> 10 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 13 #include <dt-bindings/pinctrl/dra.h> 12 14 #include <dt-bindings/clock/dra7.h> ··· 1516 1514 target-module@4a0dd000 { 1517 1515 compatible = "ti,sysc-omap4-sr"; 1518 1516 ti,hwmods = "smartreflex_core"; 1519 - reg = <0x4a0dd000 0x4>, 1520 - <0x4a0dd008 0x4>; 1521 - reg-names = "rev", "sysc"; 1517 + reg = <0x4a0dd038 0x4>; 1518 + reg-names = "sysc"; 1519 + ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 1520 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 1521 + <SYSC_IDLE_NO>, 1522 + <SYSC_IDLE_SMART>, 1523 + <SYSC_IDLE_SMART_WKUP>; 1524 + clocks = <&coreaon_clkctrl DRA7_SMARTREFLEX_CORE_CLKCTRL 0>; 1525 + clock-names = "fck"; 1522 1526 #address-cells = <1>; 1523 1527 #size-cells = <1>; 1524 1528 ranges = <0 0x4a0dd000 0x001000>; ··· 1535 1527 target-module@4a0d9000 { 1536 1528 compatible = "ti,sysc-omap4-sr"; 1537 1529 ti,hwmods = "smartreflex_mpu"; 1538 - reg = <0x4a0d9000 0x4>, 1539 - <0x4a0d9008 0x4>; 1540 - reg-names = "rev", "sysc"; 1530 + reg = <0x4a0d9038 0x4>; 1531 + reg-names = "sysc"; 1532 + ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 1533 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 1534 + <SYSC_IDLE_NO>, 1535 + <SYSC_IDLE_SMART>, 1536 + <SYSC_IDLE_SMART_WKUP>; 1537 + clocks = <&coreaon_clkctrl DRA7_SMARTREFLEX_MPU_CLKCTRL 0>; 1538 + clock-names = "fck"; 1541 1539 #address-cells = <1>; 1542 1540 #size-cells = <1>; 1543 1541 ranges = <0 0x4a0d9000 0x001000>;
-14
arch/arm/boot/dts/omap3.dtsi
··· 587 587 dma-names = "rx"; 588 588 }; 589 589 590 - smartreflex_core: smartreflex@480cb000 { 591 - compatible = "ti,omap3-smartreflex-core"; 592 - ti,hwmods = "smartreflex_core"; 593 - reg = <0x480cb000 0x400>; 594 - interrupts = <19>; 595 - }; 596 - 597 - smartreflex_mpu_iva: smartreflex@480c9000 { 598 - compatible = "ti,omap3-smartreflex-mpu-iva"; 599 - ti,hwmods = "smartreflex_mpu_iva"; 600 - reg = <0x480c9000 0x400>; 601 - interrupts = <18>; 602 - }; 603 - 604 590 timer1: timer@48318000 { 605 591 compatible = "ti,omap3430-timer"; 606 592 reg = <0x48318000 0x400>;
+39
arch/arm/boot/dts/omap34xx.dtsi
··· 8 8 * kind, whether express or implied. 9 9 */ 10 10 11 + #include <dt-bindings/bus/ti-sysc.h> 11 12 #include <dt-bindings/media/omap3-isp.h> 12 13 13 14 #include "omap3.dtsi" ··· 61 60 reg = <0x48002524 0x4>; 62 61 compatible = "ti,omap34xx-bandgap"; 63 62 #thermal-sensor-cells = <0>; 63 + }; 64 + 65 + target-module@480cb000 { 66 + compatible = "ti,sysc-omap3430-sr", "ti,sysc"; 67 + ti,hwmods = "smartreflex_core"; 68 + reg = <0x480cb024 0x4>; 69 + reg-names = "sysc"; 70 + ti,sysc-mask = <SYSC_OMAP2_CLOCKACTIVITY>; 71 + clocks = <&sr2_fck>; 72 + clock-names = "fck"; 73 + #address-cells = <1>; 74 + #size-cells = <1>; 75 + ranges = <0 0x480cb000 0x001000>; 76 + 77 + smartreflex_core: smartreflex@0 { 78 + compatible = "ti,omap3-smartreflex-core"; 79 + reg = <0 0x400>; 80 + interrupts = <19>; 81 + }; 82 + }; 83 + 84 + target-module@480c9000 { 85 + compatible = "ti,sysc-omap3430-sr", "ti,sysc"; 86 + ti,hwmods = "smartreflex_mpu_iva"; 87 + reg = <0x480c9024 0x4>; 88 + reg-names = "sysc"; 89 + ti,sysc-mask = <SYSC_OMAP2_CLOCKACTIVITY>; 90 + clocks = <&sr1_fck>; 91 + clock-names = "fck"; 92 + #address-cells = <1>; 93 + #size-cells = <1>; 94 + ranges = <0 0x480c9000 0x001000>; 95 + 96 + smartreflex_mpu_iva: smartreflex@480c9000 { 97 + compatible = "ti,omap3-smartreflex-mpu-iva"; 98 + reg = <0 0x400>; 99 + interrupts = <18>; 100 + }; 64 101 }; 65 102 }; 66 103
+46
arch/arm/boot/dts/omap36xx.dtsi
··· 8 8 * kind, whether express or implied. 9 9 */ 10 10 11 + #include <dt-bindings/bus/ti-sysc.h> 11 12 #include <dt-bindings/media/omap3-isp.h> 12 13 13 14 #include "omap3.dtsi" ··· 93 92 reg = <0x48002524 0x4>; 94 93 compatible = "ti,omap36xx-bandgap"; 95 94 #thermal-sensor-cells = <0>; 95 + }; 96 + 97 + target-module@480cb000 { 98 + compatible = "ti,sysc-omap3630-sr", "ti,sysc"; 99 + ti,hwmods = "smartreflex_core"; 100 + reg = <0x480cb038 0x4>; 101 + reg-names = "sysc"; 102 + ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 103 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 104 + <SYSC_IDLE_NO>, 105 + <SYSC_IDLE_SMART>; 106 + clocks = <&sr2_fck>; 107 + clock-names = "fck"; 108 + #address-cells = <1>; 109 + #size-cells = <1>; 110 + ranges = <0 0x480cb000 0x001000>; 111 + 112 + smartreflex_core: smartreflex@0 { 113 + compatible = "ti,omap3-smartreflex-core"; 114 + reg = <0 0x400>; 115 + interrupts = <19>; 116 + }; 117 + }; 118 + 119 + target-module@480c9000 { 120 + compatible = "ti,sysc-omap3630-sr", "ti,sysc"; 121 + ti,hwmods = "smartreflex_mpu_iva"; 122 + reg = <0x480c9038 0x4>; 123 + reg-names = "sysc"; 124 + ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 125 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 126 + <SYSC_IDLE_NO>, 127 + <SYSC_IDLE_SMART>; 128 + clocks = <&sr1_fck>; 129 + clock-names = "fck"; 130 + #address-cells = <1>; 131 + #size-cells = <1>; 132 + ranges = <0 0x480c9000 0x001000>; 133 + 134 + 135 + smartreflex_mpu_iva: smartreflex@480c9000 { 136 + compatible = "ti,omap3-smartreflex-mpu-iva"; 137 + reg = <0 0x400>; 138 + interrupts = <18>; 139 + }; 96 140 }; 97 141 }; 98 142
+93 -11
arch/arm/boot/dts/omap4.dtsi
··· 6 6 * published by the Free Software Foundation. 7 7 */ 8 8 9 + #include <dt-bindings/bus/ti-sysc.h> 10 + #include <dt-bindings/clock/omap4.h> 9 11 #include <dt-bindings/gpio/gpio.h> 10 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 13 #include <dt-bindings/pinctrl/omap.h> ··· 400 398 reg = <0x48076000 0x4>, 401 399 <0x48076010 0x4>; 402 400 reg-names = "rev", "sysc"; 401 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 402 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 403 + <SYSC_IDLE_NO>, 404 + <SYSC_IDLE_SMART>, 405 + <SYSC_IDLE_SMART_WKUP>; 406 + clocks = <&l4_per_clkctrl OMAP4_SLIMBUS2_CLKCTRL 0>; 407 + clock-names = "fck"; 403 408 #address-cells = <1>; 404 409 #size-cells = <1>; 405 410 ranges = <0 0x48076000 0x001000>; ··· 477 468 target-module@4a0db000 { 478 469 compatible = "ti,sysc-sr"; 479 470 ti,hwmods = "smartreflex_iva"; 480 - reg = <0x4a0db000 0x4>, 481 - <0x4a0db008 0x4>; 482 - reg-names = "rev", "sysc"; 471 + reg = <0x4a0db038 0x4>; 472 + reg-names = "sysc"; 473 + ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 474 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 475 + <SYSC_IDLE_NO>, 476 + <SYSC_IDLE_SMART>, 477 + <SYSC_IDLE_SMART_WKUP>; 478 + clocks = <&l4_ao_clkctrl OMAP4_SMARTREFLEX_IVA_CLKCTRL 0>; 479 + clock-names = "fck"; 483 480 #address-cells = <1>; 484 481 #size-cells = <1>; 485 482 ranges = <0 0x4a0db000 0x001000>; ··· 500 485 target-module@4a0dd000 { 501 486 compatible = "ti,sysc-sr"; 502 487 ti,hwmods = "smartreflex_core"; 503 - reg = <0x4a0dd000 0x4>, 504 - <0x4a0dd008 0x4>; 505 - reg-names = "rev", "sysc"; 488 + reg = <0x4a0dd038 0x4>; 489 + reg-names = "sysc"; 490 + ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 491 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 492 + <SYSC_IDLE_NO>, 493 + <SYSC_IDLE_SMART>, 494 + <SYSC_IDLE_SMART_WKUP>; 495 + clocks = <&l4_ao_clkctrl OMAP4_SMARTREFLEX_CORE_CLKCTRL 0>; 496 + clock-names = "fck"; 506 497 #address-cells = <1>; 507 498 #size-cells = <1>; 508 499 ranges = <0 0x4a0dd000 0x001000>; ··· 523 502 target-module@4a0d9000 { 524 503 compatible = "ti,sysc-sr"; 525 504 ti,hwmods = "smartreflex_mpu"; 526 - reg = <0x4a0d9000 0x4>, 527 - <0x4a0d9008 0x4>; 528 - reg-names = "rev", "sysc"; 505 + reg = <0x4a0d9038 0x4>; 506 + reg-names = "sysc"; 507 + ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>; 508 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 509 + <SYSC_IDLE_NO>, 510 + <SYSC_IDLE_SMART>, 511 + <SYSC_IDLE_SMART_WKUP>; 512 + clocks = <&l4_ao_clkctrl OMAP4_SMARTREFLEX_MPU_CLKCTRL 0>; 513 + clock-names = "fck"; 529 514 #address-cells = <1>; 530 515 #size-cells = <1>; 531 516 ranges = <0 0x4a0d9000 0x001000>; ··· 752 725 reg = <0x52000000 0x4>, 753 726 <0x52000010 0x4>; 754 727 reg-names = "rev", "sysc"; 728 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 729 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 730 + <SYSC_IDLE_NO>, 731 + <SYSC_IDLE_SMART>, 732 + <SYSC_IDLE_SMART_WKUP>; 733 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 734 + <SYSC_IDLE_NO>, 735 + <SYSC_IDLE_SMART>, 736 + <SYSC_IDLE_SMART_WKUP>; 737 + ti,sysc-delay-us = <2>; 738 + clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>; 739 + clock-names = "fck"; 755 740 #address-cells = <1>; 756 741 #size-cells = <1>; 757 742 ranges = <0 0x52000000 0x1000000>; ··· 868 829 target-module@40128000 { 869 830 compatible = "ti,sysc-mcasp"; 870 831 ti,hwmods = "mcasp"; 871 - reg = <0x40128004 0x4>; 872 - reg-names = "sysc"; 832 + reg = <0x40128000 0x4>, 833 + <0x40128004 0x4>; 834 + reg-names = "rev", "sysc"; 835 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 836 + <SYSC_IDLE_NO>, 837 + <SYSC_IDLE_SMART>, 838 + <SYSC_IDLE_SMART_WKUP>; 839 + clocks = <&abe_clkctrl OMAP4_MCASP_CLKCTRL 0>; 840 + clock-names = "fck"; 873 841 #address-cells = <1>; 874 842 #size-cells = <1>; 875 843 ranges = <0x00000000 0x40128000 0x1000>, /* MPU */ ··· 896 850 reg = <0x4012c000 0x4>, 897 851 <0x4012c010 0x4>; 898 852 reg-names = "rev", "sysc"; 853 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 854 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 855 + <SYSC_IDLE_NO>, 856 + <SYSC_IDLE_SMART>, 857 + <SYSC_IDLE_SMART_WKUP>; 858 + clocks = <&abe_clkctrl OMAP4_SLIMBUS1_CLKCTRL 0>; 859 + clock-names = "fck"; 899 860 #address-cells = <1>; 900 861 #size-cells = <1>; 901 862 ranges = <0x00000000 0x4012c000 0x1000>, /* MPU */ ··· 917 864 reg = <0x401f1000 0x4>, 918 865 <0x401f1010 0x4>; 919 866 reg-names = "rev", "sysc"; 867 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 868 + <SYSC_IDLE_NO>, 869 + <SYSC_IDLE_SMART>, 870 + <SYSC_IDLE_SMART_WKUP>; 871 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 872 + <SYSC_IDLE_NO>, 873 + <SYSC_IDLE_SMART>; 874 + clocks = <&abe_clkctrl OMAP4_AESS_CLKCTRL 0>; 875 + clock-names = "fck"; 920 876 #address-cells = <1>; 921 877 #size-cells = <1>; 922 878 ranges = <0x00000000 0x401f1000 0x1000>, /* MPU */ ··· 1032 970 reg = <0x4a10a000 0x4>, 1033 971 <0x4a10a010 0x4>; 1034 972 reg-names = "rev", "sysc"; 973 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 974 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 975 + <SYSC_IDLE_NO>, 976 + <SYSC_IDLE_SMART>; 977 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 978 + <SYSC_IDLE_NO>, 979 + <SYSC_IDLE_SMART>; 980 + ti,sysc-delay-us = <2>; 981 + clocks = <&iss_clkctrl OMAP4_FDIF_CLKCTRL 0>; 982 + clock-names = "fck"; 1035 983 #address-cells = <1>; 1036 984 #size-cells = <1>; 1037 985 ranges = <0 0x4a10a000 0x1000>; ··· 1272 1200 reg = <0x5601fc00 0x4>, 1273 1201 <0x5601fc10 0x4>; 1274 1202 reg-names = "rev", "sysc"; 1203 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 1204 + <SYSC_IDLE_NO>, 1205 + <SYSC_IDLE_SMART>, 1206 + <SYSC_IDLE_SMART_WKUP>; 1207 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 1208 + <SYSC_IDLE_NO>, 1209 + <SYSC_IDLE_SMART>, 1210 + <SYSC_IDLE_SMART_WKUP>; 1211 + clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>; 1212 + clock-names = "fck"; 1275 1213 #address-cells = <1>; 1276 1214 #size-cells = <1>; 1277 1215 ranges = <0 0x56000000 0x2000000>;