Skip to content

Commit 587c437

Browse files
committed
ARM: dts: Configure am3 and am4 sgx for genpd and drop platform data
We can power off the SGX power domain when not in use when we configure it for genpd. And with that change, we can now also drop the old unused legacy platform data. Signed-off-by: Tony Lindgren <tony@atomide.com> Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
1 parent 2bbcd65 commit 587c437

6 files changed

Lines changed: 4 additions & 60 deletions

File tree

arch/arm/boot/dts/am33xx.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,7 @@
578578
<SYSC_IDLE_SMART>;
579579
clocks = <&gfx_l3_clkctrl AM3_GFX_L3_GFX_CLKCTRL 0>;
580580
clock-names = "fck";
581+
power-domains = <&prm_gfx>;
581582
resets = <&prm_gfx 0>;
582583
reset-names = "rstctrl";
583584
#address-cells = <1>;
@@ -617,6 +618,7 @@
617618
prm_gfx: prm@1100 {
618619
compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
619620
reg = <0x1100 0x100>;
621+
#power-domain-cells = <0>;
620622
#reset-cells = <1>;
621623
};
622624
};

arch/arm/boot/dts/am4372.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,7 @@
517517
<SYSC_IDLE_SMART>;
518518
clocks = <&gfx_l3_clkctrl AM4_GFX_L3_GFX_CLKCTRL 0>;
519519
clock-names = "fck";
520+
power-domains = <&prm_gfx>;
520521
resets = <&prm_gfx 0>;
521522
reset-names = "rstctrl";
522523
#address-cells = <1>;
@@ -533,6 +534,7 @@
533534
prm_gfx: prm@400 {
534535
compatible = "ti,am4-prm-inst", "ti,omap-prm-inst";
535536
reg = <0x400 0x100>;
537+
#power-domain-cells = <0>;
536538
#reset-cells = <1>;
537539
};
538540

arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -74,22 +74,6 @@ struct omap_hwmod_ocp_if am33xx_l3_s__l3_main = {
7474
.user = OCP_USER_MPU | OCP_USER_SDMA,
7575
};
7676

77-
/* gfx -> l3 main */
78-
struct omap_hwmod_ocp_if am33xx_gfx__l3_main = {
79-
.master = &am33xx_gfx_hwmod,
80-
.slave = &am33xx_l3_main_hwmod,
81-
.clk = "dpll_core_m4_ck",
82-
.user = OCP_USER_MPU | OCP_USER_SDMA,
83-
};
84-
85-
/* l3 main -> gfx */
86-
struct omap_hwmod_ocp_if am33xx_l3_main__gfx = {
87-
.master = &am33xx_l3_main_hwmod,
88-
.slave = &am33xx_gfx_hwmod,
89-
.clk = "dpll_core_m4_ck",
90-
.user = OCP_USER_MPU | OCP_USER_SDMA,
91-
};
92-
9377
/* l4 wkup -> rtc */
9478
struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc = {
9579
.master = &am33xx_l4_wkup_hwmod,

arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -133,30 +133,6 @@ struct omap_hwmod_class am33xx_wkup_m3_hwmod_class = {
133133
.name = "wkup_m3",
134134
};
135135

136-
/* gfx */
137-
/* Pseudo hwmod for reset control purpose only */
138-
static struct omap_hwmod_class am33xx_gfx_hwmod_class = {
139-
.name = "gfx",
140-
};
141-
142-
static struct omap_hwmod_rst_info am33xx_gfx_resets[] = {
143-
{ .name = "gfx", .rst_shift = 0, .st_shift = 0},
144-
};
145-
146-
struct omap_hwmod am33xx_gfx_hwmod = {
147-
.name = "gfx",
148-
.class = &am33xx_gfx_hwmod_class,
149-
.clkdm_name = "gfx_l3_clkdm",
150-
.main_clk = "gfx_fck_div_ck",
151-
.prcm = {
152-
.omap4 = {
153-
.modulemode = MODULEMODE_SWCTRL,
154-
},
155-
},
156-
.rst_lines = am33xx_gfx_resets,
157-
.rst_lines_cnt = ARRAY_SIZE(am33xx_gfx_resets),
158-
};
159-
160136
/*
161137
* 'prcm' class
162138
* power and reset manager (whole prcm infrastructure)
@@ -319,22 +295,14 @@ static void omap_hwmod_am33xx_clkctrl(void)
319295
CLKCTRL(am33xx_l4_ls_hwmod, AM33XX_CM_PER_L4LS_CLKCTRL_OFFSET);
320296
CLKCTRL(am33xx_l4_wkup_hwmod, AM33XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
321297
CLKCTRL(am33xx_l3_main_hwmod, AM33XX_CM_PER_L3_CLKCTRL_OFFSET);
322-
CLKCTRL(am33xx_gfx_hwmod, AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET);
323298
CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET);
324299
CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
325300
CLKCTRL(am33xx_ocmcram_hwmod , AM33XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET);
326301
}
327302

328-
static void omap_hwmod_am33xx_rst(void)
329-
{
330-
RSTCTRL(am33xx_gfx_hwmod, AM33XX_RM_GFX_RSTCTRL_OFFSET);
331-
RSTST(am33xx_gfx_hwmod, AM33XX_RM_GFX_RSTST_OFFSET);
332-
}
333-
334303
void omap_hwmod_am33xx_reg(void)
335304
{
336305
omap_hwmod_am33xx_clkctrl();
337-
omap_hwmod_am33xx_rst();
338306
}
339307

340308
static void omap_hwmod_am43xx_clkctrl(void)
@@ -348,20 +316,12 @@ static void omap_hwmod_am43xx_clkctrl(void)
348316
CLKCTRL(am33xx_l4_ls_hwmod, AM43XX_CM_PER_L4LS_CLKCTRL_OFFSET);
349317
CLKCTRL(am33xx_l4_wkup_hwmod, AM43XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
350318
CLKCTRL(am33xx_l3_main_hwmod, AM43XX_CM_PER_L3_CLKCTRL_OFFSET);
351-
CLKCTRL(am33xx_gfx_hwmod, AM43XX_CM_GFX_GFX_CLKCTRL_OFFSET);
352319
CLKCTRL(am33xx_mpu_hwmod , AM43XX_CM_MPU_MPU_CLKCTRL_OFFSET);
353320
CLKCTRL(am33xx_l3_instr_hwmod , AM43XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
354321
CLKCTRL(am33xx_ocmcram_hwmod , AM43XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET);
355322
}
356323

357-
static void omap_hwmod_am43xx_rst(void)
358-
{
359-
RSTCTRL(am33xx_gfx_hwmod, AM43XX_RM_GFX_RSTCTRL_OFFSET);
360-
RSTST(am33xx_gfx_hwmod, AM43XX_RM_GFX_RSTST_OFFSET);
361-
}
362-
363324
void omap_hwmod_am43xx_reg(void)
364325
{
365326
omap_hwmod_am43xx_clkctrl();
366-
omap_hwmod_am43xx_rst();
367327
}

arch/arm/mach-omap2/omap_hwmod_33xx_data.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,10 +274,8 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
274274
&am33xx_l3_main__l4_hs,
275275
&am33xx_l3_main__l3_s,
276276
&am33xx_l3_main__l3_instr,
277-
&am33xx_l3_main__gfx,
278277
&am33xx_l3_s__l3_main,
279278
&am33xx_wkup_m3__l4_wkup,
280-
&am33xx_gfx__l3_main,
281279
&am33xx_l3_main__debugss,
282280
&am33xx_l4_wkup__wkup_m3,
283281
&am33xx_l4_wkup__control,

arch/arm/mach-omap2/omap_hwmod_43xx_data.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,9 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
143143
&am43xx_l3_main__l4_hs,
144144
&am33xx_l3_main__l3_s,
145145
&am33xx_l3_main__l3_instr,
146-
&am33xx_l3_main__gfx,
147146
&am33xx_l3_s__l3_main,
148147
&am43xx_l3_main__emif,
149148
&am43xx_wkup_m3__l4_wkup,
150-
&am33xx_gfx__l3_main,
151149
&am43xx_l4_wkup__wkup_m3,
152150
&am43xx_l4_wkup__control,
153151
&am43xx_l4_wkup__smartreflex0,

0 commit comments

Comments
 (0)