Skip to content

Commit 0d7ce5c

Browse files
committed
Merge branch 'omap-for-v5.10/prm-genpd' into omap-for-v5.10/ti-sysc-drop-pdata
2 parents 90aa4ed + 0fd1594 commit 0d7ce5c

15 files changed

Lines changed: 298 additions & 131 deletions

Documentation/devicetree/bindings/arm/omap/prm-inst.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ Required properties:
1818
(base address and length)
1919

2020
Optional properties:
21+
- #power-domain-cells: Should be 0 if the instance is a power domain provider.
2122
- #reset-cells: Should be 1 if the PRM instance in question supports resets.
2223

2324
Example:
2425

2526
prm_dsp2: prm@1b00 {
2627
compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
2728
reg = <0x1b00 0x40>;
29+
#power-domain-cells = <0>;
2830
#reset-cells = <1>;
2931
};

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/boot/dts/omap4-l4-abe.dtsi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
&l4_abe { /* 0x40100000 */
2-
compatible = "ti,omap4-l4-abe", "simple-bus";
2+
compatible = "ti,omap4-l4-abe", "simple-pm-bus";
33
reg = <0x40100000 0x400>,
44
<0x40100400 0x400>;
55
reg-names = "la", "ap";
6+
power-domains = <&prm_abe>;
7+
/* OMAP4_L4_ABE_CLKCTRL is read-only */
68
#address-cells = <1>;
79
#size-cells = <1>;
810
ranges = <0x00000000 0x40100000 0x100000>, /* segment 0 */
911
<0x49000000 0x49000000 0x100000>;
1012
segment@0 { /* 0x40100000 */
11-
compatible = "simple-bus";
13+
compatible = "simple-pm-bus";
1214
#address-cells = <1>;
1315
#size-cells = <1>;
1416
ranges =

arch/arm/boot/dts/omap4.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,12 @@
658658
#reset-cells = <1>;
659659
};
660660

661+
prm_abe: prm@500 {
662+
compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
663+
reg = <0x500 0x100>;
664+
#power-domain-cells = <0>;
665+
};
666+
661667
prm_core: prm@700 {
662668
compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
663669
reg = <0x700 0x100>;

arch/arm/boot/dts/omap5-l4-abe.dtsi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
&l4_abe { /* 0x40100000 */
2-
compatible = "ti,omap5-l4-abe", "simple-bus";
2+
compatible = "ti,omap5-l4-abe", "simple-pm-bus";
33
reg = <0x40100000 0x400>,
44
<0x40100400 0x400>;
55
reg-names = "la", "ap";
6+
power-domains = <&prm_abe>;
7+
/* OMAP5_L4_ABE_CLKCTRL is read-only */
68
#address-cells = <1>;
79
#size-cells = <1>;
810
ranges = <0x00000000 0x40100000 0x100000>, /* segment 0 */
911
<0x49000000 0x49000000 0x100000>;
1012
segment@0 { /* 0x40100000 */
11-
compatible = "simple-bus";
13+
compatible = "simple-pm-bus";
1214
#address-cells = <1>;
1315
#size-cells = <1>;
1416
ranges =

arch/arm/boot/dts/omap5.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,12 @@
674674
#reset-cells = <1>;
675675
};
676676

677+
prm_abe: prm@500 {
678+
compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
679+
reg = <0x500 0x100>;
680+
#power-domain-cells = <0>;
681+
};
682+
677683
prm_core: prm@700 {
678684
compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
679685
reg = <0x700 0x100>;

arch/arm/mach-omap2/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ config ARCH_OMAP2
77
depends on ARCH_MULTI_V6
88
select ARCH_OMAP2PLUS
99
select CPU_V6
10+
select PM_GENERIC_DOMAINS if PM
1011
select SOC_HAS_OMAP2_SDRC
1112

1213
config ARCH_OMAP3

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
/* l3s cfg -> gpmc */
9478
struct omap_hwmod_ocp_if am33xx_l3_s__gpmc = {
9579
.master = &am33xx_l3_s_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
@@ -132,30 +132,6 @@ struct omap_hwmod_class am33xx_wkup_m3_hwmod_class = {
132132
.name = "wkup_m3",
133133
};
134134

135-
/* gfx */
136-
/* Pseudo hwmod for reset control purpose only */
137-
static struct omap_hwmod_class am33xx_gfx_hwmod_class = {
138-
.name = "gfx",
139-
};
140-
141-
static struct omap_hwmod_rst_info am33xx_gfx_resets[] = {
142-
{ .name = "gfx", .rst_shift = 0, .st_shift = 0},
143-
};
144-
145-
struct omap_hwmod am33xx_gfx_hwmod = {
146-
.name = "gfx",
147-
.class = &am33xx_gfx_hwmod_class,
148-
.clkdm_name = "gfx_l3_clkdm",
149-
.main_clk = "gfx_fck_div_ck",
150-
.prcm = {
151-
.omap4 = {
152-
.modulemode = MODULEMODE_SWCTRL,
153-
},
154-
},
155-
.rst_lines = am33xx_gfx_resets,
156-
.rst_lines_cnt = ARRAY_SIZE(am33xx_gfx_resets),
157-
};
158-
159135
/*
160136
* 'prcm' class
161137
* power and reset manager (whole prcm infrastructure)
@@ -283,22 +259,14 @@ static void omap_hwmod_am33xx_clkctrl(void)
283259
CLKCTRL(am33xx_l4_ls_hwmod, AM33XX_CM_PER_L4LS_CLKCTRL_OFFSET);
284260
CLKCTRL(am33xx_l4_wkup_hwmod, AM33XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
285261
CLKCTRL(am33xx_l3_main_hwmod, AM33XX_CM_PER_L3_CLKCTRL_OFFSET);
286-
CLKCTRL(am33xx_gfx_hwmod, AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET);
287262
CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET);
288263
CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
289264
CLKCTRL(am33xx_ocmcram_hwmod , AM33XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET);
290265
}
291266

292-
static void omap_hwmod_am33xx_rst(void)
293-
{
294-
RSTCTRL(am33xx_gfx_hwmod, AM33XX_RM_GFX_RSTCTRL_OFFSET);
295-
RSTST(am33xx_gfx_hwmod, AM33XX_RM_GFX_RSTST_OFFSET);
296-
}
297-
298267
void omap_hwmod_am33xx_reg(void)
299268
{
300269
omap_hwmod_am33xx_clkctrl();
301-
omap_hwmod_am33xx_rst();
302270
}
303271

304272
static void omap_hwmod_am43xx_clkctrl(void)
@@ -311,20 +279,12 @@ static void omap_hwmod_am43xx_clkctrl(void)
311279
CLKCTRL(am33xx_l4_ls_hwmod, AM43XX_CM_PER_L4LS_CLKCTRL_OFFSET);
312280
CLKCTRL(am33xx_l4_wkup_hwmod, AM43XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
313281
CLKCTRL(am33xx_l3_main_hwmod, AM43XX_CM_PER_L3_CLKCTRL_OFFSET);
314-
CLKCTRL(am33xx_gfx_hwmod, AM43XX_CM_GFX_GFX_CLKCTRL_OFFSET);
315282
CLKCTRL(am33xx_mpu_hwmod , AM43XX_CM_MPU_MPU_CLKCTRL_OFFSET);
316283
CLKCTRL(am33xx_l3_instr_hwmod , AM43XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
317284
CLKCTRL(am33xx_ocmcram_hwmod , AM43XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET);
318285
}
319286

320-
static void omap_hwmod_am43xx_rst(void)
321-
{
322-
RSTCTRL(am33xx_gfx_hwmod, AM43XX_RM_GFX_RSTCTRL_OFFSET);
323-
RSTST(am33xx_gfx_hwmod, AM43XX_RM_GFX_RSTST_OFFSET);
324-
}
325-
326287
void omap_hwmod_am43xx_reg(void)
327288
{
328289
omap_hwmod_am43xx_clkctrl();
329-
omap_hwmod_am43xx_rst();
330290
}

0 commit comments

Comments
 (0)