aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSourav Poddar <sourav.poddar@ti.com>2015-03-02 05:49:32 -0500
committerPaul Walmsley <paul@pwsan.com>2015-03-02 21:52:07 -0500
commit89122aa8732b9339ea49c38909adb9163bdf048a (patch)
tree8e8bc5fb97aaa2873db25d2fbe6558eb4da5486c
parentc517d838eb7d07bbe9507871fab3931deccff539 (diff)
ARM: OMAP2: hwmod: AM43XX: Add hwmod support for HDQ-1W
These adds hwmod data for hdq/1w driver on AM43xx. Signed-off-by: Vignesh R <vigneshr@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_43xx_data.c36
-rw-r--r--arch/arm/mach-omap2/prcm43xx.h1
2 files changed, 37 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
index 8eb85925e444..e2223148ba4d 100644
--- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
@@ -20,6 +20,7 @@
20#include "omap_hwmod_33xx_43xx_common_data.h" 20#include "omap_hwmod_33xx_43xx_common_data.h"
21#include "prcm43xx.h" 21#include "prcm43xx.h"
22#include "omap_hwmod_common_data.h" 22#include "omap_hwmod_common_data.h"
23#include "hdq1w.h"
23 24
24 25
25/* IP blocks */ 26/* IP blocks */
@@ -516,6 +517,33 @@ static struct omap_hwmod am43xx_dss_rfbi_hwmod = {
516 .parent_hwmod = &am43xx_dss_core_hwmod, 517 .parent_hwmod = &am43xx_dss_core_hwmod,
517}; 518};
518 519
520/* HDQ1W */
521static struct omap_hwmod_class_sysconfig am43xx_hdq1w_sysc = {
522 .rev_offs = 0x0000,
523 .sysc_offs = 0x0014,
524 .syss_offs = 0x0018,
525 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
526 .sysc_fields = &omap_hwmod_sysc_type1,
527};
528
529static struct omap_hwmod_class am43xx_hdq1w_hwmod_class = {
530 .name = "hdq1w",
531 .sysc = &am43xx_hdq1w_sysc,
532 .reset = &omap_hdq1w_reset,
533};
534
535static struct omap_hwmod am43xx_hdq1w_hwmod = {
536 .name = "hdq1w",
537 .class = &am43xx_hdq1w_hwmod_class,
538 .clkdm_name = "l4ls_clkdm",
539 .prcm = {
540 .omap4 = {
541 .clkctrl_offs = AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET,
542 .modulemode = MODULEMODE_SWCTRL,
543 },
544 },
545};
546
519/* Interfaces */ 547/* Interfaces */
520static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { 548static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
521 .master = &am33xx_l3_main_hwmod, 549 .master = &am33xx_l3_main_hwmod,
@@ -790,6 +818,13 @@ static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_rfbi = {
790 .user = OCP_USER_MPU | OCP_USER_SDMA, 818 .user = OCP_USER_MPU | OCP_USER_SDMA,
791}; 819};
792 820
821static struct omap_hwmod_ocp_if am43xx_l4_ls__hdq1w = {
822 .master = &am33xx_l4_ls_hwmod,
823 .slave = &am43xx_hdq1w_hwmod,
824 .clk = "l4ls_gclk",
825 .user = OCP_USER_MPU | OCP_USER_SDMA,
826};
827
793static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { 828static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
794 &am33xx_l4_wkup__synctimer, 829 &am33xx_l4_wkup__synctimer,
795 &am43xx_l4_ls__timer8, 830 &am43xx_l4_ls__timer8,
@@ -889,6 +924,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
889 &am43xx_l4_ls__dss, 924 &am43xx_l4_ls__dss,
890 &am43xx_l4_ls__dss_dispc, 925 &am43xx_l4_ls__dss_dispc,
891 &am43xx_l4_ls__dss_rfbi, 926 &am43xx_l4_ls__dss_rfbi,
927 &am43xx_l4_ls__hdq1w,
892 NULL, 928 NULL,
893}; 929};
894 930
diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h
index ad7b3e9977f8..48df3b55057e 100644
--- a/arch/arm/mach-omap2/prcm43xx.h
+++ b/arch/arm/mach-omap2/prcm43xx.h
@@ -143,5 +143,6 @@
143#define AM43XX_CM_PER_USB_OTG_SS1_CLKCTRL_OFFSET 0x0268 143#define AM43XX_CM_PER_USB_OTG_SS1_CLKCTRL_OFFSET 0x0268
144#define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET 0x05C0 144#define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET 0x05C0
145#define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET 0x0a20 145#define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET 0x0a20
146#define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0
146 147
147#endif 148#endif