Messages in this thread | | | Date | Mon, 19 May 2014 12:55:51 -0700 | Subject | Re: [PATCHv5 2/4] mailbox: Introduce framework for mailbox | From | Bjorn Andersson <> |
| |
On Mon, May 19, 2014 at 11:03 AM, Jassi Brar <jaswinder.singh@linaro.org> wrote: > On 19 May 2014 18:38, Arnd Bergmann <arnd@arndb.de> wrote: >> On Friday 16 May 2014 19:03:25 Jassi Brar wrote: [...] >> Do you have an example for a platform like that? I'd expect that normally >> we can have a boot loader that sets up the system timer to work good >> enough for us to get into normal driver initialization. >> > My platform. We choose to keep bootloader to the minimum and make > kernel not depend upon any goodies provided. > Second, which I don't think can be helped by a bootloader, the remote > master has gate & rate control of clocks to peripheral IPs. The > clk-api driver simply maps Linux requests onto mailbox commands. So > the mailbox is needed as early as CLK_OF_DECLARE (when kernel reads > the rate of every registered clock). Any suggestions?
Hi Jessi
On the newer Qualcomm platform the root clocks are controlled by a "resource power manager" system; all clocks and regulators accesses are done over a fifo based communication link, over shared memory, with dependencies on e.g. hwspinlocks.
There's nothing strange with this, you just have to bring up (probe) all those drivers before you can initialize the clock driver so that you can initialize any peripheral device drivers. That's what you have EPROBE_DEFER for.
Even in your sparsely initialized system, you must have enough clocks to bring up the mailbox driver, so that you can bring up your clock driver and from that you're good to initialize the rest.
Regards, Bjorn
| |