aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2012-04-19 15:33:50 -0400
committerPaul Walmsley <paul@pwsan.com>2012-04-19 15:33:50 -0400
commita091c08e65ebf7a06c0bdf563f00e77961d3b49c (patch)
tree5c17eaba7bacd450be4d3fa6edbfba0ec8f9e042 /arch/arm/mach-omap2
parentb050f688e1ef5b10a013d212993b54c67e22d2ec (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.c61
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
1073static 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
1082static struct omap_hwmod_class omap44xx_hdq1w_hwmod_class = {
1083 .name = "hdq1w",
1084 .sysc = &omap44xx_hdq1w_sysc,
1085};
1086
1087/* hdq1w */
1088static struct omap_hwmod_irq_info omap44xx_hdq1w_irqs[] = {
1089 { .irq = 58 + OMAP44XX_IRQ_GIC_START },
1090 { .irq = -1 }
1091};
1092
1093static 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
3756static 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 */
3766static 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
3716static struct omap_hwmod_addr_space omap44xx_hsi_addrs[] = { 3774static 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,