Hi Tony, On Friday 18 May 2018 02:39 AM, Tony Lindgren wrote: > * Faiz Abbas <faiz_abbas@xxxxxx> [180408 09:59]: >> From: Lokesh Vutla <lokeshvutla@xxxxxx> >> >> Add MCAN hwmod data and register it for dra762 silicons. >> >> Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> >> Signed-off-by: Faiz Abbas <faiz_abbas@xxxxxx> >> --- >> arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 32 +++++++++++++++++++++++++++++++ >> 1 file changed, 32 insertions(+) >> >> diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c >> index 62352d1..a2cd7f8 100644 >> --- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c >> +++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c >> @@ -1356,6 +1356,29 @@ static struct omap_hwmod dra7xx_mailbox13_hwmod = { >> }; >> >> /* >> + * 'mcan' class >> + * >> + */ >> +static struct omap_hwmod_class dra76x_mcan_hwmod_class = { >> + .name = "mcan", >> +}; >> + >> +/* mcan */ >> +static struct omap_hwmod dra76x_mcan_hwmod = { >> + .name = "mcan", >> + .class = &dra76x_mcan_hwmod_class, >> + .clkdm_name = "wkupaon_clkdm", >> + .main_clk = "mcan_clk", >> + .prcm = { >> + .omap4 = { >> + .clkctrl_offs = DRA7XX_CM_WKUPAON_ADC_CLKCTRL_OFFSET, >> + .context_offs = DRA7XX_RM_WKUPAON_ADC_CONTEXT_OFFSET, >> + .modulemode = MODULEMODE_SWCTRL, >> + }, >> + }, >> +}; > > So based on the ti-sysc related dts comments, this patch should > work except you should be able to just leave out the clocks here > with the dts changes. > >> +/* >> * 'mcspi' class >> * >> */ >> @@ -3818,6 +3841,14 @@ static struct omap_hwmod_ocp_if dra7xx_l4_per2__epwmss2 = { >> .user = OCP_USER_MPU, >> }; >> >> +/* l3_main_1 -> mcan */ >> +static struct omap_hwmod_ocp_if dra76x_l3_main_1__mcan = { >> + .master = &dra7xx_l3_main_1_hwmod, >> + .slave = &dra76x_mcan_hwmod, >> + .clk = "l3_iclk_div", >> + .user = OCP_USER_MPU | OCP_USER_SDMA, >> +}; >> + >> static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = { >> &dra7xx_l3_main_1__dmm, >> &dra7xx_l3_main_2__l3_instr, >> @@ -3958,6 +3989,7 @@ static struct omap_hwmod_ocp_if *dra7xx_gp_hwmod_ocp_ifs[] __initdata = { >> /* SoC variant specific hwmod links */ >> static struct omap_hwmod_ocp_if *dra76x_hwmod_ocp_ifs[] __initdata = { >> &dra7xx_l4_per3__usb_otg_ss4, >> + &dra76x_l3_main_1__mcan, >> NULL, >> }; > > So the omap_hwmod_class, omap_hwmod_ocp_if and entry on the > dra76x_hwmod_ocp_ifs list are still needed with ti-sysc for a > while. Eventually that data will just come from the dts interconnect > hierarchy. For struct omap_hwmod_class_sysconfig, ti-sysc will > allocate and it based on the dts data. > Thanks for the detailed pointers. I will figure out the ti-sysc node that needs to be added and post a v2. Thanks, Faiz -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html