On Tue, Mar 3, 2020 at 10:04 AM Abel Vesa <abel.vesa@xxxxxxx> wrote: > > The i.MX8MP has some new IPs called mixes. They are formed usually by some > GPRs that can be split into different functionalities. The first example > here is the audiomix which has dedicated registers that can be registered > as a clock controller and some other registers that can be registered as > a reset controller, plus some dedicated ones that will be registered as > syscon and used by each dedicated audio IP. > > More mixes to be following the same structure are to come, like hdmimix, > dispmix and mediamix. They will all be populated and registered by the MFD > imx-mix generic driver. Can you enumerate what functionality is in each one? I'm not convinced that using an MFD driver is the best solution here, compared to e.g. a clk driver with a few extra bits in it, if most of the code for the child drivers ends up being for the clk subsystem. Lee suggested maybe having a generic (platform independent) driver for it, which may help here, as it would let others share the trivial mfd portion. Another option that we are using on several platforms today is to have a single syscon node and have other drivers that reference that one using a phandle to get at the regmap. Arnd