Skip to content

Commit 846e24d

Browse files
committed
Merge tag 'omap-for-v5.18/fixes-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
Fixes for omaps Few regression fixes for omap variants. These mostly fix issues related to warnings added for system suspend, and some devicetree issues: - Make ti-sysc driver quirks for gpt12 timer omap3 specific to fix timer clock disabling for am335x system suspend - Fix new system suspend warning for dra7 vpe caused by trying to use register bits not wired for vpe - Fix mmc boot order for omap3-gta04 that has no mmc2 or 3 wired - Add missing touchscreen properties for am3 - Fix pin muxing for logicpd-som-lv and am3517-evm to not depend on earlier bootloader versions - Fix refcount leak for omap_gic_of_init * tag 'omap-for-v5.18/fixes-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: logicpd-som-lv: Fix wrong pinmuxing on OMAP35 ARM: dts: am3517-evm: Fix misc pinmuxing ARM: dts: am33xx-l4: Add missing touchscreen clock properties ARM: dts: Fix mmc order for omap3-gta04 ARM: dts: dra7: Fix suspend warning for vpe powerdomain bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific ARM: OMAP2+: Fix refcount leak in omap_gic_of_init iommu/omap: Fix regression in probe for NULL pointer dereference Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2 parents 90f2146 + 46ff3df commit 846e24d

File tree

11 files changed

+103
-24
lines changed

11 files changed

+103
-24
lines changed

arch/arm/boot/dts/am33xx-l4.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,8 @@
263263
compatible = "ti,am3359-tscadc";
264264
reg = <0x0 0x1000>;
265265
interrupts = <16>;
266+
clocks = <&adc_tsc_fck>;
267+
clock-names = "fck";
266268
status = "disabled";
267269
dmas = <&edma 53 0>, <&edma 57 0>;
268270
dma-names = "fifo0", "fifo1";

arch/arm/boot/dts/am3517-evm.dts

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,14 +161,18 @@
161161

162162
/* HS USB Host PHY on PORT 1 */
163163
hsusb1_phy: hsusb1_phy {
164+
pinctrl-names = "default";
165+
pinctrl-0 = <&hsusb1_rst_pins>;
164166
compatible = "usb-nop-xceiv";
165167
reset-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>; /* gpio_57 */
166168
#phy-cells = <0>;
167169
};
168170
};
169171

170172
&davinci_emac {
171-
status = "okay";
173+
pinctrl-names = "default";
174+
pinctrl-0 = <&ethernet_pins>;
175+
status = "okay";
172176
};
173177

174178
&davinci_mdio {
@@ -193,6 +197,8 @@
193197
};
194198

195199
&i2c2 {
200+
pinctrl-names = "default";
201+
pinctrl-0 = <&i2c2_pins>;
196202
clock-frequency = <400000>;
197203
/* User DIP swithes [1:8] / User LEDS [1:2] */
198204
tca6416: gpio@21 {
@@ -205,6 +211,8 @@
205211
};
206212

207213
&i2c3 {
214+
pinctrl-names = "default";
215+
pinctrl-0 = <&i2c3_pins>;
208216
clock-frequency = <400000>;
209217
};
210218

@@ -223,6 +231,8 @@
223231
};
224232

225233
&usbhshost {
234+
pinctrl-names = "default";
235+
pinctrl-0 = <&hsusb1_pins>;
226236
port1-mode = "ehci-phy";
227237
};
228238

@@ -231,8 +241,35 @@
231241
};
232242

233243
&omap3_pmx_core {
234-
pinctrl-names = "default";
235-
pinctrl-0 = <&hsusb1_rst_pins>;
244+
245+
ethernet_pins: pinmux_ethernet_pins {
246+
pinctrl-single,pins = <
247+
OMAP3_CORE1_IOPAD(0x21fe, PIN_INPUT | MUX_MODE0) /* rmii_mdio_data */
248+
OMAP3_CORE1_IOPAD(0x2200, MUX_MODE0) /* rmii_mdio_clk */
249+
OMAP3_CORE1_IOPAD(0x2202, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_rxd0 */
250+
OMAP3_CORE1_IOPAD(0x2204, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_rxd1 */
251+
OMAP3_CORE1_IOPAD(0x2206, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_crs_dv */
252+
OMAP3_CORE1_IOPAD(0x2208, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* rmii_rxer */
253+
OMAP3_CORE1_IOPAD(0x220a, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* rmii_txd0 */
254+
OMAP3_CORE1_IOPAD(0x220c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* rmii_txd1 */
255+
OMAP3_CORE1_IOPAD(0x220e, PIN_OUTPUT_PULLDOWN |MUX_MODE0) /* rmii_txen */
256+
OMAP3_CORE1_IOPAD(0x2210, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii_50mhz_clk */
257+
>;
258+
};
259+
260+
i2c2_pins: pinmux_i2c2_pins {
261+
pinctrl-single,pins = <
262+
OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
263+
OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
264+
>;
265+
};
266+
267+
i2c3_pins: pinmux_i2c3_pins {
268+
pinctrl-single,pins = <
269+
OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
270+
OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
271+
>;
272+
};
236273

237274
leds_pins: pinmux_leds_pins {
238275
pinctrl-single,pins = <
@@ -300,8 +337,6 @@
300337
};
301338

302339
&omap3_pmx_core2 {
303-
pinctrl-names = "default";
304-
pinctrl-0 = <&hsusb1_pins>;
305340

306341
hsusb1_pins: pinmux_hsusb1_pins {
307342
pinctrl-single,pins = <

arch/arm/boot/dts/am3517-som.dtsi

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@
6969
};
7070

7171
&i2c1 {
72+
pinctrl-names = "default";
73+
pinctrl-0 = <&i2c1_pins>;
7274
clock-frequency = <400000>;
7375

7476
s35390a: s35390a@30 {
@@ -179,6 +181,13 @@
179181

180182
&omap3_pmx_core {
181183

184+
i2c1_pins: pinmux_i2c1_pins {
185+
pinctrl-single,pins = <
186+
OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
187+
OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
188+
>;
189+
};
190+
182191
wl12xx_buffer_pins: pinmux_wl12xx_buffer_pins {
183192
pinctrl-single,pins = <
184193
OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* mmc1_dat7.gpio_129 */

arch/arm/boot/dts/dra7-l4.dtsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4188,11 +4188,11 @@
41884188
reg = <0x1d0010 0x4>;
41894189
reg-names = "sysc";
41904190
ti,sysc-midle = <SYSC_IDLE_FORCE>,
4191-
<SYSC_IDLE_NO>,
4192-
<SYSC_IDLE_SMART>;
4191+
<SYSC_IDLE_NO>;
41934192
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
41944193
<SYSC_IDLE_NO>,
41954194
<SYSC_IDLE_SMART>;
4195+
power-domains = <&prm_vpe>;
41964196
clocks = <&vpe_clkctrl DRA7_VPE_VPE_CLKCTRL 0>;
41974197
clock-names = "fck";
41984198
#address-cells = <1>;

arch/arm/boot/dts/logicpd-som-lv-35xx-devkit.dts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,18 @@
1111
model = "LogicPD Zoom OMAP35xx SOM-LV Development Kit";
1212
compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3430", "ti,omap3";
1313
};
14+
15+
&omap3_pmx_core2 {
16+
pinctrl-names = "default";
17+
pinctrl-0 = <&hsusb2_2_pins>;
18+
hsusb2_2_pins: pinmux_hsusb2_2_pins {
19+
pinctrl-single,pins = <
20+
OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
21+
OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
22+
OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
23+
OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
24+
OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
25+
OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
26+
>;
27+
};
28+
};

arch/arm/boot/dts/logicpd-som-lv-37xx-devkit.dts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,18 @@
1111
model = "LogicPD Zoom DM3730 SOM-LV Development Kit";
1212
compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3630", "ti,omap3";
1313
};
14+
15+
&omap3_pmx_core2 {
16+
pinctrl-names = "default";
17+
pinctrl-0 = <&hsusb2_2_pins>;
18+
hsusb2_2_pins: pinmux_hsusb2_2_pins {
19+
pinctrl-single,pins = <
20+
OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
21+
OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
22+
OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
23+
OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
24+
OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
25+
OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
26+
>;
27+
};
28+
};

arch/arm/boot/dts/logicpd-som-lv.dtsi

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -265,21 +265,6 @@
265265
};
266266
};
267267

268-
&omap3_pmx_core2 {
269-
pinctrl-names = "default";
270-
pinctrl-0 = <&hsusb2_2_pins>;
271-
hsusb2_2_pins: pinmux_hsusb2_2_pins {
272-
pinctrl-single,pins = <
273-
OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
274-
OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
275-
OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
276-
OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
277-
OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
278-
OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
279-
>;
280-
};
281-
};
282-
283268
&uart2 {
284269
interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
285270
pinctrl-names = "default";

arch/arm/boot/dts/omap3-gta04.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
aliases {
3232
display0 = &lcd;
3333
display1 = &tv0;
34+
/delete-property/ mmc2;
35+
/delete-property/ mmc3;
3436
};
3537

3638
ldo_3v3: fixedregulator {

arch/arm/mach-omap2/omap4-common.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,12 @@ void __init omap_gic_of_init(void)
314314

315315
np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-gic");
316316
gic_dist_base_addr = of_iomap(np, 0);
317+
of_node_put(np);
317318
WARN_ON(!gic_dist_base_addr);
318319

319320
np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-twd-timer");
320321
twd_base = of_iomap(np, 0);
322+
of_node_put(np);
321323
WARN_ON(!twd_base);
322324

323325
skip_errata_init:

drivers/bus/ti-sysc.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3232,13 +3232,27 @@ static int sysc_check_disabled_devices(struct sysc *ddata)
32323232
*/
32333233
static int sysc_check_active_timer(struct sysc *ddata)
32343234
{
3235+
int error;
3236+
32353237
if (ddata->cap->type != TI_SYSC_OMAP2_TIMER &&
32363238
ddata->cap->type != TI_SYSC_OMAP4_TIMER)
32373239
return 0;
32383240

3241+
/*
3242+
* Quirk for omap3 beagleboard revision A to B4 to use gpt12.
3243+
* Revision C and later are fixed with commit 23885389dbbb ("ARM:
3244+
* dts: Fix timer regression for beagleboard revision c"). This all
3245+
* can be dropped if we stop supporting old beagleboard revisions
3246+
* A to B4 at some point.
3247+
*/
3248+
if (sysc_soc->soc == SOC_3430)
3249+
error = -ENXIO;
3250+
else
3251+
error = -EBUSY;
3252+
32393253
if ((ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT) &&
32403254
(ddata->cfg.quirks & SYSC_QUIRK_NO_IDLE))
3241-
return -ENXIO;
3255+
return error;
32423256

32433257
return 0;
32443258
}

0 commit comments

Comments
 (0)