Skip to content

Commit 5b63fb9

Browse files
committed
ARM: dts: Fix incomplete dts data for am3 and am4 mmc
Commit 4e27f75 ("ARM: OMAP2+: Drop mmc platform data for am330x and am43xx") dropped legacy mmc platform data for am3 and am4, but missed the fact that we never updated the dts files for mmc3 that is directly on l3 interconnect instead of l4 interconnect. This leads to a situation with no legacy platform data and incomplete dts data. Let's update the mmc instances on l3 interconnect to probe properly with ti-sysc interconnect target module driver to make mmc3 work again. Let's still keep legacy "ti,hwmods" property around for v5.2 kernel and only drop it later on. Note that there is no need to use property status = "disabled" for mmc3. The default for dts is enabled, and runtime PM will idle unused instances just fine. Fixes: 4e27f75 ("ARM: OMAP2+: Drop mmc platform data for am330x and am43xx") Reported-by: David Lechner <[email protected]> Tested-by: David Lechner <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
1 parent a304f48 commit 5b63fb9

File tree

2 files changed

+52
-12
lines changed

2 files changed

+52
-12
lines changed

arch/arm/boot/dts/am33xx.dtsi

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,33 @@
234234
interrupt-names = "edma3_tcerrint";
235235
};
236236

237-
mmc3: mmc@47810000 {
238-
compatible = "ti,omap4-hsmmc";
237+
target-module@47810000 {
238+
compatible = "ti,sysc-omap2", "ti,sysc";
239239
ti,hwmods = "mmc3";
240-
ti,needs-special-reset;
241-
interrupts = <29>;
242-
reg = <0x47810000 0x1000>;
243-
status = "disabled";
240+
reg = <0x478102fc 0x4>,
241+
<0x47810110 0x4>,
242+
<0x47810114 0x4>;
243+
reg-names = "rev", "sysc", "syss";
244+
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
245+
SYSC_OMAP2_ENAWAKEUP |
246+
SYSC_OMAP2_SOFTRESET |
247+
SYSC_OMAP2_AUTOIDLE)>;
248+
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
249+
<SYSC_IDLE_NO>,
250+
<SYSC_IDLE_SMART>;
251+
ti,syss-mask = <1>;
252+
clocks = <&l3s_clkctrl AM3_L3S_MMC3_CLKCTRL 0>;
253+
clock-names = "fck";
254+
#address-cells = <1>;
255+
#size-cells = <1>;
256+
ranges = <0x0 0x47810000 0x1000>;
257+
258+
mmc3: mmc@0 {
259+
compatible = "ti,omap4-hsmmc";
260+
ti,needs-special-reset;
261+
interrupts = <29>;
262+
reg = <0x0 0x1000>;
263+
};
244264
};
245265

246266
usb: usb@47400000 {

arch/arm/boot/dts/am4372.dtsi

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -228,13 +228,33 @@
228228
interrupt-names = "edma3_tcerrint";
229229
};
230230

231-
mmc3: mmc@47810000 {
232-
compatible = "ti,omap4-hsmmc";
233-
reg = <0x47810000 0x1000>;
231+
target-module@47810000 {
232+
compatible = "ti,sysc-omap2", "ti,sysc";
234233
ti,hwmods = "mmc3";
235-
ti,needs-special-reset;
236-
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
237-
status = "disabled";
234+
reg = <0x478102fc 0x4>,
235+
<0x47810110 0x4>,
236+
<0x47810114 0x4>;
237+
reg-names = "rev", "sysc", "syss";
238+
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
239+
SYSC_OMAP2_ENAWAKEUP |
240+
SYSC_OMAP2_SOFTRESET |
241+
SYSC_OMAP2_AUTOIDLE)>;
242+
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
243+
<SYSC_IDLE_NO>,
244+
<SYSC_IDLE_SMART>;
245+
ti,syss-mask = <1>;
246+
clocks = <&l3s_clkctrl AM4_L3S_MMC3_CLKCTRL 0>;
247+
clock-names = "fck";
248+
#address-cells = <1>;
249+
#size-cells = <1>;
250+
ranges = <0x0 0x47810000 0x1000>;
251+
252+
mmc3: mmc@0 {
253+
compatible = "ti,omap4-hsmmc";
254+
ti,needs-special-reset;
255+
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
256+
reg = <0x0 0x1000>;
257+
};
238258
};
239259

240260
sham: sham@53100000 {

0 commit comments

Comments
 (0)