diff options
author | Paul Walmsley <paul@pwsan.com> | 2012-04-19 15:33:50 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-04-19 15:33:50 -0400 |
commit | a091c08e65ebf7a06c0bdf563f00e77961d3b49c (patch) | |
tree | 5c17eaba7bacd450be4d3fa6edbfba0ec8f9e042 /arch/arm/mach-omap2 | |
parent | b050f688e1ef5b10a013d212993b54c67e22d2ec (diff) |
ARM: OMAP4: hwmod data: add HDQ/1-wire
Add the HDQ/1-wire hwmod and associated interconnect data. The
HDQ/1-wire IP block is a low-speed serial interconnect.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: BenoƮt Cousson <b-cousson@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index eb5e98d0813a..0eeea887a720 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -265,7 +265,6 @@ static struct omap_hwmod omap44xx_mpu_private_hwmod = { | |||
265 | * emif2 | 265 | * emif2 |
266 | * gpmc | 266 | * gpmc |
267 | * gpu | 267 | * gpu |
268 | * hdq1w | ||
269 | * mcasp | 268 | * mcasp |
270 | * mpu_c0 | 269 | * mpu_c0 |
271 | * mpu_c1 | 270 | * mpu_c1 |
@@ -1067,6 +1066,47 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = { | |||
1067 | }; | 1066 | }; |
1068 | 1067 | ||
1069 | /* | 1068 | /* |
1069 | * 'hdq1w' class | ||
1070 | * hdq / 1-wire serial interface controller | ||
1071 | */ | ||
1072 | |||
1073 | static struct omap_hwmod_class_sysconfig omap44xx_hdq1w_sysc = { | ||
1074 | .rev_offs = 0x0000, | ||
1075 | .sysc_offs = 0x0014, | ||
1076 | .syss_offs = 0x0018, | ||
1077 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SOFTRESET | | ||
1078 | SYSS_HAS_RESET_STATUS), | ||
1079 | .sysc_fields = &omap_hwmod_sysc_type1, | ||
1080 | }; | ||
1081 | |||
1082 | static struct omap_hwmod_class omap44xx_hdq1w_hwmod_class = { | ||
1083 | .name = "hdq1w", | ||
1084 | .sysc = &omap44xx_hdq1w_sysc, | ||
1085 | }; | ||
1086 | |||
1087 | /* hdq1w */ | ||
1088 | static struct omap_hwmod_irq_info omap44xx_hdq1w_irqs[] = { | ||
1089 | { .irq = 58 + OMAP44XX_IRQ_GIC_START }, | ||
1090 | { .irq = -1 } | ||
1091 | }; | ||
1092 | |||
1093 | static struct omap_hwmod omap44xx_hdq1w_hwmod = { | ||
1094 | .name = "hdq1w", | ||
1095 | .class = &omap44xx_hdq1w_hwmod_class, | ||
1096 | .clkdm_name = "l4_per_clkdm", | ||
1097 | .flags = HWMOD_INIT_NO_RESET, /* XXX temporary */ | ||
1098 | .mpu_irqs = omap44xx_hdq1w_irqs, | ||
1099 | .main_clk = "hdq1w_fck", | ||
1100 | .prcm = { | ||
1101 | .omap4 = { | ||
1102 | .clkctrl_offs = OMAP4_CM_L4PER_HDQ1W_CLKCTRL_OFFSET, | ||
1103 | .context_offs = OMAP4_RM_L4PER_HDQ1W_CONTEXT_OFFSET, | ||
1104 | .modulemode = MODULEMODE_SWCTRL, | ||
1105 | }, | ||
1106 | }, | ||
1107 | }; | ||
1108 | |||
1109 | /* | ||
1070 | * 'hsi' class | 1110 | * 'hsi' class |
1071 | * mipi high-speed synchronous serial interface (multichannel and full-duplex | 1111 | * mipi high-speed synchronous serial interface (multichannel and full-duplex |
1072 | * serial if) | 1112 | * serial if) |
@@ -3713,6 +3753,24 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio6 = { | |||
3713 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3753 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3714 | }; | 3754 | }; |
3715 | 3755 | ||
3756 | static struct omap_hwmod_addr_space omap44xx_hdq1w_addrs[] = { | ||
3757 | { | ||
3758 | .pa_start = 0x480b2000, | ||
3759 | .pa_end = 0x480b201f, | ||
3760 | .flags = ADDR_TYPE_RT | ||
3761 | }, | ||
3762 | { } | ||
3763 | }; | ||
3764 | |||
3765 | /* l4_per -> hdq1w */ | ||
3766 | static struct omap_hwmod_ocp_if omap44xx_l4_per__hdq1w = { | ||
3767 | .master = &omap44xx_l4_per_hwmod, | ||
3768 | .slave = &omap44xx_hdq1w_hwmod, | ||
3769 | .clk = "l4_div_ck", | ||
3770 | .addr = omap44xx_hdq1w_addrs, | ||
3771 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3772 | }; | ||
3773 | |||
3716 | static struct omap_hwmod_addr_space omap44xx_hsi_addrs[] = { | 3774 | static struct omap_hwmod_addr_space omap44xx_hsi_addrs[] = { |
3717 | { | 3775 | { |
3718 | .pa_start = 0x4a058000, | 3776 | .pa_start = 0x4a058000, |
@@ -4811,6 +4869,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
4811 | &omap44xx_l4_per__gpio4, | 4869 | &omap44xx_l4_per__gpio4, |
4812 | &omap44xx_l4_per__gpio5, | 4870 | &omap44xx_l4_per__gpio5, |
4813 | &omap44xx_l4_per__gpio6, | 4871 | &omap44xx_l4_per__gpio6, |
4872 | &omap44xx_l4_per__hdq1w, | ||
4814 | &omap44xx_l4_cfg__hsi, | 4873 | &omap44xx_l4_cfg__hsi, |
4815 | &omap44xx_l4_per__i2c1, | 4874 | &omap44xx_l4_per__i2c1, |
4816 | &omap44xx_l4_per__i2c2, | 4875 | &omap44xx_l4_per__i2c2, |