[PATCH 2/2] mfd: anatop: permit adata be NULL when access register
Richard Zhao
richard.zhao at freescale.com
Mon May 14 09:50:36 EDT 2012
On Mon, May 14, 2012 at 09:26:57PM +0800, Ying-Chun Liu (PaulLiu) wrote:
> (2012年05月14日 17:43), Shawn Guo wrote:
> > On Mon, May 14, 2012 at 05:01:08PM +0800, Ying-Chun Liu (PaulLiu) wrote:
> >> I think what the concern is we probably don't want several
> >> non-continuous memory blocks of misc hardwares.
> >> If we look into the current registers in anatop, it is really sparse.
> >> Several regulators are using non-continuous address and the thermals are
> >> also using different addresses. If the addresses are continuous then we
> >> don't need the mfd driver.
> >>
> > I do not quite follow that. The reason we need mfd driver isn't because
> > we do not want to both regulator and thermal drivers to map and access
> > the same address on their own which may have synchronization issue?
> >
>
> Not sure about the synchronization issue. But currently thermal driver
> in Linaro kernel do map and access the same address on its own now. It
> is not a device driver yet and just access the address directly and
> work. It seems to me that each different type of misc devices in Anatop
> just work alone.
>
> So let's go back to the patch. Why do we need this modification? Anatop
> thermal driver can be written as a device driver and don't need this
> patch. And we might get benefits when thermal driver written in this
> way. Especially some boards do not have a correct fuse data. Any real
> use cases of this patch?
Some bits in anatop is not owned by any driver.
It's for below code:
/* Some phy and power's special controls for host1
* 1. The external charger detector needs to be disabled
* or the signal at DP will be poor
* 2. The PLL's power and output to usb for host 1
* is totally controlled by IC, so the Software only needs
* to enable them at initializtion.
*/
anatop_write_reg(NULL, HW_ANADIG_USB2_CHRG_DETECT,
BM_ANADIG_USB2_CHRG_DETECT_EN_B |
BM_ANADIG_USB2_CHRG_DETECT_CHK_CHRG_B,
~0);
anatop_write_reg(NULL, HW_ANADIG_USB2_PLL_480_CTRL, 0,
BM_ANADIG_USB2_PLL_480_CTRL_BYPASS);
val = BM_ANADIG_USB2_PLL_480_CTRL_ENABLE |
BM_ANADIG_USB2_PLL_480_CTRL_POWER |
BM_ANADIG_USB2_PLL_480_CTRL_EN_USB_CLKS;
anatop_write_reg(NULL, HW_ANADIG_USB2_PLL_480_CTRL, val, val);
Thanks
Richard
>
> Yours Sincerely,
> Paul
>
More information about the linux-arm-kernel
mailing list