[PATCH 1/3] arm: omap2: Export devconf1 bypass and acbias.
Tony Lindgren
tony at atomide.com
Mon Nov 11 18:31:52 EST 2013
* Belisko Marek <marek.belisko at gmail.com> [131111 14:01]:
> Hi Tony,
>
> On Mon, Nov 11, 2013 at 5:49 PM, Tony Lindgren <tony at atomide.com> wrote:
> > * Marek Belisko <marek at goldelico.com> [131014 14:11]:
> >> devconf1 reg access is localized only in mach-omap2 and we need to export
> >> updating of devconf1 from omapdss venc driver (bypass and acbias bits).
> >> Add simple api call which update only necessary bits.
> > ...
> >
> >> +void update_bypass_acbias(bool bypass, bool acbias)
> >> +{
> >> +#ifdef CONFIG_ARCH_OMAP3
> >> + int val = omap_ctrl_readl(OMAP343X_CONTROL_DEVCONF1);
> >> +
> >> + if (bypass)
> >> + val |= OMAP2_TVOUTBYPASS;
> >> + else
> >> + val &= ~OMAP2_TVOUTBYPASS;
> >> +
> >> + if (acbias)
> >> + val |= OMAP2_TVACEN;
> >> + else
> >> + val &= ~OMAP2_TVACEN;
> >> +
> >> + omap_ctrl_writel(val, OMAP343X_CONTROL_DEVCONF1);
> >> +#endif
> >
> > If this is truly a pinmux, you could already access this
> > using pinctrl-single,bits device tree driver.
> >
> > But I guess that won't work yet, so it's best to set this
> > up as a separate driver like we've done for the USB PHY
> > registers.
>
> Can you please point me to that driver directly? I cannot see benefit
> of new driver as as it will be only dummy driver
> with export_symbol_gpl of upper function. Can it sit then in dss
> directory or somewhere else? Thanks.
You can take a look at drivers/usb/phy/phy-omap-control.c.
Then there's a device tree using example for control_devconf0 in
Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt.
Looks like CONTROL_DEVCONF1 contains a bunch of misc registers,
and arch/arm/mach-omap2/hsmmc.c seems to be tinkering with it too.
It would be best to set it up as omap-ctrl.c driver under drivers
somewhere with few functions exported for DSS and MMC drivers.
The reason why it should be a separate driver is that the system
control module can live a separate runtime PM life from the
drivers using the CONTROL_DEVCONF register bits.
Regards,
Tony
More information about the linux-arm-kernel
mailing list