OMAP hwmod data additions for v3.17. Most of these are DRA7xx-related,
although one patch adds DSS hwmods for AM43xx. Basic build, boot, and PM test results are available here: http://www.pwsan.com/omap/testlogs/hwmod-a-v3.17/20140722143514/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJTztT1AAoJEMePsQ0LvSpLM90P/jT8Ea/hjZzsZwi48RD/xv5u fFXVdb69jx0sS8HrXPIpuyLxYASFM4iRK7cJn6C0ptNj31mi+BKRhIH2xKdtxw/X n+5UvBirHj+Vk3Sk2OVmb7oKslDlOCPQvwMkWfOQzF6CCujIqrhMhzzq71b6GfWb KVmlsQoMWqApedcNHpoOLwvD+TZBbU4RRRtUb9owYXSPGReci4korT5SDADjfA7Y nuGLk0YnkF2CsShORyM8BYrB1DXJjIk133d3xOK+blgV8slMik3af2N77CwWPTtP P/qj8Uk3J787FG9nV8nq9aSpNZa8cOSIFSjdg2OhpwV5hX6wGJlnm5Q2sbQyzyxM 9Xe5L40i/F96F/vHDyCwTEdPoyu6VHysJG6qCGbsKp7rfEIj9WPhSZoi2hxqzxI5 furH0hwA68l68C+ujOsUX1xU8RfCrpEW8Knj69FBuHhX87x4Yoxc1KuIA4wabol3 8fEts6S99aVYit7GAoU2JnPzBCoE6aRT5Ns7rnswCqNFu4xKW8CkOLHR02MA2l0v 1TZPIFBGkHwU/r0U8VhLKqr/bGqVtPMyUJnmuGGoT3Wdcm1oi+Hk6940Hc8SqjAk dIkIirS+08cpn4SuJJa+HrNMLmeFF2pqSumpAvr+kK2OFFhpnx9LHbq++JCMCIZB 0uOAyHGMtY9E/vTJwQgt =csSf -----END PGP SIGNATURE----- Merge tag 'for-v3.17/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.17/soc OMAP hwmod data additions for v3.17. Most of these are DRA7xx-related, although one patch adds DSS hwmods for AM43xx. Basic build, boot, and PM test results are available here: http://www.pwsan.com/omap/testlogs/hwmod-a-v3.17/20140722143514/
This commit is contained in:
commit
ecf4c7938f
|
@ -202,6 +202,7 @@ obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o
|
||||||
obj-$(CONFIG_SOC_OMAP2430) += opp2430_data.o
|
obj-$(CONFIG_SOC_OMAP2430) += opp2430_data.o
|
||||||
|
|
||||||
# hwmod data
|
# hwmod data
|
||||||
|
obj-y += omap_hwmod_common_ipblock_data.o
|
||||||
obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_ipblock_data.o
|
obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_ipblock_data.o
|
||||||
obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_3xxx_ipblock_data.o
|
obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_3xxx_ipblock_data.o
|
||||||
obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_interconnect_data.o
|
obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_interconnect_data.o
|
||||||
|
|
|
@ -357,6 +357,10 @@
|
||||||
#define DRA7XX_CM_L3INIT_SATA_CLKCTRL DRA7XX_CM_CORE_REGADDR(DRA7XX_CM_CORE_L3INIT_INST, 0x0088)
|
#define DRA7XX_CM_L3INIT_SATA_CLKCTRL DRA7XX_CM_CORE_REGADDR(DRA7XX_CM_CORE_L3INIT_INST, 0x0088)
|
||||||
#define DRA7XX_CM_PCIE_CLKSTCTRL_OFFSET 0x00a0
|
#define DRA7XX_CM_PCIE_CLKSTCTRL_OFFSET 0x00a0
|
||||||
#define DRA7XX_CM_PCIE_STATICDEP_OFFSET 0x00a4
|
#define DRA7XX_CM_PCIE_STATICDEP_OFFSET 0x00a4
|
||||||
|
#define DRA7XX_CM_L3INIT_PCIESS1_CLKCTRL_OFFSET 0x00b0
|
||||||
|
#define DRA7XX_CM_L3INIT_PCIESS1_CLKCTRL DRA7XX_CM_CORE_REGADDR(DRA7XX_CM_CORE_L3INIT_INST, 0x00b0)
|
||||||
|
#define DRA7XX_CM_L3INIT_PCIESS2_CLKCTRL_OFFSET 0x00b8
|
||||||
|
#define DRA7XX_CM_L3INIT_PCIESS2_CLKCTRL DRA7XX_CM_CORE_REGADDR(DRA7XX_CM_CORE_L3INIT_INST, 0x00b8)
|
||||||
#define DRA7XX_CM_GMAC_CLKSTCTRL_OFFSET 0x00c0
|
#define DRA7XX_CM_GMAC_CLKSTCTRL_OFFSET 0x00c0
|
||||||
#define DRA7XX_CM_GMAC_STATICDEP_OFFSET 0x00c4
|
#define DRA7XX_CM_GMAC_STATICDEP_OFFSET 0x00c4
|
||||||
#define DRA7XX_CM_GMAC_DYNAMICDEP_OFFSET 0x00c8
|
#define DRA7XX_CM_GMAC_DYNAMICDEP_OFFSET 0x00c8
|
||||||
|
|
|
@ -36,46 +36,6 @@ struct omap_hwmod_class omap2_uart_class = {
|
||||||
.sysc = &omap2_uart_sysc,
|
.sysc = &omap2_uart_sysc,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* 'dss' class
|
|
||||||
* display sub-system
|
|
||||||
*/
|
|
||||||
|
|
||||||
static struct omap_hwmod_class_sysconfig omap2_dss_sysc = {
|
|
||||||
.rev_offs = 0x0000,
|
|
||||||
.sysc_offs = 0x0010,
|
|
||||||
.syss_offs = 0x0014,
|
|
||||||
.sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
|
|
||||||
SYSS_HAS_RESET_STATUS),
|
|
||||||
.sysc_fields = &omap_hwmod_sysc_type1,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct omap_hwmod_class omap2_dss_hwmod_class = {
|
|
||||||
.name = "dss",
|
|
||||||
.sysc = &omap2_dss_sysc,
|
|
||||||
.reset = omap_dss_reset,
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 'rfbi' class
|
|
||||||
* remote frame buffer interface
|
|
||||||
*/
|
|
||||||
|
|
||||||
static struct omap_hwmod_class_sysconfig omap2_rfbi_sysc = {
|
|
||||||
.rev_offs = 0x0000,
|
|
||||||
.sysc_offs = 0x0010,
|
|
||||||
.syss_offs = 0x0014,
|
|
||||||
.sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
|
|
||||||
SYSC_HAS_AUTOIDLE),
|
|
||||||
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
|
|
||||||
.sysc_fields = &omap_hwmod_sysc_type1,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct omap_hwmod_class omap2_rfbi_hwmod_class = {
|
|
||||||
.name = "rfbi",
|
|
||||||
.sysc = &omap2_rfbi_sysc,
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 'venc' class
|
* 'venc' class
|
||||||
* video encoder
|
* video encoder
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
#include "omap_hwmod.h"
|
#include "omap_hwmod.h"
|
||||||
#include "omap_hwmod_33xx_43xx_common_data.h"
|
#include "omap_hwmod_33xx_43xx_common_data.h"
|
||||||
#include "prcm43xx.h"
|
#include "prcm43xx.h"
|
||||||
|
#include "omap_hwmod_common_data.h"
|
||||||
|
|
||||||
|
|
||||||
/* IP blocks */
|
/* IP blocks */
|
||||||
static struct omap_hwmod am43xx_l4_hs_hwmod = {
|
static struct omap_hwmod am43xx_l4_hs_hwmod = {
|
||||||
|
@ -415,6 +417,72 @@ static struct omap_hwmod am43xx_qspi_hwmod = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* dss */
|
||||||
|
|
||||||
|
static struct omap_hwmod am43xx_dss_core_hwmod = {
|
||||||
|
.name = "dss_core",
|
||||||
|
.class = &omap2_dss_hwmod_class,
|
||||||
|
.clkdm_name = "dss_clkdm",
|
||||||
|
.main_clk = "disp_clk",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_SWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/* dispc */
|
||||||
|
|
||||||
|
struct omap_dss_dispc_dev_attr am43xx_dss_dispc_dev_attr = {
|
||||||
|
.manager_count = 1,
|
||||||
|
.has_framedonetv_irq = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_class_sysconfig am43xx_dispc_sysc = {
|
||||||
|
.rev_offs = 0x0000,
|
||||||
|
.sysc_offs = 0x0010,
|
||||||
|
.syss_offs = 0x0014,
|
||||||
|
.sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SOFTRESET |
|
||||||
|
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
|
||||||
|
SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_MIDLEMODE),
|
||||||
|
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
|
||||||
|
MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
|
||||||
|
.sysc_fields = &omap_hwmod_sysc_type1,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_class am43xx_dispc_hwmod_class = {
|
||||||
|
.name = "dispc",
|
||||||
|
.sysc = &am43xx_dispc_sysc,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod am43xx_dss_dispc_hwmod = {
|
||||||
|
.name = "dss_dispc",
|
||||||
|
.class = &am43xx_dispc_hwmod_class,
|
||||||
|
.clkdm_name = "dss_clkdm",
|
||||||
|
.main_clk = "disp_clk",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
.dev_attr = &am43xx_dss_dispc_dev_attr,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* rfbi */
|
||||||
|
|
||||||
|
static struct omap_hwmod am43xx_dss_rfbi_hwmod = {
|
||||||
|
.name = "dss_rfbi",
|
||||||
|
.class = &omap2_rfbi_hwmod_class,
|
||||||
|
.clkdm_name = "dss_clkdm",
|
||||||
|
.main_clk = "disp_clk",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
/* Interfaces */
|
/* Interfaces */
|
||||||
static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
|
static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
|
||||||
.master = &am33xx_l3_main_hwmod,
|
.master = &am33xx_l3_main_hwmod,
|
||||||
|
@ -654,6 +722,34 @@ static struct omap_hwmod_ocp_if am43xx_l3_s__qspi = {
|
||||||
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_ocp_if am43xx_dss__l3_main = {
|
||||||
|
.master = &am43xx_dss_core_hwmod,
|
||||||
|
.slave = &am33xx_l3_main_hwmod,
|
||||||
|
.clk = "l3_gclk",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_ocp_if am43xx_l4_ls__dss = {
|
||||||
|
.master = &am33xx_l4_ls_hwmod,
|
||||||
|
.slave = &am43xx_dss_core_hwmod,
|
||||||
|
.clk = "l4ls_gclk",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_dispc = {
|
||||||
|
.master = &am33xx_l4_ls_hwmod,
|
||||||
|
.slave = &am43xx_dss_dispc_hwmod,
|
||||||
|
.clk = "l4ls_gclk",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_rfbi = {
|
||||||
|
.master = &am33xx_l4_ls_hwmod,
|
||||||
|
.slave = &am43xx_dss_rfbi_hwmod,
|
||||||
|
.clk = "l4ls_gclk",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
|
static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
|
||||||
&am33xx_l4_wkup__synctimer,
|
&am33xx_l4_wkup__synctimer,
|
||||||
&am43xx_l4_ls__timer8,
|
&am43xx_l4_ls__timer8,
|
||||||
|
@ -748,6 +844,10 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
|
||||||
&am43xx_l4_ls__ocp2scp1,
|
&am43xx_l4_ls__ocp2scp1,
|
||||||
&am43xx_l3_s__usbotgss0,
|
&am43xx_l3_s__usbotgss0,
|
||||||
&am43xx_l3_s__usbotgss1,
|
&am43xx_l3_s__usbotgss1,
|
||||||
|
&am43xx_dss__l3_main,
|
||||||
|
&am43xx_l4_ls__dss,
|
||||||
|
&am43xx_l4_ls__dss_dispc,
|
||||||
|
&am43xx_l4_ls__dss_rfbi,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -272,6 +272,56 @@ static struct omap_hwmod dra7xx_ctrl_module_wkup_hwmod = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'gmac' class
|
||||||
|
* cpsw/gmac sub system
|
||||||
|
*/
|
||||||
|
static struct omap_hwmod_class_sysconfig dra7xx_gmac_sysc = {
|
||||||
|
.rev_offs = 0x0,
|
||||||
|
.sysc_offs = 0x8,
|
||||||
|
.syss_offs = 0x4,
|
||||||
|
.sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
|
||||||
|
SYSS_HAS_RESET_STATUS),
|
||||||
|
.idlemodes = (SIDLE_FORCE | SIDLE_NO | MSTANDBY_FORCE |
|
||||||
|
MSTANDBY_NO),
|
||||||
|
.sysc_fields = &omap_hwmod_sysc_type3,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_class dra7xx_gmac_hwmod_class = {
|
||||||
|
.name = "gmac",
|
||||||
|
.sysc = &dra7xx_gmac_sysc,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod dra7xx_gmac_hwmod = {
|
||||||
|
.name = "gmac",
|
||||||
|
.class = &dra7xx_gmac_hwmod_class,
|
||||||
|
.clkdm_name = "gmac_clkdm",
|
||||||
|
.flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY),
|
||||||
|
.main_clk = "dpll_gmac_ck",
|
||||||
|
.mpu_rt_idx = 1,
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = DRA7XX_CM_GMAC_GMAC_CLKCTRL_OFFSET,
|
||||||
|
.context_offs = DRA7XX_RM_GMAC_GMAC_CONTEXT_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_SWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'mdio' class
|
||||||
|
*/
|
||||||
|
static struct omap_hwmod_class dra7xx_mdio_hwmod_class = {
|
||||||
|
.name = "davinci_mdio",
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod dra7xx_mdio_hwmod = {
|
||||||
|
.name = "davinci_mdio",
|
||||||
|
.class = &dra7xx_mdio_hwmod_class,
|
||||||
|
.clkdm_name = "gmac_clkdm",
|
||||||
|
.main_clk = "dpll_gmac_ck",
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 'dcan' class
|
* 'dcan' class
|
||||||
*
|
*
|
||||||
|
@ -1206,6 +1256,97 @@ static struct omap_hwmod dra7xx_ocp2scp1_hwmod = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* ocp2scp3 */
|
||||||
|
static struct omap_hwmod dra7xx_ocp2scp3_hwmod = {
|
||||||
|
.name = "ocp2scp3",
|
||||||
|
.class = &dra7xx_ocp2scp_hwmod_class,
|
||||||
|
.clkdm_name = "l3init_clkdm",
|
||||||
|
.main_clk = "l4_root_clk_div",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = DRA7XX_CM_L3INIT_OCP2SCP3_CLKCTRL_OFFSET,
|
||||||
|
.context_offs = DRA7XX_RM_L3INIT_OCP2SCP3_CONTEXT_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_HWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'PCIE' class
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
static struct omap_hwmod_class dra7xx_pcie_hwmod_class = {
|
||||||
|
.name = "pcie",
|
||||||
|
};
|
||||||
|
|
||||||
|
/* pcie1 */
|
||||||
|
static struct omap_hwmod dra7xx_pcie1_hwmod = {
|
||||||
|
.name = "pcie1",
|
||||||
|
.class = &dra7xx_pcie_hwmod_class,
|
||||||
|
.clkdm_name = "pcie_clkdm",
|
||||||
|
.main_clk = "l4_root_clk_div",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = DRA7XX_CM_PCIE_CLKSTCTRL_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_SWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/* pcie2 */
|
||||||
|
static struct omap_hwmod dra7xx_pcie2_hwmod = {
|
||||||
|
.name = "pcie2",
|
||||||
|
.class = &dra7xx_pcie_hwmod_class,
|
||||||
|
.clkdm_name = "pcie_clkdm",
|
||||||
|
.main_clk = "l4_root_clk_div",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = DRA7XX_CM_PCIE_CLKSTCTRL_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_SWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'PCIE PHY' class
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
static struct omap_hwmod_class dra7xx_pcie_phy_hwmod_class = {
|
||||||
|
.name = "pcie-phy",
|
||||||
|
};
|
||||||
|
|
||||||
|
/* pcie1 phy */
|
||||||
|
static struct omap_hwmod dra7xx_pcie1_phy_hwmod = {
|
||||||
|
.name = "pcie1-phy",
|
||||||
|
.class = &dra7xx_pcie_phy_hwmod_class,
|
||||||
|
.clkdm_name = "l3init_clkdm",
|
||||||
|
.main_clk = "l4_root_clk_div",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = DRA7XX_CM_L3INIT_PCIESS1_CLKCTRL_OFFSET,
|
||||||
|
.context_offs = DRA7XX_RM_L3INIT_PCIESS1_CONTEXT_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_SWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/* pcie2 phy */
|
||||||
|
static struct omap_hwmod dra7xx_pcie2_phy_hwmod = {
|
||||||
|
.name = "pcie2-phy",
|
||||||
|
.class = &dra7xx_pcie_phy_hwmod_class,
|
||||||
|
.clkdm_name = "l3init_clkdm",
|
||||||
|
.main_clk = "l4_root_clk_div",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = DRA7XX_CM_L3INIT_PCIESS2_CLKCTRL_OFFSET,
|
||||||
|
.context_offs = DRA7XX_RM_L3INIT_PCIESS2_CONTEXT_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_SWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 'qspi' class
|
* 'qspi' class
|
||||||
*
|
*
|
||||||
|
@ -1239,6 +1380,38 @@ static struct omap_hwmod dra7xx_qspi_hwmod = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'rtcss' class
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static struct omap_hwmod_class_sysconfig dra7xx_rtcss_sysc = {
|
||||||
|
.sysc_offs = 0x0078,
|
||||||
|
.sysc_flags = SYSC_HAS_SIDLEMODE,
|
||||||
|
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
|
||||||
|
SIDLE_SMART_WKUP),
|
||||||
|
.sysc_fields = &omap_hwmod_sysc_type3,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_class dra7xx_rtcss_hwmod_class = {
|
||||||
|
.name = "rtcss",
|
||||||
|
.sysc = &dra7xx_rtcss_sysc,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* rtcss */
|
||||||
|
static struct omap_hwmod dra7xx_rtcss_hwmod = {
|
||||||
|
.name = "rtcss",
|
||||||
|
.class = &dra7xx_rtcss_hwmod_class,
|
||||||
|
.clkdm_name = "rtc_clkdm",
|
||||||
|
.main_clk = "sys_32k_ck",
|
||||||
|
.prcm = {
|
||||||
|
.omap4 = {
|
||||||
|
.clkctrl_offs = DRA7XX_CM_RTC_RTCSS_CLKCTRL_OFFSET,
|
||||||
|
.context_offs = DRA7XX_RM_RTC_RTCSS_CONTEXT_OFFSET,
|
||||||
|
.modulemode = MODULEMODE_SWCTRL,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 'sata' class
|
* 'sata' class
|
||||||
*
|
*
|
||||||
|
@ -1990,6 +2163,19 @@ static struct omap_hwmod_ocp_if dra7xx_l4_wkup__ctrl_module_wkup = {
|
||||||
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l4_per2__cpgmac0 = {
|
||||||
|
.master = &dra7xx_l4_per2_hwmod,
|
||||||
|
.slave = &dra7xx_gmac_hwmod,
|
||||||
|
.clk = "dpll_gmac_ck",
|
||||||
|
.user = OCP_USER_MPU,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_gmac__mdio = {
|
||||||
|
.master = &dra7xx_gmac_hwmod,
|
||||||
|
.slave = &dra7xx_mdio_hwmod,
|
||||||
|
.user = OCP_USER_MPU,
|
||||||
|
};
|
||||||
|
|
||||||
/* l4_wkup -> dcan1 */
|
/* l4_wkup -> dcan1 */
|
||||||
static struct omap_hwmod_ocp_if dra7xx_l4_wkup__dcan1 = {
|
static struct omap_hwmod_ocp_if dra7xx_l4_wkup__dcan1 = {
|
||||||
.master = &dra7xx_l4_wkup_hwmod,
|
.master = &dra7xx_l4_wkup_hwmod,
|
||||||
|
@ -2317,6 +2503,62 @@ static struct omap_hwmod_ocp_if dra7xx_l4_cfg__ocp2scp1 = {
|
||||||
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* l4_cfg -> ocp2scp3 */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l4_cfg__ocp2scp3 = {
|
||||||
|
.master = &dra7xx_l4_cfg_hwmod,
|
||||||
|
.slave = &dra7xx_ocp2scp3_hwmod,
|
||||||
|
.clk = "l4_root_clk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* l3_main_1 -> pcie1 */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l3_main_1__pcie1 = {
|
||||||
|
.master = &dra7xx_l3_main_1_hwmod,
|
||||||
|
.slave = &dra7xx_pcie1_hwmod,
|
||||||
|
.clk = "l3_iclk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* l4_cfg -> pcie1 */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l4_cfg__pcie1 = {
|
||||||
|
.master = &dra7xx_l4_cfg_hwmod,
|
||||||
|
.slave = &dra7xx_pcie1_hwmod,
|
||||||
|
.clk = "l4_root_clk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* l3_main_1 -> pcie2 */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l3_main_1__pcie2 = {
|
||||||
|
.master = &dra7xx_l3_main_1_hwmod,
|
||||||
|
.slave = &dra7xx_pcie2_hwmod,
|
||||||
|
.clk = "l3_iclk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* l4_cfg -> pcie2 */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l4_cfg__pcie2 = {
|
||||||
|
.master = &dra7xx_l4_cfg_hwmod,
|
||||||
|
.slave = &dra7xx_pcie2_hwmod,
|
||||||
|
.clk = "l4_root_clk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* l4_cfg -> pcie1 phy */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l4_cfg__pcie1_phy = {
|
||||||
|
.master = &dra7xx_l4_cfg_hwmod,
|
||||||
|
.slave = &dra7xx_pcie1_phy_hwmod,
|
||||||
|
.clk = "l4_root_clk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* l4_cfg -> pcie2 phy */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l4_cfg__pcie2_phy = {
|
||||||
|
.master = &dra7xx_l4_cfg_hwmod,
|
||||||
|
.slave = &dra7xx_pcie2_phy_hwmod,
|
||||||
|
.clk = "l4_root_clk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
static struct omap_hwmod_addr_space dra7xx_qspi_addrs[] = {
|
static struct omap_hwmod_addr_space dra7xx_qspi_addrs[] = {
|
||||||
{
|
{
|
||||||
.pa_start = 0x4b300000,
|
.pa_start = 0x4b300000,
|
||||||
|
@ -2335,6 +2577,14 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__qspi = {
|
||||||
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* l4_per3 -> rtcss */
|
||||||
|
static struct omap_hwmod_ocp_if dra7xx_l4_per3__rtcss = {
|
||||||
|
.master = &dra7xx_l4_per3_hwmod,
|
||||||
|
.slave = &dra7xx_rtcss_hwmod,
|
||||||
|
.clk = "l4_root_clk_div",
|
||||||
|
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||||
|
};
|
||||||
|
|
||||||
static struct omap_hwmod_addr_space dra7xx_sata_addrs[] = {
|
static struct omap_hwmod_addr_space dra7xx_sata_addrs[] = {
|
||||||
{
|
{
|
||||||
.name = "sysc",
|
.name = "sysc",
|
||||||
|
@ -2633,6 +2883,8 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = {
|
||||||
&dra7xx_l4_wkup__ctrl_module_wkup,
|
&dra7xx_l4_wkup__ctrl_module_wkup,
|
||||||
&dra7xx_l4_wkup__dcan1,
|
&dra7xx_l4_wkup__dcan1,
|
||||||
&dra7xx_l4_per2__dcan2,
|
&dra7xx_l4_per2__dcan2,
|
||||||
|
&dra7xx_l4_per2__cpgmac0,
|
||||||
|
&dra7xx_gmac__mdio,
|
||||||
&dra7xx_l4_cfg__dma_system,
|
&dra7xx_l4_cfg__dma_system,
|
||||||
&dra7xx_l3_main_1__dss,
|
&dra7xx_l3_main_1__dss,
|
||||||
&dra7xx_l3_main_1__dispc,
|
&dra7xx_l3_main_1__dispc,
|
||||||
|
@ -2663,7 +2915,15 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = {
|
||||||
&dra7xx_l4_per1__mmc4,
|
&dra7xx_l4_per1__mmc4,
|
||||||
&dra7xx_l4_cfg__mpu,
|
&dra7xx_l4_cfg__mpu,
|
||||||
&dra7xx_l4_cfg__ocp2scp1,
|
&dra7xx_l4_cfg__ocp2scp1,
|
||||||
|
&dra7xx_l4_cfg__ocp2scp3,
|
||||||
|
&dra7xx_l3_main_1__pcie1,
|
||||||
|
&dra7xx_l4_cfg__pcie1,
|
||||||
|
&dra7xx_l3_main_1__pcie2,
|
||||||
|
&dra7xx_l4_cfg__pcie2,
|
||||||
|
&dra7xx_l4_cfg__pcie1_phy,
|
||||||
|
&dra7xx_l4_cfg__pcie2_phy,
|
||||||
&dra7xx_l3_main_1__qspi,
|
&dra7xx_l3_main_1__qspi,
|
||||||
|
&dra7xx_l4_per3__rtcss,
|
||||||
&dra7xx_l4_cfg__sata,
|
&dra7xx_l4_cfg__sata,
|
||||||
&dra7xx_l4_cfg__smartreflex_core,
|
&dra7xx_l4_cfg__smartreflex_core,
|
||||||
&dra7xx_l4_cfg__smartreflex_mpu,
|
&dra7xx_l4_cfg__smartreflex_mpu,
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
/*
|
||||||
|
* omap_hwmod_common_ipblock_data.c - common IP block data for OMAP2+
|
||||||
|
*
|
||||||
|
* Copyright (C) 2011 Nokia Corporation
|
||||||
|
* Copyright (C) 2012 Texas Instruments, Inc.
|
||||||
|
* Paul Walmsley
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "omap_hwmod.h"
|
||||||
|
#include "omap_hwmod_common_data.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'dss' class
|
||||||
|
* display sub-system
|
||||||
|
*/
|
||||||
|
|
||||||
|
static struct omap_hwmod_class_sysconfig omap2_dss_sysc = {
|
||||||
|
.rev_offs = 0x0000,
|
||||||
|
.sysc_offs = 0x0010,
|
||||||
|
.syss_offs = 0x0014,
|
||||||
|
.sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
|
||||||
|
SYSS_HAS_RESET_STATUS),
|
||||||
|
.sysc_fields = &omap_hwmod_sysc_type1,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct omap_hwmod_class omap2_dss_hwmod_class = {
|
||||||
|
.name = "dss",
|
||||||
|
.sysc = &omap2_dss_sysc,
|
||||||
|
.reset = omap_dss_reset,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 'rfbi' class
|
||||||
|
* remote frame buffer interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
static struct omap_hwmod_class_sysconfig omap2_rfbi_sysc = {
|
||||||
|
.rev_offs = 0x0000,
|
||||||
|
.sysc_offs = 0x0010,
|
||||||
|
.syss_offs = 0x0014,
|
||||||
|
.sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
|
||||||
|
SYSC_HAS_AUTOIDLE),
|
||||||
|
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
|
||||||
|
.sysc_fields = &omap_hwmod_sysc_type1,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct omap_hwmod_class omap2_rfbi_hwmod_class = {
|
||||||
|
.name = "rfbi",
|
||||||
|
.sysc = &omap2_rfbi_sysc,
|
||||||
|
};
|
||||||
|
|
|
@ -142,5 +142,6 @@
|
||||||
#define AM43XX_CM_PER_USBPHYOCP2SCP0_CLKCTRL_OFFSET 0x05B8
|
#define AM43XX_CM_PER_USBPHYOCP2SCP0_CLKCTRL_OFFSET 0x05B8
|
||||||
#define AM43XX_CM_PER_USB_OTG_SS1_CLKCTRL_OFFSET 0x0268
|
#define AM43XX_CM_PER_USB_OTG_SS1_CLKCTRL_OFFSET 0x0268
|
||||||
#define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET 0x05C0
|
#define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET 0x05C0
|
||||||
|
#define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET 0x0a20
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -374,6 +374,10 @@
|
||||||
#define DRA7XX_RM_L3INIT_IEEE1500_2_OCP_CONTEXT_OFFSET 0x007c
|
#define DRA7XX_RM_L3INIT_IEEE1500_2_OCP_CONTEXT_OFFSET 0x007c
|
||||||
#define DRA7XX_PM_L3INIT_SATA_WKDEP_OFFSET 0x0088
|
#define DRA7XX_PM_L3INIT_SATA_WKDEP_OFFSET 0x0088
|
||||||
#define DRA7XX_RM_L3INIT_SATA_CONTEXT_OFFSET 0x008c
|
#define DRA7XX_RM_L3INIT_SATA_CONTEXT_OFFSET 0x008c
|
||||||
|
#define DRA7XX_PM_L3INIT_PCIESS1_WKDEP_OFFSET 0x00b0
|
||||||
|
#define DRA7XX_RM_L3INIT_PCIESS1_CONTEXT_OFFSET 0x00b4
|
||||||
|
#define DRA7XX_PM_L3INIT_PCIESS2_WKDEP_OFFSET 0x00b8
|
||||||
|
#define DRA7XX_RM_L3INIT_PCIESS2_CONTEXT_OFFSET 0x00bc
|
||||||
#define DRA7XX_RM_GMAC_GMAC_CONTEXT_OFFSET 0x00d4
|
#define DRA7XX_RM_GMAC_GMAC_CONTEXT_OFFSET 0x00d4
|
||||||
#define DRA7XX_RM_L3INIT_OCP2SCP1_CONTEXT_OFFSET 0x00e4
|
#define DRA7XX_RM_L3INIT_OCP2SCP1_CONTEXT_OFFSET 0x00e4
|
||||||
#define DRA7XX_RM_L3INIT_OCP2SCP3_CONTEXT_OFFSET 0x00ec
|
#define DRA7XX_RM_L3INIT_OCP2SCP3_CONTEXT_OFFSET 0x00ec
|
||||||
|
|
Loading…
Reference in New Issue