Message ID | 1489741781-12816-9-git-send-email-t-kristo@ti.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
* Tero Kristo <t-kristo@ti.com> [170317 02:12]: > Add clkctrl nodes for OMAP4 SoC. These are going to be acting as > replacement for part of the existing clock data and the existing > clkctrl hooks under hwmod data. It seems to be actually this patch in the series that breaks booting if the last patch in this series is not applied. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 17/03/17 17:43, Tony Lindgren wrote: > * Tero Kristo <t-kristo@ti.com> [170317 02:12]: >> Add clkctrl nodes for OMAP4 SoC. These are going to be acting as >> replacement for part of the existing clock data and the existing >> clkctrl hooks under hwmod data. > > It seems to be actually this patch in the series that breaks booting > if the last patch in this series is not applied. Yea I guess we need to squash this and patch #9, I'll double check next week. Sorry about not catching this one. -Tero -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 17/03/17 23:41, Tero Kristo wrote: > On 17/03/17 17:43, Tony Lindgren wrote: >> * Tero Kristo <t-kristo@ti.com> [170317 02:12]: >>> Add clkctrl nodes for OMAP4 SoC. These are going to be acting as >>> replacement for part of the existing clock data and the existing >>> clkctrl hooks under hwmod data. >> >> It seems to be actually this patch in the series that breaks booting >> if the last patch in this series is not applied. > > Yea I guess we need to squash this and patch #9, I'll double check next > week. Sorry about not catching this one. Yes, patch #8 and #9 must be squashed. What happens with patch #8 alone, is that you get all the clkctrl clocks registered, but as nobody is using them, the clock core disables them later on in clk_disable_unused. -Tero -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Tero Kristo <t-kristo@ti.com> [170320 06:27]: > On 17/03/17 23:41, Tero Kristo wrote: > > On 17/03/17 17:43, Tony Lindgren wrote: > > > * Tero Kristo <t-kristo@ti.com> [170317 02:12]: > > > > Add clkctrl nodes for OMAP4 SoC. These are going to be acting as > > > > replacement for part of the existing clock data and the existing > > > > clkctrl hooks under hwmod data. > > > > > > It seems to be actually this patch in the series that breaks booting > > > if the last patch in this series is not applied. > > > > Yea I guess we need to squash this and patch #9, I'll double check next > > week. Sorry about not catching this one. > > Yes, patch #8 and #9 must be squashed. What happens with patch #8 alone, is > that you get all the clkctrl clocks registered, but as nobody is using them, > the clock core disables them later on in clk_disable_unused. So how hard would it to do a mixed approach where we don't need to have everything in place in the dts in order to flip a SoC? This atomic transaction worries me.. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 20/03/17 16:35, Tony Lindgren wrote: > * Tero Kristo <t-kristo@ti.com> [170320 06:27]: >> On 17/03/17 23:41, Tero Kristo wrote: >>> On 17/03/17 17:43, Tony Lindgren wrote: >>>> * Tero Kristo <t-kristo@ti.com> [170317 02:12]: >>>>> Add clkctrl nodes for OMAP4 SoC. These are going to be acting as >>>>> replacement for part of the existing clock data and the existing >>>>> clkctrl hooks under hwmod data. >>>> >>>> It seems to be actually this patch in the series that breaks booting >>>> if the last patch in this series is not applied. >>> >>> Yea I guess we need to squash this and patch #9, I'll double check next >>> week. Sorry about not catching this one. >> >> Yes, patch #8 and #9 must be squashed. What happens with patch #8 alone, is >> that you get all the clkctrl clocks registered, but as nobody is using them, >> the clock core disables them later on in clk_disable_unused. > > So how hard would it to do a mixed approach where we don't need > to have everything in place in the dts in order to flip a SoC? > > This atomic transaction worries me.. Well, you could do few things. - You can use clk_ignore_unused cmdline option between patch #8 and #9 and it should work, but will most likely break PM. - You can introduce the DTS changes on a clkctrl module basis, e.g. introduce the node for l4_per_clkctrl along with the clock node changes for the same - Do some sort of split between DTS / vs. clkctrl data introduction within the clock driver, this forces the files to be in sync with each other though. - Try parsing the DTs for matching clock handles while registering DT clocks, if not found, toss our a pr_warn and skip registering the clock. Will be very ineffective though as one needs to parse the whole DTS to find the clock entries. This clock parsing could be dropped later. -Tero -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Tero Kristo <t-kristo@ti.com> [170320 07:54]: > - You can introduce the DTS changes on a clkctrl module basis, e.g. > introduce the node for l4_per_clkctrl along with the clock node changes for > the same I don't mind introducing them all at once, I'm worried about reverting in case of trouble. But as long as we can revert things on a clkctrl module basis in case of trouble, we should be good to go as far as I'm concerned. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index 0cbd6c1..3ecf616 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi @@ -9,6 +9,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/pinctrl/omap.h> +#include <dt-bindings/clock/omap4.h> / { compatible = "ti,omap4430", "ti,omap4"; diff --git a/arch/arm/boot/dts/omap44xx-clocks.dtsi b/arch/arm/boot/dts/omap44xx-clocks.dtsi index 9573b37..c7d517c 100644 --- a/arch/arm/boot/dts/omap44xx-clocks.dtsi +++ b/arch/arm/boot/dts/omap44xx-clocks.dtsi @@ -622,6 +622,7 @@ clock-frequency = <0>; }; }; + &prm_clocks { sys_clkin_ck: sys_clkin_ck@110 { #clock-cells = <0>; @@ -1641,3 +1642,291 @@ reg = <0x0224>; }; }; + +&cm1 { + mpuss_cm: mpuss_cm@300 { + compatible = "ti,omap4-cm"; + reg = <0x300 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x300 0x100>; + + mpuss_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + tesla_cm: tesla_cm@400 { + compatible = "ti,omap4-cm"; + reg = <0x400 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x400 0x100>; + + tesla_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + abe_cm: abe_cm@500 { + compatible = "ti,omap4-cm"; + reg = <0x500 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x500 0x100>; + + abe_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x6c>; + #clock-cells = <2>; + }; + }; + +}; + +&cm2 { + l4_ao_cm: l4_ao_cm@600 { + compatible = "ti,omap4-cm"; + reg = <0x600 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x600 0x100>; + + l4_ao_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x1c>; + #clock-cells = <2>; + }; + }; + + l3_1_cm: l3_1_cm@700 { + compatible = "ti,omap4-cm"; + reg = <0x700 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x700 0x100>; + + l3_1_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + l3_2_cm: l3_2_cm@800 { + compatible = "ti,omap4-cm"; + reg = <0x800 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x800 0x100>; + + l3_2_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x14>; + #clock-cells = <2>; + }; + }; + + ducati_cm: ducati_cm@900 { + compatible = "ti,omap4-cm"; + reg = <0x900 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x900 0x100>; + + ducati_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + l3_dma_cm: l3_dma_cm@a00 { + compatible = "ti,omap4-cm"; + reg = <0xa00 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0xa00 0x100>; + + l3_dma_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + l3_emif_cm: l3_emif_cm@b00 { + compatible = "ti,omap4-cm"; + reg = <0xb00 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0xb00 0x100>; + + l3_emif_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x1c>; + #clock-cells = <2>; + }; + }; + + d2d_cm: d2d_cm@c00 { + compatible = "ti,omap4-cm"; + reg = <0xc00 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0xc00 0x100>; + + d2d_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + l4_cfg_cm: l4_cfg_cm@d00 { + compatible = "ti,omap4-cm"; + reg = <0xd00 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0xd00 0x100>; + + l4_cfg_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x14>; + #clock-cells = <2>; + }; + }; + + l3_instr_cm: l3_instr_cm@e00 { + compatible = "ti,omap4-cm"; + reg = <0xe00 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0xe00 0x100>; + + l3_instr_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x24>; + #clock-cells = <2>; + }; + }; + + ivahd_cm: ivahd_cm@f00 { + compatible = "ti,omap4-cm"; + reg = <0xf00 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0xf00 0x100>; + + ivahd_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0xc>; + #clock-cells = <2>; + }; + }; + + iss_cm: iss_cm@1000 { + compatible = "ti,omap4-cm"; + reg = <0x1000 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1000 0x100>; + + iss_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0xc>; + #clock-cells = <2>; + }; + }; + + l3_dss_cm: l3_dss_cm@1100 { + compatible = "ti,omap4-cm"; + reg = <0x1100 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1100 0x100>; + + l3_dss_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + l3_gfx_cm: l3_gfx_cm@1200 { + compatible = "ti,omap4-cm"; + reg = <0x1200 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1200 0x100>; + + l3_gfx_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; + + l3_init_cm: l3_init_cm@1300 { + compatible = "ti,omap4-cm"; + reg = <0x1300 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1300 0x100>; + + l3_init_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0xc4>; + #clock-cells = <2>; + }; + }; + + l4_per_cm: l4_per_cm@1400 { + compatible = "ti,omap4-cm"; + reg = <0x1400 0x200>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1400 0x200>; + + l4_per_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x144>; + #clock-cells = <2>; + }; + }; + +}; + +&prm { + l4_wkup_cm: l4_wkup_cm@1800 { + compatible = "ti,omap4-cm"; + reg = <0x1800 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1800 0x100>; + + l4_wkup_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x5c>; + #clock-cells = <2>; + }; + }; + + emu_sys_cm: emu_sys_cm@1a00 { + compatible = "ti,omap4-cm"; + reg = <0x1a00 0x100>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1a00 0x100>; + + emu_sys_clkctrl: clk@20 { + compatible = "ti,clkctrl"; + reg = <0x20 0x4>; + #clock-cells = <2>; + }; + }; +};
Add clkctrl nodes for OMAP4 SoC. These are going to be acting as replacement for part of the existing clock data and the existing clkctrl hooks under hwmod data. Signed-off-by: Tero Kristo <t-kristo@ti.com> --- arch/arm/boot/dts/omap4.dtsi | 1 + arch/arm/boot/dts/omap44xx-clocks.dtsi | 289 +++++++++++++++++++++++++++++++++ 2 files changed, 290 insertions(+)