clk: ti: add support for hwmod clocks
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest posting 5/50 of 15 patches 0 repliesNew
- v4 posting 4/50 of 15 patches 0 repliesSuperseded
- v4 posting 3/50 of 15 patches 0 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v4 posting 2/5 | 0 of 15 patches | 0 replies | Superseded | |
| v4 posting 1/5 | 2 of 15 patches | 0 replies | Superseded |
Patches in v4 posting 5/5 No applies recorded yet
None of the 15 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.
Cover letter [PATCHv4 00/15] clk: ti: add support for hwmod clocks
Quoted 47 lines · Tero Kristo
Quoted 46 lines · Stephen Boyd
Quoted 44 lines · Tero Kristo
Quoted 11 lines · Michael Turquette
Quoted 1 line
Quoted 1 line · Michael Turquette
Is the goal to describe this hardware topology in DT? Is that right thing to do? I think it's cool to have this modeled *somehow* in Linux, but I'm not sure DT is the right place to model the interconnect and every device hanging off of it.
I don't want to put words in Stephen's mouth, but I think the issue over whether clockdomains are CCF clock providers or some genpd thing is probably less important to him than the fact that the DT bindings are super detailed to inner workings of the SoC.
Ok, so your preference would be to reduce the data under DT, and the ideal approach would be a single prcm node. I think we still need to keep the prm / cm1 / cm2 as separate nodes, as they are pretty individual from hardware point of view, provide quite different features, and they reside in some cases in quite different address spaces also. Anyway, here's what I gather we should probably have in DT:
- reset provider
* example: resets = <&prmOMAP4_IVA2_RESET>;
* only from 'prm' node- genpd provider (for the hwmods, clockdomains, powerdomains, voltage domains)
* examples: power-domains = <&cm2 OMAP4_DSS_CORE_MOD>; power-domains = <&cm2 OMAP4_DSS_CLKDM>; power-domains = <&prm OMAP4_DSS_PWRDM>; power-domains = <&prm OMAP4_CORE_VOLTDM>;* from all 'prm', 'cm1' and 'cm2' nodes, though 'prm' would be the
only one providing_CLKDM,_PWRDM,_VOLTDMgenpds.- clock provider (for anything that requires clocks)
* example: clocks = <&cm1OMAP4_DPLL_MPU_CK>;
* from all 'prm', 'cm1' and 'cm2' nodesThis would eventually cause an ABI breakage for the clock handles, if we transfer the existing clocks to this format, and remove the existing clock handles from DT. Otherwise, I think we could just transition the existing hwmod data to this new format only, and add the clockdomain / powerdomain / voltagedomain support a bit later.
Quoted 6 lines
Quoted 2 lines
This sounds about right. Is the ABI break because we get rid of clock nodes and just have a few big nodes?
In the above plan, the ABI breakage is because we get rid of the existing clock nodes and replace everything with a single (or few) clock provider nodes.
Thanks for confirming.
Quoted 11 lines
Quoted 10 lines
I thought we had
already broken DT ABI here but if we didn't then that isn't great. Perhaps to make things keep working we can detect the old style one node per clock design and register a bunch of providers individually from the single driver probe? It would have to match up the registers with aclk_hwpointer somewhere, but it should be possible. Alternatively, we keep both designs around for some time and have different compatibles and different driver entry points.
Quoted 8 lines
Keeping both around for a while should be okay, the design for this series was done with that in mind. I didn't address the scrapping of old clock data yet though, but that would be a step taken in the future.
First thing to do here would be to implement the hwmod genpds, rest can follow later, but we need an agreement if this is the way we want to go.
Ok. I guess we're just waiting on Tony then?
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project