aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-07-29 11:31:33 -0400
committerArnd Bergmann <arnd@arndb.de>2014-07-29 11:31:33 -0400
commit537994aa4708d26a577024b355ad1318ad49b552 (patch)
tree7b5d4063498d6e84df0ccba73ce49b45d737725b
parentce58d2baf53c5f9ce9836b99328b419fed40fcbd (diff)
parentcbf14f3ab9bd6295b345fc812f08ddd844fb183e (diff)
Merge branch 'omap-for-v3.17/mailbox' into next/drivers
This is a dependency for the mailbox driver code and gets merged through the soc branch * branch 'omap-for-v3.17/mailbox': ARM: AM33xx: hwmod_data: Remove legacy mailbox addrs ARM: OMAP4: hwmod_data: Remove legacy mailbox addrs ARM: OMAP2: hwmod_data: Remove legacy mailbox data and addrs ARM: OMAP2+: Avoid mailbox legacy device creation for DT-boot ARM: DRA7: hwmod_data: Add mailbox hwmod data ARM: dts: DRA7: Add mailbox nodes ARM: dts: AM4372: Correct mailbox node data ARM: dts: AM33xx: Add mailbox node ARM: dts: OMAP4: Add mailbox node ARM: dts: OMAP2+: Add mailbox fifo and user information Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arm/boot/dts/am33xx.dtsi9
-rw-r--r--arch/arm/boot/dts/am4372.dtsi3
-rw-r--r--arch/arm/boot/dts/dra7.dtsi117
-rw-r--r--arch/arm/boot/dts/omap2420.dtsi2
-rw-r--r--arch/arm/boot/dts/omap2430.dtsi2
-rw-r--r--arch/arm/boot/dts/omap3.dtsi2
-rw-r--r--arch/arm/boot/dts/omap4.dtsi9
-rw-r--r--arch/arm/boot/dts/omap5.dtsi2
-rw-r--r--arch/arm/mach-omap2/devices.c2
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2420_data.c14
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2430_data.c13
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c9
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c10
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_44xx_data.c10
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_7xx_data.c305
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_common_data.h1
16 files changed, 449 insertions, 61 deletions
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 4a4e02d0ce9e..3a0a161342ba 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -347,6 +347,15 @@
347 status = "disabled"; 347 status = "disabled";
348 }; 348 };
349 349
350 mailbox: mailbox@480C8000 {
351 compatible = "ti,omap4-mailbox";
352 reg = <0x480C8000 0x200>;
353 interrupts = <77>;
354 ti,hwmods = "mailbox";
355 ti,mbox-num-users = <4>;
356 ti,mbox-num-fifos = <8>;
357 };
358
350 timer1: timer@44e31000 { 359 timer1: timer@44e31000 {
351 compatible = "ti,am335x-timer-1ms"; 360 compatible = "ti,am335x-timer-1ms";
352 reg = <0x44e31000 0x400>; 361 reg = <0x44e31000 0x400>;
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 49fa59622254..c9aee0e799bb 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -168,9 +168,6 @@
168 ti,hwmods = "mailbox"; 168 ti,hwmods = "mailbox";
169 ti,mbox-num-users = <4>; 169 ti,mbox-num-users = <4>;
170 ti,mbox-num-fifos = <8>; 170 ti,mbox-num-fifos = <8>;
171 ti,mbox-names = "wkup_m3";
172 ti,mbox-data = <0 0 0 0>;
173 status = "disabled";
174 }; 171 };
175 172
176 timer1: timer@44e31000 { 173 timer1: timer@44e31000 {
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index c29945e07c5a..99c40d476186 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -338,6 +338,123 @@
338 status = "disabled"; 338 status = "disabled";
339 }; 339 };
340 340
341 mailbox1: mailbox@4a0f4000 {
342 compatible = "ti,omap4-mailbox";
343 reg = <0x4a0f4000 0x200>;
344 ti,hwmods = "mailbox1";
345 ti,mbox-num-users = <3>;
346 ti,mbox-num-fifos = <8>;
347 status = "disabled";
348 };
349
350 mailbox2: mailbox@4883a000 {
351 compatible = "ti,omap4-mailbox";
352 reg = <0x4883a000 0x200>;
353 ti,hwmods = "mailbox2";
354 ti,mbox-num-users = <4>;
355 ti,mbox-num-fifos = <12>;
356 status = "disabled";
357 };
358
359 mailbox3: mailbox@4883c000 {
360 compatible = "ti,omap4-mailbox";
361 reg = <0x4883c000 0x200>;
362 ti,hwmods = "mailbox3";
363 ti,mbox-num-users = <4>;
364 ti,mbox-num-fifos = <12>;
365 status = "disabled";
366 };
367
368 mailbox4: mailbox@4883e000 {
369 compatible = "ti,omap4-mailbox";
370 reg = <0x4883e000 0x200>;
371 ti,hwmods = "mailbox4";
372 ti,mbox-num-users = <4>;
373 ti,mbox-num-fifos = <12>;
374 status = "disabled";
375 };
376
377 mailbox5: mailbox@48840000 {
378 compatible = "ti,omap4-mailbox";
379 reg = <0x48840000 0x200>;
380 ti,hwmods = "mailbox5";
381 ti,mbox-num-users = <4>;
382 ti,mbox-num-fifos = <12>;
383 status = "disabled";
384 };
385
386 mailbox6: mailbox@48842000 {
387 compatible = "ti,omap4-mailbox";
388 reg = <0x48842000 0x200>;
389 ti,hwmods = "mailbox6";
390 ti,mbox-num-users = <4>;
391 ti,mbox-num-fifos = <12>;
392 status = "disabled";
393 };
394
395 mailbox7: mailbox@48844000 {
396 compatible = "ti,omap4-mailbox";
397 reg = <0x48844000 0x200>;
398 ti,hwmods = "mailbox7";
399 ti,mbox-num-users = <4>;
400 ti,mbox-num-fifos = <12>;
401 status = "disabled";
402 };
403
404 mailbox8: mailbox@48846000 {
405 compatible = "ti,omap4-mailbox";
406 reg = <0x48846000 0x200>;
407 ti,hwmods = "mailbox8";
408 ti,mbox-num-users = <4>;
409 ti,mbox-num-fifos = <12>;
410 status = "disabled";
411 };
412
413 mailbox9: mailbox@4885e000 {
414 compatible = "ti,omap4-mailbox";
415 reg = <0x4885e000 0x200>;
416 ti,hwmods = "mailbox9";
417 ti,mbox-num-users = <4>;
418 ti,mbox-num-fifos = <12>;
419 status = "disabled";
420 };
421
422 mailbox10: mailbox@48860000 {
423 compatible = "ti,omap4-mailbox";
424 reg = <0x48860000 0x200>;
425 ti,hwmods = "mailbox10";
426 ti,mbox-num-users = <4>;
427 ti,mbox-num-fifos = <12>;
428 status = "disabled";
429 };
430
431 mailbox11: mailbox@48862000 {
432 compatible = "ti,omap4-mailbox";
433 reg = <0x48862000 0x200>;
434 ti,hwmods = "mailbox11";
435 ti,mbox-num-users = <4>;
436 ti,mbox-num-fifos = <12>;
437 status = "disabled";
438 };
439
440 mailbox12: mailbox@48864000 {
441 compatible = "ti,omap4-mailbox";
442 reg = <0x48864000 0x200>;
443 ti,hwmods = "mailbox12";
444 ti,mbox-num-users = <4>;
445 ti,mbox-num-fifos = <12>;
446 status = "disabled";
447 };
448
449 mailbox13: mailbox@48802000 {
450 compatible = "ti,omap4-mailbox";
451 reg = <0x48802000 0x200>;
452 ti,hwmods = "mailbox13";
453 ti,mbox-num-users = <4>;
454 ti,mbox-num-fifos = <12>;
455 status = "disabled";
456 };
457
341 timer1: timer@4ae18000 { 458 timer1: timer@4ae18000 {
342 compatible = "ti,omap5430-timer"; 459 compatible = "ti,omap5430-timer";
343 reg = <0x4ae18000 0x80>; 460 reg = <0x4ae18000 0x80>;
diff --git a/arch/arm/boot/dts/omap2420.dtsi b/arch/arm/boot/dts/omap2420.dtsi
index e83b0468080c..6d21994d824b 100644
--- a/arch/arm/boot/dts/omap2420.dtsi
+++ b/arch/arm/boot/dts/omap2420.dtsi
@@ -157,6 +157,8 @@
157 interrupts = <26>, <34>; 157 interrupts = <26>, <34>;
158 interrupt-names = "dsp", "iva"; 158 interrupt-names = "dsp", "iva";
159 ti,hwmods = "mailbox"; 159 ti,hwmods = "mailbox";
160 ti,mbox-num-users = <4>;
161 ti,mbox-num-fifos = <6>;
160 }; 162 };
161 163
162 timer1: timer@48028000 { 164 timer1: timer@48028000 {
diff --git a/arch/arm/boot/dts/omap2430.dtsi b/arch/arm/boot/dts/omap2430.dtsi
index c4e8013801ee..aa6a354e236f 100644
--- a/arch/arm/boot/dts/omap2430.dtsi
+++ b/arch/arm/boot/dts/omap2430.dtsi
@@ -247,6 +247,8 @@
247 reg = <0x48094000 0x200>; 247 reg = <0x48094000 0x200>;
248 interrupts = <26>; 248 interrupts = <26>;
249 ti,hwmods = "mailbox"; 249 ti,hwmods = "mailbox";
250 ti,mbox-num-users = <4>;
251 ti,mbox-num-fifos = <6>;
250 }; 252 };
251 253
252 timer1: timer@49018000 { 254 timer1: timer@49018000 {
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index b2891a9a6975..575a49bf968d 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -332,6 +332,8 @@
332 ti,hwmods = "mailbox"; 332 ti,hwmods = "mailbox";
333 reg = <0x48094000 0x200>; 333 reg = <0x48094000 0x200>;
334 interrupts = <26>; 334 interrupts = <26>;
335 ti,mbox-num-users = <2>;
336 ti,mbox-num-fifos = <2>;
335 }; 337 };
336 338
337 mcspi1: spi@48098000 { 339 mcspi1: spi@48098000 {
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 7e26d222bfe3..69408b53200d 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -649,6 +649,15 @@
649 }; 649 };
650 }; 650 };
651 651
652 mailbox: mailbox@4a0f4000 {
653 compatible = "ti,omap4-mailbox";
654 reg = <0x4a0f4000 0x200>;
655 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
656 ti,hwmods = "mailbox";
657 ti,mbox-num-users = <3>;
658 ti,mbox-num-fifos = <8>;
659 };
660
652 timer1: timer@4a318000 { 661 timer1: timer@4a318000 {
653 compatible = "ti,omap3430-timer"; 662 compatible = "ti,omap3430-timer";
654 reg = <0x4a318000 0x80>; 663 reg = <0x4a318000 0x80>;
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 3bfda16c8b52..0e8336ed1a79 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -641,6 +641,8 @@
641 reg = <0x4a0f4000 0x200>; 641 reg = <0x4a0f4000 0x200>;
642 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 642 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
643 ti,hwmods = "mailbox"; 643 ti,hwmods = "mailbox";
644 ti,mbox-num-users = <3>;
645 ti,mbox-num-fifos = <8>;
644 }; 646 };
645 647
646 timer1: timer@4ae18000 { 648 timer1: timer@4ae18000 {
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 592ba0a0ecf3..708eb7db630c 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -460,9 +460,9 @@ static int __init omap2_init_devices(void)
460 omap_init_audio(); 460 omap_init_audio();
461 omap_init_camera(); 461 omap_init_camera();
462 omap_init_hdmi_audio(); 462 omap_init_hdmi_audio();
463 omap_init_mbox();
464 /* If dtb is there, the devices will be created dynamically */ 463 /* If dtb is there, the devices will be created dynamically */
465 if (!of_have_populated_dt()) { 464 if (!of_have_populated_dt()) {
465 omap_init_mbox();
466 omap_init_mcspi(); 466 omap_init_mcspi();
467 omap_init_sham(); 467 omap_init_sham();
468 omap_init_aes(); 468 omap_init_aes();
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index 2f15979c2e9c..65b1647092bd 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -16,7 +16,6 @@
16#include <linux/i2c-omap.h> 16#include <linux/i2c-omap.h>
17#include <linux/platform_data/spi-omap2-mcspi.h> 17#include <linux/platform_data/spi-omap2-mcspi.h>
18#include <linux/omap-dma.h> 18#include <linux/omap-dma.h>
19#include <linux/platform_data/mailbox-omap.h>
20#include <plat/dmtimer.h> 19#include <plat/dmtimer.h>
21 20
22#include "omap_hwmod.h" 21#include "omap_hwmod.h"
@@ -163,18 +162,6 @@ static struct omap_hwmod omap2420_dma_system_hwmod = {
163}; 162};
164 163
165/* mailbox */ 164/* mailbox */
166static struct omap_mbox_dev_info omap2420_mailbox_info[] = {
167 { .name = "dsp", .tx_id = 0, .rx_id = 1, .irq_id = 0, .usr_id = 0 },
168 { .name = "iva", .tx_id = 2, .rx_id = 3, .irq_id = 1, .usr_id = 3 },
169};
170
171static struct omap_mbox_pdata omap2420_mailbox_attrs = {
172 .num_users = 4,
173 .num_fifos = 6,
174 .info_cnt = ARRAY_SIZE(omap2420_mailbox_info),
175 .info = omap2420_mailbox_info,
176};
177
178static struct omap_hwmod omap2420_mailbox_hwmod = { 165static struct omap_hwmod omap2420_mailbox_hwmod = {
179 .name = "mailbox", 166 .name = "mailbox",
180 .class = &omap2xxx_mailbox_hwmod_class, 167 .class = &omap2xxx_mailbox_hwmod_class,
@@ -188,7 +175,6 @@ static struct omap_hwmod omap2420_mailbox_hwmod = {
188 .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT, 175 .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT,
189 }, 176 },
190 }, 177 },
191 .dev_attr = &omap2420_mailbox_attrs,
192}; 178};
193 179
194/* 180/*
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
index 6d1b60902179..c2555cb95e71 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
@@ -17,7 +17,6 @@
17#include <linux/platform_data/asoc-ti-mcbsp.h> 17#include <linux/platform_data/asoc-ti-mcbsp.h>
18#include <linux/platform_data/spi-omap2-mcspi.h> 18#include <linux/platform_data/spi-omap2-mcspi.h>
19#include <linux/omap-dma.h> 19#include <linux/omap-dma.h>
20#include <linux/platform_data/mailbox-omap.h>
21#include <plat/dmtimer.h> 20#include <plat/dmtimer.h>
22 21
23#include "omap_hwmod.h" 22#include "omap_hwmod.h"
@@ -161,17 +160,6 @@ static struct omap_hwmod omap2430_dma_system_hwmod = {
161}; 160};
162 161
163/* mailbox */ 162/* mailbox */
164static struct omap_mbox_dev_info omap2430_mailbox_info[] = {
165 { .name = "dsp", .tx_id = 0, .rx_id = 1 },
166};
167
168static struct omap_mbox_pdata omap2430_mailbox_attrs = {
169 .num_users = 4,
170 .num_fifos = 6,
171 .info_cnt = ARRAY_SIZE(omap2430_mailbox_info),
172 .info = omap2430_mailbox_info,
173};
174
175static struct omap_hwmod omap2430_mailbox_hwmod = { 163static struct omap_hwmod omap2430_mailbox_hwmod = {
176 .name = "mailbox", 164 .name = "mailbox",
177 .class = &omap2xxx_mailbox_hwmod_class, 165 .class = &omap2xxx_mailbox_hwmod_class,
@@ -185,7 +173,6 @@ static struct omap_hwmod omap2430_mailbox_hwmod = {
185 .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT, 173 .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT,
186 }, 174 },
187 }, 175 },
188 .dev_attr = &omap2430_mailbox_attrs,
189}; 176};
190 177
191/* mcspi3 */ 178/* mcspi3 */
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c
index 0413daba2dba..c1e98d589100 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c
@@ -152,15 +152,6 @@ struct omap_hwmod_addr_space omap2_dma_system_addrs[] = {
152 { } 152 { }
153}; 153};
154 154
155struct omap_hwmod_addr_space omap2_mailbox_addrs[] = {
156 {
157 .pa_start = 0x48094000,
158 .pa_end = 0x48094000 + SZ_512 - 1,
159 .flags = ADDR_TYPE_RT,
160 },
161 { }
162};
163
164struct omap_hwmod_addr_space omap2_mcbsp1_addrs[] = { 155struct omap_hwmod_addr_space omap2_mcbsp1_addrs[] = {
165 { 156 {
166 .name = "mpu", 157 .name = "mpu",
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
index e2db378b849e..8f5989d48a80 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
@@ -317,21 +317,11 @@ struct omap_hwmod_ocp_if am33xx_l4_per__i2c3 = {
317 .user = OCP_USER_MPU, 317 .user = OCP_USER_MPU,
318}; 318};
319 319
320static struct omap_hwmod_addr_space am33xx_mailbox_addrs[] = {
321 {
322 .pa_start = 0x480C8000,
323 .pa_end = 0x480C8000 + (SZ_4K - 1),
324 .flags = ADDR_TYPE_RT
325 },
326 { }
327};
328
329/* l4 ls -> mailbox */ 320/* l4 ls -> mailbox */
330struct omap_hwmod_ocp_if am33xx_l4_per__mailbox = { 321struct omap_hwmod_ocp_if am33xx_l4_per__mailbox = {
331 .master = &am33xx_l4_ls_hwmod, 322 .master = &am33xx_l4_ls_hwmod,
332 .slave = &am33xx_mailbox_hwmod, 323 .slave = &am33xx_mailbox_hwmod,
333 .clk = "l4ls_gclk", 324 .clk = "l4ls_gclk",
334 .addr = am33xx_mailbox_addrs,
335 .user = OCP_USER_MPU, 325 .user = OCP_USER_MPU,
336}; 326};
337 327
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index 41e54f759934..5e61b8c0944b 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -4142,21 +4142,11 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__kbd = {
4142 .user = OCP_USER_MPU | OCP_USER_SDMA, 4142 .user = OCP_USER_MPU | OCP_USER_SDMA,
4143}; 4143};
4144 4144
4145static struct omap_hwmod_addr_space omap44xx_mailbox_addrs[] = {
4146 {
4147 .pa_start = 0x4a0f4000,
4148 .pa_end = 0x4a0f41ff,
4149 .flags = ADDR_TYPE_RT
4150 },
4151 { }
4152};
4153
4154/* l4_cfg -> mailbox */ 4145/* l4_cfg -> mailbox */
4155static struct omap_hwmod_ocp_if omap44xx_l4_cfg__mailbox = { 4146static struct omap_hwmod_ocp_if omap44xx_l4_cfg__mailbox = {
4156 .master = &omap44xx_l4_cfg_hwmod, 4147 .master = &omap44xx_l4_cfg_hwmod,
4157 .slave = &omap44xx_mailbox_hwmod, 4148 .slave = &omap44xx_mailbox_hwmod,
4158 .clk = "l4_div_ck", 4149 .clk = "l4_div_ck",
4159 .addr = omap44xx_mailbox_addrs,
4160 .user = OCP_USER_MPU | OCP_USER_SDMA, 4150 .user = OCP_USER_MPU | OCP_USER_SDMA,
4161}; 4151};
4162 4152
diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
index 20b4398cec05..e35f5b18de6d 100644
--- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
@@ -939,6 +939,194 @@ static struct omap_hwmod dra7xx_i2c5_hwmod = {
939}; 939};
940 940
941/* 941/*
942 * 'mailbox' class
943 *
944 */
945
946static struct omap_hwmod_class_sysconfig dra7xx_mailbox_sysc = {
947 .rev_offs = 0x0000,
948 .sysc_offs = 0x0010,
949 .sysc_flags = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE |
950 SYSC_HAS_SOFTRESET),
951 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
952 .sysc_fields = &omap_hwmod_sysc_type2,
953};
954
955static struct omap_hwmod_class dra7xx_mailbox_hwmod_class = {
956 .name = "mailbox",
957 .sysc = &dra7xx_mailbox_sysc,
958};
959
960/* mailbox1 */
961static struct omap_hwmod dra7xx_mailbox1_hwmod = {
962 .name = "mailbox1",
963 .class = &dra7xx_mailbox_hwmod_class,
964 .clkdm_name = "l4cfg_clkdm",
965 .prcm = {
966 .omap4 = {
967 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX1_CLKCTRL_OFFSET,
968 .context_offs = DRA7XX_RM_L4CFG_MAILBOX1_CONTEXT_OFFSET,
969 },
970 },
971};
972
973/* mailbox2 */
974static struct omap_hwmod dra7xx_mailbox2_hwmod = {
975 .name = "mailbox2",
976 .class = &dra7xx_mailbox_hwmod_class,
977 .clkdm_name = "l4cfg_clkdm",
978 .prcm = {
979 .omap4 = {
980 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX2_CLKCTRL_OFFSET,
981 .context_offs = DRA7XX_RM_L4CFG_MAILBOX2_CONTEXT_OFFSET,
982 },
983 },
984};
985
986/* mailbox3 */
987static struct omap_hwmod dra7xx_mailbox3_hwmod = {
988 .name = "mailbox3",
989 .class = &dra7xx_mailbox_hwmod_class,
990 .clkdm_name = "l4cfg_clkdm",
991 .prcm = {
992 .omap4 = {
993 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX3_CLKCTRL_OFFSET,
994 .context_offs = DRA7XX_RM_L4CFG_MAILBOX3_CONTEXT_OFFSET,
995 },
996 },
997};
998
999/* mailbox4 */
1000static struct omap_hwmod dra7xx_mailbox4_hwmod = {
1001 .name = "mailbox4",
1002 .class = &dra7xx_mailbox_hwmod_class,
1003 .clkdm_name = "l4cfg_clkdm",
1004 .prcm = {
1005 .omap4 = {
1006 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX4_CLKCTRL_OFFSET,
1007 .context_offs = DRA7XX_RM_L4CFG_MAILBOX4_CONTEXT_OFFSET,
1008 },
1009 },
1010};
1011
1012/* mailbox5 */
1013static struct omap_hwmod dra7xx_mailbox5_hwmod = {
1014 .name = "mailbox5",
1015 .class = &dra7xx_mailbox_hwmod_class,
1016 .clkdm_name = "l4cfg_clkdm",
1017 .prcm = {
1018 .omap4 = {
1019 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX5_CLKCTRL_OFFSET,
1020 .context_offs = DRA7XX_RM_L4CFG_MAILBOX5_CONTEXT_OFFSET,
1021 },
1022 },
1023};
1024
1025/* mailbox6 */
1026static struct omap_hwmod dra7xx_mailbox6_hwmod = {
1027 .name = "mailbox6",
1028 .class = &dra7xx_mailbox_hwmod_class,
1029 .clkdm_name = "l4cfg_clkdm",
1030 .prcm = {
1031 .omap4 = {
1032 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX6_CLKCTRL_OFFSET,
1033 .context_offs = DRA7XX_RM_L4CFG_MAILBOX6_CONTEXT_OFFSET,
1034 },
1035 },
1036};
1037
1038/* mailbox7 */
1039static struct omap_hwmod dra7xx_mailbox7_hwmod = {
1040 .name = "mailbox7",
1041 .class = &dra7xx_mailbox_hwmod_class,
1042 .clkdm_name = "l4cfg_clkdm",
1043 .prcm = {
1044 .omap4 = {
1045 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX7_CLKCTRL_OFFSET,
1046 .context_offs = DRA7XX_RM_L4CFG_MAILBOX7_CONTEXT_OFFSET,
1047 },
1048 },
1049};
1050
1051/* mailbox8 */
1052static struct omap_hwmod dra7xx_mailbox8_hwmod = {
1053 .name = "mailbox8",
1054 .class = &dra7xx_mailbox_hwmod_class,
1055 .clkdm_name = "l4cfg_clkdm",
1056 .prcm = {
1057 .omap4 = {
1058 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX8_CLKCTRL_OFFSET,
1059 .context_offs = DRA7XX_RM_L4CFG_MAILBOX8_CONTEXT_OFFSET,
1060 },
1061 },
1062};
1063
1064/* mailbox9 */
1065static struct omap_hwmod dra7xx_mailbox9_hwmod = {
1066 .name = "mailbox9",
1067 .class = &dra7xx_mailbox_hwmod_class,
1068 .clkdm_name = "l4cfg_clkdm",
1069 .prcm = {
1070 .omap4 = {
1071 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX9_CLKCTRL_OFFSET,
1072 .context_offs = DRA7XX_RM_L4CFG_MAILBOX9_CONTEXT_OFFSET,
1073 },
1074 },
1075};
1076
1077/* mailbox10 */
1078static struct omap_hwmod dra7xx_mailbox10_hwmod = {
1079 .name = "mailbox10",
1080 .class = &dra7xx_mailbox_hwmod_class,
1081 .clkdm_name = "l4cfg_clkdm",
1082 .prcm = {
1083 .omap4 = {
1084 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX10_CLKCTRL_OFFSET,
1085 .context_offs = DRA7XX_RM_L4CFG_MAILBOX10_CONTEXT_OFFSET,
1086 },
1087 },
1088};
1089
1090/* mailbox11 */
1091static struct omap_hwmod dra7xx_mailbox11_hwmod = {
1092 .name = "mailbox11",
1093 .class = &dra7xx_mailbox_hwmod_class,
1094 .clkdm_name = "l4cfg_clkdm",
1095 .prcm = {
1096 .omap4 = {
1097 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX11_CLKCTRL_OFFSET,
1098 .context_offs = DRA7XX_RM_L4CFG_MAILBOX11_CONTEXT_OFFSET,
1099 },
1100 },
1101};
1102
1103/* mailbox12 */
1104static struct omap_hwmod dra7xx_mailbox12_hwmod = {
1105 .name = "mailbox12",
1106 .class = &dra7xx_mailbox_hwmod_class,
1107 .clkdm_name = "l4cfg_clkdm",
1108 .prcm = {
1109 .omap4 = {
1110 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX12_CLKCTRL_OFFSET,
1111 .context_offs = DRA7XX_RM_L4CFG_MAILBOX12_CONTEXT_OFFSET,
1112 },
1113 },
1114};
1115
1116/* mailbox13 */
1117static struct omap_hwmod dra7xx_mailbox13_hwmod = {
1118 .name = "mailbox13",
1119 .class = &dra7xx_mailbox_hwmod_class,
1120 .clkdm_name = "l4cfg_clkdm",
1121 .prcm = {
1122 .omap4 = {
1123 .clkctrl_offs = DRA7XX_CM_L4CFG_MAILBOX13_CLKCTRL_OFFSET,
1124 .context_offs = DRA7XX_RM_L4CFG_MAILBOX13_CONTEXT_OFFSET,
1125 },
1126 },
1127};
1128
1129/*
942 * 'mcspi' class 1130 * 'mcspi' class
943 * 1131 *
944 */ 1132 */
@@ -2246,6 +2434,110 @@ static struct omap_hwmod_ocp_if dra7xx_l4_per1__i2c5 = {
2246 .user = OCP_USER_MPU | OCP_USER_SDMA, 2434 .user = OCP_USER_MPU | OCP_USER_SDMA,
2247}; 2435};
2248 2436
2437/* l4_cfg -> mailbox1 */
2438static struct omap_hwmod_ocp_if dra7xx_l4_cfg__mailbox1 = {
2439 .master = &dra7xx_l4_cfg_hwmod,
2440 .slave = &dra7xx_mailbox1_hwmod,
2441 .clk = "l3_iclk_div",
2442 .user = OCP_USER_MPU | OCP_USER_SDMA,
2443};
2444
2445/* l4_per3 -> mailbox2 */
2446static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox2 = {
2447 .master = &dra7xx_l4_per3_hwmod,
2448 .slave = &dra7xx_mailbox2_hwmod,
2449 .clk = "l3_iclk_div",
2450 .user = OCP_USER_MPU | OCP_USER_SDMA,
2451};
2452
2453/* l4_per3 -> mailbox3 */
2454static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox3 = {
2455 .master = &dra7xx_l4_per3_hwmod,
2456 .slave = &dra7xx_mailbox3_hwmod,
2457 .clk = "l3_iclk_div",
2458 .user = OCP_USER_MPU | OCP_USER_SDMA,
2459};
2460
2461/* l4_per3 -> mailbox4 */
2462static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox4 = {
2463 .master = &dra7xx_l4_per3_hwmod,
2464 .slave = &dra7xx_mailbox4_hwmod,
2465 .clk = "l3_iclk_div",
2466 .user = OCP_USER_MPU | OCP_USER_SDMA,
2467};
2468
2469/* l4_per3 -> mailbox5 */
2470static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox5 = {
2471 .master = &dra7xx_l4_per3_hwmod,
2472 .slave = &dra7xx_mailbox5_hwmod,
2473 .clk = "l3_iclk_div",
2474 .user = OCP_USER_MPU | OCP_USER_SDMA,
2475};
2476
2477/* l4_per3 -> mailbox6 */
2478static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox6 = {
2479 .master = &dra7xx_l4_per3_hwmod,
2480 .slave = &dra7xx_mailbox6_hwmod,
2481 .clk = "l3_iclk_div",
2482 .user = OCP_USER_MPU | OCP_USER_SDMA,
2483};
2484
2485/* l4_per3 -> mailbox7 */
2486static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox7 = {
2487 .master = &dra7xx_l4_per3_hwmod,
2488 .slave = &dra7xx_mailbox7_hwmod,
2489 .clk = "l3_iclk_div",
2490 .user = OCP_USER_MPU | OCP_USER_SDMA,
2491};
2492
2493/* l4_per3 -> mailbox8 */
2494static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox8 = {
2495 .master = &dra7xx_l4_per3_hwmod,
2496 .slave = &dra7xx_mailbox8_hwmod,
2497 .clk = "l3_iclk_div",
2498 .user = OCP_USER_MPU | OCP_USER_SDMA,
2499};
2500
2501/* l4_per3 -> mailbox9 */
2502static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox9 = {
2503 .master = &dra7xx_l4_per3_hwmod,
2504 .slave = &dra7xx_mailbox9_hwmod,
2505 .clk = "l3_iclk_div",
2506 .user = OCP_USER_MPU | OCP_USER_SDMA,
2507};
2508
2509/* l4_per3 -> mailbox10 */
2510static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox10 = {
2511 .master = &dra7xx_l4_per3_hwmod,
2512 .slave = &dra7xx_mailbox10_hwmod,
2513 .clk = "l3_iclk_div",
2514 .user = OCP_USER_MPU | OCP_USER_SDMA,
2515};
2516
2517/* l4_per3 -> mailbox11 */
2518static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox11 = {
2519 .master = &dra7xx_l4_per3_hwmod,
2520 .slave = &dra7xx_mailbox11_hwmod,
2521 .clk = "l3_iclk_div",
2522 .user = OCP_USER_MPU | OCP_USER_SDMA,
2523};
2524
2525/* l4_per3 -> mailbox12 */
2526static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox12 = {
2527 .master = &dra7xx_l4_per3_hwmod,
2528 .slave = &dra7xx_mailbox12_hwmod,
2529 .clk = "l3_iclk_div",
2530 .user = OCP_USER_MPU | OCP_USER_SDMA,
2531};
2532
2533/* l4_per3 -> mailbox13 */
2534static struct omap_hwmod_ocp_if dra7xx_l4_per3__mailbox13 = {
2535 .master = &dra7xx_l4_per3_hwmod,
2536 .slave = &dra7xx_mailbox13_hwmod,
2537 .clk = "l3_iclk_div",
2538 .user = OCP_USER_MPU | OCP_USER_SDMA,
2539};
2540
2249/* l4_per1 -> mcspi1 */ 2541/* l4_per1 -> mcspi1 */
2250static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi1 = { 2542static struct omap_hwmod_ocp_if dra7xx_l4_per1__mcspi1 = {
2251 .master = &dra7xx_l4_per1_hwmod, 2543 .master = &dra7xx_l4_per1_hwmod,
@@ -2662,6 +2954,19 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = {
2662 &dra7xx_l4_per1__i2c3, 2954 &dra7xx_l4_per1__i2c3,
2663 &dra7xx_l4_per1__i2c4, 2955 &dra7xx_l4_per1__i2c4,
2664 &dra7xx_l4_per1__i2c5, 2956 &dra7xx_l4_per1__i2c5,
2957 &dra7xx_l4_cfg__mailbox1,
2958 &dra7xx_l4_per3__mailbox2,
2959 &dra7xx_l4_per3__mailbox3,
2960 &dra7xx_l4_per3__mailbox4,
2961 &dra7xx_l4_per3__mailbox5,
2962 &dra7xx_l4_per3__mailbox6,
2963 &dra7xx_l4_per3__mailbox7,
2964 &dra7xx_l4_per3__mailbox8,
2965 &dra7xx_l4_per3__mailbox9,
2966 &dra7xx_l4_per3__mailbox10,
2967 &dra7xx_l4_per3__mailbox11,
2968 &dra7xx_l4_per3__mailbox12,
2969 &dra7xx_l4_per3__mailbox13,
2665 &dra7xx_l4_per1__mcspi1, 2970 &dra7xx_l4_per1__mcspi1,
2666 &dra7xx_l4_per1__mcspi2, 2971 &dra7xx_l4_per1__mcspi2,
2667 &dra7xx_l4_per1__mcspi3, 2972 &dra7xx_l4_per1__mcspi3,
diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h
index 2c38c6b0ee03..11ed5a17dd77 100644
--- a/arch/arm/mach-omap2/omap_hwmod_common_data.h
+++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h
@@ -33,7 +33,6 @@ extern struct omap_hwmod_addr_space omap2_mcspi1_addr_space[];
33extern struct omap_hwmod_addr_space omap2_mcspi2_addr_space[]; 33extern struct omap_hwmod_addr_space omap2_mcspi2_addr_space[];
34extern struct omap_hwmod_addr_space omap2430_mcspi3_addr_space[]; 34extern struct omap_hwmod_addr_space omap2430_mcspi3_addr_space[];
35extern struct omap_hwmod_addr_space omap2_dma_system_addrs[]; 35extern struct omap_hwmod_addr_space omap2_dma_system_addrs[];
36extern struct omap_hwmod_addr_space omap2_mailbox_addrs[];
37extern struct omap_hwmod_addr_space omap2_mcbsp1_addrs[]; 36extern struct omap_hwmod_addr_space omap2_mcbsp1_addrs[];
38extern struct omap_hwmod_addr_space omap2_hdq1w_addr_space[]; 37extern struct omap_hwmod_addr_space omap2_hdq1w_addr_space[];
39 38