diff options
author | Arnd Bergmann <arnd@arndb.de> | 2015-12-31 10:24:09 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2015-12-31 11:36:39 -0500 |
commit | ed1c7848dcadba2be07057e6810eb5825d0080d7 (patch) | |
tree | 3391d179cc950375d5d91209a7de71724884d6da | |
parent | d6de5b0294d74aefa16f78d050d1bcf6d5af84a7 (diff) | |
parent | f53850b5dc625ca37ae84b47f4f92b1d55df2aa0 (diff) |
Merge tag 'omap-for-v4.5/81xx-soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
Pull "reworked soc changes for ti81xx devices and minimal dra62x
j5ec-evm support" from Tony Lindgren:
Add minimal SoC support for dra62x also known as j5eco. As it's closely
related to dm814x, we can treat it as a dm814x variant for now and do
rest of the configuration with DTS just files. And let's add hwmod
support for MMC and USB on dm814x and dra62x.
* tag 'omap-for-v4.5/81xx-soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Add support for dm814x and dra62x usb
ARM: OMAP2+: Add mmc hwmod entries for dm814x
ARM: OMAP2+: Update 81xx clock and power domains for default, active and sgx
ARM: OMAP2+: Fix SoC detection for dra62x j5-eco
-rw-r--r-- | arch/arm/mach-omap2/clockdomains81xx_data.c | 29 | ||||
-rw-r--r-- | arch/arm/mach-omap2/cm81xx.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/id.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 131 | ||||
-rw-r--r-- | arch/arm/mach-omap2/powerdomains3xxx_data.c | 10 |
5 files changed, 139 insertions, 41 deletions
diff --git a/arch/arm/mach-omap2/clockdomains81xx_data.c b/arch/arm/mach-omap2/clockdomains81xx_data.c index 53442c86a820..3b5fb05ae701 100644 --- a/arch/arm/mach-omap2/clockdomains81xx_data.c +++ b/arch/arm/mach-omap2/clockdomains81xx_data.c | |||
@@ -83,6 +83,14 @@ static struct clockdomain mmu_cfg_81xx_clkdm = { | |||
83 | .flags = CLKDM_CAN_SWSUP, | 83 | .flags = CLKDM_CAN_SWSUP, |
84 | }; | 84 | }; |
85 | 85 | ||
86 | static struct clockdomain default_l3_slow_81xx_clkdm = { | ||
87 | .name = "default_l3_slow_clkdm", | ||
88 | .pwrdm = { .name = "default_pwrdm" }, | ||
89 | .cm_inst = TI81XX_CM_DEFAULT_MOD, | ||
90 | .clkdm_offs = TI816X_CM_DEFAULT_L3_SLOW_CLKDM, | ||
91 | .flags = CLKDM_CAN_SWSUP, | ||
92 | }; | ||
93 | |||
86 | /* 816x only */ | 94 | /* 816x only */ |
87 | 95 | ||
88 | static struct clockdomain alwon_mpu_816x_clkdm = { | 96 | static struct clockdomain alwon_mpu_816x_clkdm = { |
@@ -96,7 +104,7 @@ static struct clockdomain alwon_mpu_816x_clkdm = { | |||
96 | static struct clockdomain active_gem_816x_clkdm = { | 104 | static struct clockdomain active_gem_816x_clkdm = { |
97 | .name = "active_gem_clkdm", | 105 | .name = "active_gem_clkdm", |
98 | .pwrdm = { .name = "active_pwrdm" }, | 106 | .pwrdm = { .name = "active_pwrdm" }, |
99 | .cm_inst = TI816X_CM_ACTIVE_MOD, | 107 | .cm_inst = TI81XX_CM_ACTIVE_MOD, |
100 | .clkdm_offs = TI816X_CM_ACTIVE_GEM_CLKDM, | 108 | .clkdm_offs = TI816X_CM_ACTIVE_GEM_CLKDM, |
101 | .flags = CLKDM_CAN_SWSUP, | 109 | .flags = CLKDM_CAN_SWSUP, |
102 | }; | 110 | }; |
@@ -128,7 +136,7 @@ static struct clockdomain ivahd2_816x_clkdm = { | |||
128 | static struct clockdomain sgx_816x_clkdm = { | 136 | static struct clockdomain sgx_816x_clkdm = { |
129 | .name = "sgx_clkdm", | 137 | .name = "sgx_clkdm", |
130 | .pwrdm = { .name = "sgx_pwrdm" }, | 138 | .pwrdm = { .name = "sgx_pwrdm" }, |
131 | .cm_inst = TI816X_CM_SGX_MOD, | 139 | .cm_inst = TI81XX_CM_SGX_MOD, |
132 | .clkdm_offs = TI816X_CM_SGX_CLKDM, | 140 | .clkdm_offs = TI816X_CM_SGX_CLKDM, |
133 | .flags = CLKDM_CAN_SWSUP, | 141 | .flags = CLKDM_CAN_SWSUP, |
134 | }; | 142 | }; |
@@ -136,7 +144,7 @@ static struct clockdomain sgx_816x_clkdm = { | |||
136 | static struct clockdomain default_l3_med_816x_clkdm = { | 144 | static struct clockdomain default_l3_med_816x_clkdm = { |
137 | .name = "default_l3_med_clkdm", | 145 | .name = "default_l3_med_clkdm", |
138 | .pwrdm = { .name = "default_pwrdm" }, | 146 | .pwrdm = { .name = "default_pwrdm" }, |
139 | .cm_inst = TI816X_CM_DEFAULT_MOD, | 147 | .cm_inst = TI81XX_CM_DEFAULT_MOD, |
140 | .clkdm_offs = TI816X_CM_DEFAULT_L3_MED_CLKDM, | 148 | .clkdm_offs = TI816X_CM_DEFAULT_L3_MED_CLKDM, |
141 | .flags = CLKDM_CAN_SWSUP, | 149 | .flags = CLKDM_CAN_SWSUP, |
142 | }; | 150 | }; |
@@ -144,7 +152,7 @@ static struct clockdomain default_l3_med_816x_clkdm = { | |||
144 | static struct clockdomain default_ducati_816x_clkdm = { | 152 | static struct clockdomain default_ducati_816x_clkdm = { |
145 | .name = "default_ducati_clkdm", | 153 | .name = "default_ducati_clkdm", |
146 | .pwrdm = { .name = "default_pwrdm" }, | 154 | .pwrdm = { .name = "default_pwrdm" }, |
147 | .cm_inst = TI816X_CM_DEFAULT_MOD, | 155 | .cm_inst = TI81XX_CM_DEFAULT_MOD, |
148 | .clkdm_offs = TI816X_CM_DEFAULT_DUCATI_CLKDM, | 156 | .clkdm_offs = TI816X_CM_DEFAULT_DUCATI_CLKDM, |
149 | .flags = CLKDM_CAN_SWSUP, | 157 | .flags = CLKDM_CAN_SWSUP, |
150 | }; | 158 | }; |
@@ -152,19 +160,11 @@ static struct clockdomain default_ducati_816x_clkdm = { | |||
152 | static struct clockdomain default_pci_816x_clkdm = { | 160 | static struct clockdomain default_pci_816x_clkdm = { |
153 | .name = "default_pci_clkdm", | 161 | .name = "default_pci_clkdm", |
154 | .pwrdm = { .name = "default_pwrdm" }, | 162 | .pwrdm = { .name = "default_pwrdm" }, |
155 | .cm_inst = TI816X_CM_DEFAULT_MOD, | 163 | .cm_inst = TI81XX_CM_DEFAULT_MOD, |
156 | .clkdm_offs = TI816X_CM_DEFAULT_PCI_CLKDM, | 164 | .clkdm_offs = TI816X_CM_DEFAULT_PCI_CLKDM, |
157 | .flags = CLKDM_CAN_SWSUP, | 165 | .flags = CLKDM_CAN_SWSUP, |
158 | }; | 166 | }; |
159 | 167 | ||
160 | static struct clockdomain default_l3_slow_816x_clkdm = { | ||
161 | .name = "default_l3_slow_clkdm", | ||
162 | .pwrdm = { .name = "default_pwrdm" }, | ||
163 | .cm_inst = TI816X_CM_DEFAULT_MOD, | ||
164 | .clkdm_offs = TI816X_CM_DEFAULT_L3_SLOW_CLKDM, | ||
165 | .flags = CLKDM_CAN_SWSUP, | ||
166 | }; | ||
167 | |||
168 | static struct clockdomain *clockdomains_ti814x[] __initdata = { | 168 | static struct clockdomain *clockdomains_ti814x[] __initdata = { |
169 | &alwon_l3_slow_81xx_clkdm, | 169 | &alwon_l3_slow_81xx_clkdm, |
170 | &alwon_l3_med_81xx_clkdm, | 170 | &alwon_l3_med_81xx_clkdm, |
@@ -172,6 +172,7 @@ static struct clockdomain *clockdomains_ti814x[] __initdata = { | |||
172 | &alwon_ethernet_81xx_clkdm, | 172 | &alwon_ethernet_81xx_clkdm, |
173 | &mmu_81xx_clkdm, | 173 | &mmu_81xx_clkdm, |
174 | &mmu_cfg_81xx_clkdm, | 174 | &mmu_cfg_81xx_clkdm, |
175 | &default_l3_slow_81xx_clkdm, | ||
175 | NULL, | 176 | NULL, |
176 | }; | 177 | }; |
177 | 178 | ||
@@ -198,7 +199,7 @@ static struct clockdomain *clockdomains_ti816x[] __initdata = { | |||
198 | &default_l3_med_816x_clkdm, | 199 | &default_l3_med_816x_clkdm, |
199 | &default_ducati_816x_clkdm, | 200 | &default_ducati_816x_clkdm, |
200 | &default_pci_816x_clkdm, | 201 | &default_pci_816x_clkdm, |
201 | &default_l3_slow_816x_clkdm, | 202 | &default_l3_slow_81xx_clkdm, |
202 | NULL, | 203 | NULL, |
203 | }; | 204 | }; |
204 | 205 | ||
diff --git a/arch/arm/mach-omap2/cm81xx.h b/arch/arm/mach-omap2/cm81xx.h index 45cb407da222..3a0ccf07c76f 100644 --- a/arch/arm/mach-omap2/cm81xx.h +++ b/arch/arm/mach-omap2/cm81xx.h | |||
@@ -18,15 +18,15 @@ | |||
18 | #define __ARCH_ARM_MACH_OMAP2_CM_TI81XX_H | 18 | #define __ARCH_ARM_MACH_OMAP2_CM_TI81XX_H |
19 | 19 | ||
20 | /* TI81XX common CM module offsets */ | 20 | /* TI81XX common CM module offsets */ |
21 | #define TI81XX_CM_ACTIVE_MOD 0x0400 /* 256B */ | ||
22 | #define TI81XX_CM_DEFAULT_MOD 0x0500 /* 256B */ | ||
21 | #define TI81XX_CM_ALWON_MOD 0x1400 /* 1KB */ | 23 | #define TI81XX_CM_ALWON_MOD 0x1400 /* 1KB */ |
24 | #define TI81XX_CM_SGX_MOD 0x0900 /* 256B */ | ||
22 | 25 | ||
23 | /* TI816X CM module offsets */ | 26 | /* TI816X CM module offsets */ |
24 | #define TI816X_CM_ACTIVE_MOD 0x0400 /* 256B */ | ||
25 | #define TI816X_CM_DEFAULT_MOD 0x0500 /* 256B */ | ||
26 | #define TI816X_CM_IVAHD0_MOD 0x0600 /* 256B */ | 27 | #define TI816X_CM_IVAHD0_MOD 0x0600 /* 256B */ |
27 | #define TI816X_CM_IVAHD1_MOD 0x0700 /* 256B */ | 28 | #define TI816X_CM_IVAHD1_MOD 0x0700 /* 256B */ |
28 | #define TI816X_CM_IVAHD2_MOD 0x0800 /* 256B */ | 29 | #define TI816X_CM_IVAHD2_MOD 0x0800 /* 256B */ |
29 | #define TI816X_CM_SGX_MOD 0x0900 /* 256B */ | ||
30 | 30 | ||
31 | /* ALWON */ | 31 | /* ALWON */ |
32 | #define TI81XX_CM_ALWON_L3_SLOW_CLKDM 0x0000 | 32 | #define TI81XX_CM_ALWON_L3_SLOW_CLKDM 0x0000 |
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 8a2ae82cb227..d85c24918c17 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c | |||
@@ -488,6 +488,7 @@ void __init omap3xxx_check_revision(void) | |||
488 | } | 488 | } |
489 | break; | 489 | break; |
490 | case 0xb8f2: | 490 | case 0xb8f2: |
491 | case 0xb968: | ||
491 | switch (rev) { | 492 | switch (rev) { |
492 | case 0: | 493 | case 0: |
493 | /* FALLTHROUGH */ | 494 | /* FALLTHROUGH */ |
@@ -511,7 +512,8 @@ void __init omap3xxx_check_revision(void) | |||
511 | /* Unknown default to latest silicon rev as default */ | 512 | /* Unknown default to latest silicon rev as default */ |
512 | omap_revision = OMAP3630_REV_ES1_2; | 513 | omap_revision = OMAP3630_REV_ES1_2; |
513 | cpu_rev = "1.2"; | 514 | cpu_rev = "1.2"; |
514 | pr_warn("Warning: unknown chip type; assuming OMAP3630ES1.2\n"); | 515 | pr_warn("Warning: unknown chip type: hawkeye %04x, assuming OMAP3630ES1.2\n", |
516 | hawkeye); | ||
515 | } | 517 | } |
516 | sprintf(soc_rev, "ES%s", cpu_rev); | 518 | sprintf(soc_rev, "ES%s", cpu_rev); |
517 | } | 519 | } |
diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c index 275b16c7c417..27f4e197d949 100644 --- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c | |||
@@ -104,8 +104,8 @@ | |||
104 | * The default .clkctrl_offs field is offset from CM_DEFAULT, that's | 104 | * The default .clkctrl_offs field is offset from CM_DEFAULT, that's |
105 | * TRM 18.7.6 CM_DEFAULT device register values minus 0x500 | 105 | * TRM 18.7.6 CM_DEFAULT device register values minus 0x500 |
106 | */ | 106 | */ |
107 | #define DM816X_CM_DEFAULT_OFFSET 0x500 | 107 | #define DM81XX_CM_DEFAULT_OFFSET 0x500 |
108 | #define DM816X_CM_DEFAULT_USB_CLKCTRL (0x558 - DM816X_CM_DEFAULT_OFFSET) | 108 | #define DM81XX_CM_DEFAULT_USB_CLKCTRL (0x558 - DM81XX_CM_DEFAULT_OFFSET) |
109 | 109 | ||
110 | /* L3 Interconnect entries clocked at 125, 250 and 500MHz */ | 110 | /* L3 Interconnect entries clocked at 125, 250 and 500MHz */ |
111 | static struct omap_hwmod dm81xx_alwon_l3_slow_hwmod = { | 111 | static struct omap_hwmod dm81xx_alwon_l3_slow_hwmod = { |
@@ -557,22 +557,42 @@ static struct omap_hwmod_class dm81xx_usbotg_class = { | |||
557 | .sysc = &dm81xx_usbhsotg_sysc, | 557 | .sysc = &dm81xx_usbhsotg_sysc, |
558 | }; | 558 | }; |
559 | 559 | ||
560 | static struct omap_hwmod dm81xx_usbss_hwmod = { | 560 | static struct omap_hwmod dm814x_usbss_hwmod = { |
561 | .name = "usb_otg_hs", | ||
562 | .clkdm_name = "default_l3_slow_clkdm", | ||
563 | .main_clk = "pll260dcoclkldo", /* 481c5260.adpll.dcoclkldo */ | ||
564 | .prcm = { | ||
565 | .omap4 = { | ||
566 | .clkctrl_offs = DM81XX_CM_DEFAULT_USB_CLKCTRL, | ||
567 | .modulemode = MODULEMODE_SWCTRL, | ||
568 | }, | ||
569 | }, | ||
570 | .class = &dm81xx_usbotg_class, | ||
571 | }; | ||
572 | |||
573 | static struct omap_hwmod_ocp_if dm814x_default_l3_slow__usbss = { | ||
574 | .master = &dm81xx_default_l3_slow_hwmod, | ||
575 | .slave = &dm814x_usbss_hwmod, | ||
576 | .clk = "sysclk6_ck", | ||
577 | .user = OCP_USER_MPU, | ||
578 | }; | ||
579 | |||
580 | static struct omap_hwmod dm816x_usbss_hwmod = { | ||
561 | .name = "usb_otg_hs", | 581 | .name = "usb_otg_hs", |
562 | .clkdm_name = "default_l3_slow_clkdm", | 582 | .clkdm_name = "default_l3_slow_clkdm", |
563 | .main_clk = "sysclk6_ck", | 583 | .main_clk = "sysclk6_ck", |
564 | .prcm = { | 584 | .prcm = { |
565 | .omap4 = { | 585 | .omap4 = { |
566 | .clkctrl_offs = DM816X_CM_DEFAULT_USB_CLKCTRL, | 586 | .clkctrl_offs = DM81XX_CM_DEFAULT_USB_CLKCTRL, |
567 | .modulemode = MODULEMODE_SWCTRL, | 587 | .modulemode = MODULEMODE_SWCTRL, |
568 | }, | 588 | }, |
569 | }, | 589 | }, |
570 | .class = &dm81xx_usbotg_class, | 590 | .class = &dm81xx_usbotg_class, |
571 | }; | 591 | }; |
572 | 592 | ||
573 | static struct omap_hwmod_ocp_if dm81xx_default_l3_slow__usbss = { | 593 | static struct omap_hwmod_ocp_if dm816x_default_l3_slow__usbss = { |
574 | .master = &dm81xx_default_l3_slow_hwmod, | 594 | .master = &dm81xx_default_l3_slow_hwmod, |
575 | .slave = &dm81xx_usbss_hwmod, | 595 | .slave = &dm816x_usbss_hwmod, |
576 | .clk = "sysclk6_ck", | 596 | .clk = "sysclk6_ck", |
577 | .user = OCP_USER_MPU, | 597 | .user = OCP_USER_MPU, |
578 | }; | 598 | }; |
@@ -912,7 +932,7 @@ static struct omap_hwmod_ocp_if dm816x_l4_hs__emac1 = { | |||
912 | .user = OCP_USER_MPU, | 932 | .user = OCP_USER_MPU, |
913 | }; | 933 | }; |
914 | 934 | ||
915 | static struct omap_hwmod_class_sysconfig dm816x_mmc_sysc = { | 935 | static struct omap_hwmod_class_sysconfig dm81xx_mmc_sysc = { |
916 | .rev_offs = 0x0, | 936 | .rev_offs = 0x0, |
917 | .sysc_offs = 0x110, | 937 | .sysc_offs = 0x110, |
918 | .syss_offs = 0x114, | 938 | .syss_offs = 0x114, |
@@ -923,24 +943,94 @@ static struct omap_hwmod_class_sysconfig dm816x_mmc_sysc = { | |||
923 | .sysc_fields = &omap_hwmod_sysc_type1, | 943 | .sysc_fields = &omap_hwmod_sysc_type1, |
924 | }; | 944 | }; |
925 | 945 | ||
926 | static struct omap_hwmod_class dm816x_mmc_class = { | 946 | static struct omap_hwmod_class dm81xx_mmc_class = { |
927 | .name = "mmc", | 947 | .name = "mmc", |
928 | .sysc = &dm816x_mmc_sysc, | 948 | .sysc = &dm81xx_mmc_sysc, |
929 | }; | 949 | }; |
930 | 950 | ||
931 | static struct omap_hwmod_opt_clk dm816x_mmc1_opt_clks[] = { | 951 | static struct omap_hwmod_opt_clk dm81xx_mmc_opt_clks[] = { |
932 | { .role = "dbck", .clk = "sysclk18_ck", }, | 952 | { .role = "dbck", .clk = "sysclk18_ck", }, |
933 | }; | 953 | }; |
934 | 954 | ||
935 | static struct omap_hsmmc_dev_attr mmc1_dev_attr = { | 955 | static struct omap_hsmmc_dev_attr mmc_dev_attr = { |
936 | .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT, | 956 | }; |
957 | |||
958 | static struct omap_hwmod dm814x_mmc1_hwmod = { | ||
959 | .name = "mmc1", | ||
960 | .clkdm_name = "alwon_l3s_clkdm", | ||
961 | .opt_clks = dm81xx_mmc_opt_clks, | ||
962 | .opt_clks_cnt = ARRAY_SIZE(dm81xx_mmc_opt_clks), | ||
963 | .main_clk = "sysclk8_ck", | ||
964 | .prcm = { | ||
965 | .omap4 = { | ||
966 | .clkctrl_offs = DM814X_CM_ALWON_MMCHS_0_CLKCTRL, | ||
967 | .modulemode = MODULEMODE_SWCTRL, | ||
968 | }, | ||
969 | }, | ||
970 | .dev_attr = &mmc_dev_attr, | ||
971 | .class = &dm81xx_mmc_class, | ||
972 | }; | ||
973 | |||
974 | static struct omap_hwmod_ocp_if dm814x_l4_ls__mmc1 = { | ||
975 | .master = &dm81xx_l4_ls_hwmod, | ||
976 | .slave = &dm814x_mmc1_hwmod, | ||
977 | .clk = "sysclk6_ck", | ||
978 | .user = OCP_USER_MPU, | ||
979 | .flags = OMAP_FIREWALL_L4 | ||
980 | }; | ||
981 | |||
982 | static struct omap_hwmod dm814x_mmc2_hwmod = { | ||
983 | .name = "mmc2", | ||
984 | .clkdm_name = "alwon_l3s_clkdm", | ||
985 | .opt_clks = dm81xx_mmc_opt_clks, | ||
986 | .opt_clks_cnt = ARRAY_SIZE(dm81xx_mmc_opt_clks), | ||
987 | .main_clk = "sysclk8_ck", | ||
988 | .prcm = { | ||
989 | .omap4 = { | ||
990 | .clkctrl_offs = DM814X_CM_ALWON_MMCHS_1_CLKCTRL, | ||
991 | .modulemode = MODULEMODE_SWCTRL, | ||
992 | }, | ||
993 | }, | ||
994 | .dev_attr = &mmc_dev_attr, | ||
995 | .class = &dm81xx_mmc_class, | ||
996 | }; | ||
997 | |||
998 | static struct omap_hwmod_ocp_if dm814x_l4_ls__mmc2 = { | ||
999 | .master = &dm81xx_l4_ls_hwmod, | ||
1000 | .slave = &dm814x_mmc2_hwmod, | ||
1001 | .clk = "sysclk6_ck", | ||
1002 | .user = OCP_USER_MPU, | ||
1003 | .flags = OMAP_FIREWALL_L4 | ||
1004 | }; | ||
1005 | |||
1006 | static struct omap_hwmod dm814x_mmc3_hwmod = { | ||
1007 | .name = "mmc3", | ||
1008 | .clkdm_name = "alwon_l3_med_clkdm", | ||
1009 | .opt_clks = dm81xx_mmc_opt_clks, | ||
1010 | .opt_clks_cnt = ARRAY_SIZE(dm81xx_mmc_opt_clks), | ||
1011 | .main_clk = "sysclk8_ck", | ||
1012 | .prcm = { | ||
1013 | .omap4 = { | ||
1014 | .clkctrl_offs = DM814X_CM_ALWON_MMCHS_2_CLKCTRL, | ||
1015 | .modulemode = MODULEMODE_SWCTRL, | ||
1016 | }, | ||
1017 | }, | ||
1018 | .dev_attr = &mmc_dev_attr, | ||
1019 | .class = &dm81xx_mmc_class, | ||
1020 | }; | ||
1021 | |||
1022 | static struct omap_hwmod_ocp_if dm814x_alwon_l3_med__mmc3 = { | ||
1023 | .master = &dm81xx_alwon_l3_med_hwmod, | ||
1024 | .slave = &dm814x_mmc3_hwmod, | ||
1025 | .clk = "sysclk4_ck", | ||
1026 | .user = OCP_USER_MPU, | ||
937 | }; | 1027 | }; |
938 | 1028 | ||
939 | static struct omap_hwmod dm816x_mmc1_hwmod = { | 1029 | static struct omap_hwmod dm816x_mmc1_hwmod = { |
940 | .name = "mmc1", | 1030 | .name = "mmc1", |
941 | .clkdm_name = "alwon_l3s_clkdm", | 1031 | .clkdm_name = "alwon_l3s_clkdm", |
942 | .opt_clks = dm816x_mmc1_opt_clks, | 1032 | .opt_clks = dm81xx_mmc_opt_clks, |
943 | .opt_clks_cnt = ARRAY_SIZE(dm816x_mmc1_opt_clks), | 1033 | .opt_clks_cnt = ARRAY_SIZE(dm81xx_mmc_opt_clks), |
944 | .main_clk = "sysclk10_ck", | 1034 | .main_clk = "sysclk10_ck", |
945 | .prcm = { | 1035 | .prcm = { |
946 | .omap4 = { | 1036 | .omap4 = { |
@@ -948,8 +1038,8 @@ static struct omap_hwmod dm816x_mmc1_hwmod = { | |||
948 | .modulemode = MODULEMODE_SWCTRL, | 1038 | .modulemode = MODULEMODE_SWCTRL, |
949 | }, | 1039 | }, |
950 | }, | 1040 | }, |
951 | .dev_attr = &mmc1_dev_attr, | 1041 | .dev_attr = &mmc_dev_attr, |
952 | .class = &dm816x_mmc_class, | 1042 | .class = &dm81xx_mmc_class, |
953 | }; | 1043 | }; |
954 | 1044 | ||
955 | static struct omap_hwmod_ocp_if dm816x_l4_ls__mmc1 = { | 1045 | static struct omap_hwmod_ocp_if dm816x_l4_ls__mmc1 = { |
@@ -1267,8 +1357,6 @@ static struct omap_hwmod_ocp_if dm81xx_tptc3__alwon_l3_fast = { | |||
1267 | * dm81xx_l4_ls__gpio1 | 1357 | * dm81xx_l4_ls__gpio1 |
1268 | * dm81xx_l4_ls__gpio2 | 1358 | * dm81xx_l4_ls__gpio2 |
1269 | * dm81xx_l4_ls__mailbox | 1359 | * dm81xx_l4_ls__mailbox |
1270 | * dm81xx_alwon_l3_slow__gpmc | ||
1271 | * dm81xx_default_l3_slow__usbss | ||
1272 | * | 1360 | * |
1273 | * Also note that some devices share a single clkctrl_offs.. | 1361 | * Also note that some devices share a single clkctrl_offs.. |
1274 | * For example, i2c1 and 3 share one, and i2c2 and 4 share one. | 1362 | * For example, i2c1 and 3 share one, and i2c2 and 4 share one. |
@@ -1286,6 +1374,8 @@ static struct omap_hwmod_ocp_if *dm814x_hwmod_ocp_ifs[] __initdata = { | |||
1286 | &dm81xx_l4_ls__i2c2, | 1374 | &dm81xx_l4_ls__i2c2, |
1287 | &dm81xx_l4_ls__elm, | 1375 | &dm81xx_l4_ls__elm, |
1288 | &dm81xx_l4_ls__mcspi1, | 1376 | &dm81xx_l4_ls__mcspi1, |
1377 | &dm814x_l4_ls__mmc1, | ||
1378 | &dm814x_l4_ls__mmc2, | ||
1289 | &dm81xx_alwon_l3_fast__tpcc, | 1379 | &dm81xx_alwon_l3_fast__tpcc, |
1290 | &dm81xx_alwon_l3_fast__tptc0, | 1380 | &dm81xx_alwon_l3_fast__tptc0, |
1291 | &dm81xx_alwon_l3_fast__tptc1, | 1381 | &dm81xx_alwon_l3_fast__tptc1, |
@@ -1299,6 +1389,9 @@ static struct omap_hwmod_ocp_if *dm814x_hwmod_ocp_ifs[] __initdata = { | |||
1299 | &dm814x_l4_ls__timer2, | 1389 | &dm814x_l4_ls__timer2, |
1300 | &dm814x_l4_hs__cpgmac0, | 1390 | &dm814x_l4_hs__cpgmac0, |
1301 | &dm814x_cpgmac0__mdio, | 1391 | &dm814x_cpgmac0__mdio, |
1392 | &dm81xx_alwon_l3_slow__gpmc, | ||
1393 | &dm814x_default_l3_slow__usbss, | ||
1394 | &dm814x_alwon_l3_med__mmc3, | ||
1302 | NULL, | 1395 | NULL, |
1303 | }; | 1396 | }; |
1304 | 1397 | ||
@@ -1346,7 +1439,7 @@ static struct omap_hwmod_ocp_if *dm816x_hwmod_ocp_ifs[] __initdata = { | |||
1346 | &dm81xx_tptc2__alwon_l3_fast, | 1439 | &dm81xx_tptc2__alwon_l3_fast, |
1347 | &dm81xx_tptc3__alwon_l3_fast, | 1440 | &dm81xx_tptc3__alwon_l3_fast, |
1348 | &dm81xx_alwon_l3_slow__gpmc, | 1441 | &dm81xx_alwon_l3_slow__gpmc, |
1349 | &dm81xx_default_l3_slow__usbss, | 1442 | &dm816x_default_l3_slow__usbss, |
1350 | NULL, | 1443 | NULL, |
1351 | }; | 1444 | }; |
1352 | 1445 | ||
diff --git a/arch/arm/mach-omap2/powerdomains3xxx_data.c b/arch/arm/mach-omap2/powerdomains3xxx_data.c index 2e00c7f1f471..eb27ae066292 100644 --- a/arch/arm/mach-omap2/powerdomains3xxx_data.c +++ b/arch/arm/mach-omap2/powerdomains3xxx_data.c | |||
@@ -384,14 +384,14 @@ static struct powerdomain isp_814x_pwrdm = { | |||
384 | .voltdm = { .name = "core" }, | 384 | .voltdm = { .name = "core" }, |
385 | }; | 385 | }; |
386 | 386 | ||
387 | static struct powerdomain active_816x_pwrdm = { | 387 | static struct powerdomain active_81xx_pwrdm = { |
388 | .name = "active_pwrdm", | 388 | .name = "active_pwrdm", |
389 | .prcm_offs = TI816X_PRM_ACTIVE_MOD, | 389 | .prcm_offs = TI816X_PRM_ACTIVE_MOD, |
390 | .pwrsts = PWRSTS_OFF_ON, | 390 | .pwrsts = PWRSTS_OFF_ON, |
391 | .voltdm = { .name = "core" }, | 391 | .voltdm = { .name = "core" }, |
392 | }; | 392 | }; |
393 | 393 | ||
394 | static struct powerdomain default_816x_pwrdm = { | 394 | static struct powerdomain default_81xx_pwrdm = { |
395 | .name = "default_pwrdm", | 395 | .name = "default_pwrdm", |
396 | .prcm_offs = TI81XX_PRM_DEFAULT_MOD, | 396 | .prcm_offs = TI81XX_PRM_DEFAULT_MOD, |
397 | .pwrsts = PWRSTS_OFF_ON, | 397 | .pwrsts = PWRSTS_OFF_ON, |
@@ -486,6 +486,8 @@ static struct powerdomain *powerdomains_am35x[] __initdata = { | |||
486 | static struct powerdomain *powerdomains_ti814x[] __initdata = { | 486 | static struct powerdomain *powerdomains_ti814x[] __initdata = { |
487 | &alwon_81xx_pwrdm, | 487 | &alwon_81xx_pwrdm, |
488 | &device_81xx_pwrdm, | 488 | &device_81xx_pwrdm, |
489 | &active_81xx_pwrdm, | ||
490 | &default_81xx_pwrdm, | ||
489 | &gem_814x_pwrdm, | 491 | &gem_814x_pwrdm, |
490 | &ivahd_814x_pwrdm, | 492 | &ivahd_814x_pwrdm, |
491 | &hdvpss_814x_pwrdm, | 493 | &hdvpss_814x_pwrdm, |
@@ -497,8 +499,8 @@ static struct powerdomain *powerdomains_ti814x[] __initdata = { | |||
497 | static struct powerdomain *powerdomains_ti816x[] __initdata = { | 499 | static struct powerdomain *powerdomains_ti816x[] __initdata = { |
498 | &alwon_81xx_pwrdm, | 500 | &alwon_81xx_pwrdm, |
499 | &device_81xx_pwrdm, | 501 | &device_81xx_pwrdm, |
500 | &active_816x_pwrdm, | 502 | &active_81xx_pwrdm, |
501 | &default_816x_pwrdm, | 503 | &default_81xx_pwrdm, |
502 | &ivahd0_816x_pwrdm, | 504 | &ivahd0_816x_pwrdm, |
503 | &ivahd1_816x_pwrdm, | 505 | &ivahd1_816x_pwrdm, |
504 | &ivahd2_816x_pwrdm, | 506 | &ivahd2_816x_pwrdm, |