Message ID | 1444087704-1429-4-git-send-email-s-anna@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Suman Anna <s-anna@ti.com> writes: > Add the DT node for Timer12 present on DRA7 family of > SoCs. Timer12 is present in PD_WKUPAON power domain, and > has the same capabilities as the other timers, except for > the fact that it serves as a secure timer on HS devices > and is clocked only from the secure 32K clock. > > The node is marked disabled for now, and the kernel should > refrain from using this secure timer on HS devices. > > Signed-off-by: Suman Anna <s-anna@ti.com> > --- > arch/arm/boot/dts/dra7.dtsi | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi > index e289c706d27d..37d632dad576 100644 > --- a/arch/arm/boot/dts/dra7.dtsi > +++ b/arch/arm/boot/dts/dra7.dtsi > @@ -762,6 +762,16 @@ > ti,hwmods = "timer11"; > }; > > + timer12: timer@4ae20000 { > + compatible = "ti,omap5430-timer"; > + reg = <0x4ae20000 0x80>; > + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; > + ti,hwmods = "timer12"; > + ti,timer-alwon; > + ti,timer-secure; > + status = "disabled"; according to Tony we should avoid using status at all for in-SoC devices. Tony, can you confirm I understood you correctly ?
* Felipe Balbi <balbi@ti.com> [151005 17:51]: > > according to Tony we should avoid using status at all for in-SoC > devices. > > Tony, can you confirm I understood you correctly ? Yes. With status = "disabled" kernel completely ignores the device and struct device is not created at all even with the device being there. In general we're better off trying to probe the device and idle it. The only time we really want to mark something with status = "disabled" is if some coprocessor firmware is using that device and the kernel should not touch it at all. Regards, Tony
On 10/06/2015 02:52 AM, Tony Lindgren wrote: > * Felipe Balbi <balbi@ti.com> [151005 17:51]: >> >> according to Tony we should avoid using status at all for in-SoC >> devices. >> >> Tony, can you confirm I understood you correctly ? > > Yes. With status = "disabled" kernel completely ignores the > device and struct device is not created at all even with the > device being there. In general we're better off trying to > probe the device and idle it. > > The only time we really want to mark something with > status = "disabled" is if some coprocessor firmware is > using that device and the kernel should not touch it at > all. Not always, since some of the PM clocking logic depends on the state machine variables within the kernel. We are also using this to deal with paper-spins (atleast in the DRA7 case) and the DTS include model, wherein certain instances may not be present on all variations of the SoC, and enabled specifically on the instances that matter. Obviously, it could be done the other way too, but as far as what Nishanth mentioned sometime back, we are following the former for DRA7. In anycase, the status property on the Timer12 node can be removed, it doesn't fall into the above category, and we are fixing it up properly on HS devices in the kernel. regards Suman
* Suman Anna <s-anna@ti.com> [151006 09:06]: > On 10/06/2015 02:52 AM, Tony Lindgren wrote: > > * Felipe Balbi <balbi@ti.com> [151005 17:51]: > >> > >> according to Tony we should avoid using status at all for in-SoC > >> devices. > >> > >> Tony, can you confirm I understood you correctly ? > > > > Yes. With status = "disabled" kernel completely ignores the > > device and struct device is not created at all even with the > > device being there. In general we're better off trying to > > probe the device and idle it. > > > > The only time we really want to mark something with > > status = "disabled" is if some coprocessor firmware is > > using that device and the kernel should not touch it at > > all. > > Not always, since some of the PM clocking logic depends on the state > machine variables within the kernel. > > We are also using this to deal with paper-spins (atleast in the DRA7 > case) and the DTS include model, wherein certain instances may not be > present on all variations of the SoC, and enabled specifically on the > instances that matter. Obviously, it could be done the other way too, > but as far as what Nishanth mentioned sometime back, we are following > the former for DRA7. > > In anycase, the status property on the Timer12 node can be removed, it > doesn't fall into the above category, and we are fixing it up properly > on HS devices in the kernel. Yeah please remove the status property, that can be set to disabled in the HS board specific file. Applying the first two patches into omap-for-v4.5/soc thanks. Tony
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index e289c706d27d..37d632dad576 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi @@ -762,6 +762,16 @@ ti,hwmods = "timer11"; }; + timer12: timer@4ae20000 { + compatible = "ti,omap5430-timer"; + reg = <0x4ae20000 0x80>; + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; + ti,hwmods = "timer12"; + ti,timer-alwon; + ti,timer-secure; + status = "disabled"; + }; + timer13: timer@48828000 { compatible = "ti,omap5430-timer"; reg = <0x48828000 0x80>;
Add the DT node for Timer12 present on DRA7 family of SoCs. Timer12 is present in PD_WKUPAON power domain, and has the same capabilities as the other timers, except for the fact that it serves as a secure timer on HS devices and is clocked only from the secure 32K clock. The node is marked disabled for now, and the kernel should refrain from using this secure timer on HS devices. Signed-off-by: Suman Anna <s-anna@ti.com> --- arch/arm/boot/dts/dra7.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)