[Letux-kernel] [PATCH] arm: dts: gta04: enable inputs/mcbsp1 pinux

H. Nikolaus Schaller hns at goldelico.com
Sat Nov 24 18:12:51 CET 2018


Hi,

> Am 24.11.2018 um 12:15 schrieb Andreas Kemnade <andreas at kemnade.info>:
> 
> To ensure proper clock handling, the mcbsp1 seems to need
> some feedback on its clocks, so enable inputs.
> 
> Signed-off-by: Andreas Kemnade <andreas at kemnade.info>
> ---
> Replaces: dtb: gta04: fix mcbsp1 fsr setting
> 
> arch/arm/boot/dts/omap3-gta04.dtsi | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi
> index 4e15137ae08a..2d6222625e19 100644
> --- a/arch/arm/boot/dts/omap3-gta04.dtsi
> +++ b/arch/arm/boot/dts/omap3-gta04.dtsi
> @@ -415,14 +415,14 @@
> 
> 	mcbsp1_pins: pinmux_mcbsp1_pins {
> 		pinctrl-single,pins = <
> -			OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT | MUX_MODE4)	/* mcbsp1_clkr.mcbsp1_clkr - gpio_156 FM interrupt */
> -			OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE0)	/* mcbsp1_clkr.mcbsp1_fsr */
> -			OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE0)	/* mcbsp1_dx.mcbsp1_dx */
> +			OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLUP | MUX_MODE4)	/* mcbsp1_clkr.mcbsp1_clkr - gpio_156 FM interrupt */

Yes, it may be reasonable to have explicit pull-ups if the Si4721 is disabled (suspended or driver removed).
I have no idea if the chip actively drives the FM interrupt line - and do we use it?
On the other hand it probably does neither care or harm.

> +			OMAP3_CORE1_IOPAD(0x218e, PIN_INPUT_PULLUP | MUX_MODE0)	/* mcbsp1_clkr.mcbsp1_fsr */

Yes, I remember strange things can happen if the pinmux was not defined as "input" although the pin was used as output.
Maybe we did have that in the board file in 2.6.32 or 3.7 up to 3.12.

> +			OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mcbsp1_dx.mcbsp1_dx */

This is probably when driver is removed to keep the output in a defined state when it switches to input?
May be good to note as a reminder in the commit message.

> 			OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT | MUX_MODE0)	/* mcbsp1_dx.mcbsp1_dr */
> 			/* mcbsp_clks is used as PENIRQ */
> 			/* OMAP3_CORE1_IOPAD(0x2194, PIN_INPUT | MUX_MODE0)	/* mcbsp_clks.mcbsp_clks */
> -			OMAP3_CORE1_IOPAD(0x2196, PIN_INPUT | MUX_MODE0)	/* mcbsp_clks.mcbsp1_fsx */
> -			OMAP3_CORE1_IOPAD(0x2198, PIN_INPUT | MUX_MODE0)	/* mcbsp1_clkx.mcbsp1_clkx */
> +			OMAP3_CORE1_IOPAD(0x2196, PIN_INPUT_PULLUP | MUX_MODE0)	/* mcbsp_clks.mcbsp1_fsx */
> +			OMAP3_CORE1_IOPAD(0x2198, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* mcbsp1_clkx.mcbsp1_clkx */

Is there a reason to mix pulldown and pullup especially on clocks?

> 		>;
> 	};
> 
> -- 
> 2.11.0

BR,
Nikolaus



More information about the Letux-kernel mailing list