Message ID | 1381313521-10422-3-git-send-email-rnayak@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Rajendra, On 09/10/2013 12:11, Rajendra Nayak wrote: > On OMAP we have co-processor IPs, memory controllers, > GPIOs which control regulators and power switches to > PMIC, and SoC internal Bus IPs, some or most of which > should either not be reset or idled or both at init. > (In some cases there are erratas which prevent an IP > from being reset) > Have a way to pass this information from DT. Did you get some acked-by from the DT maintainers? Every new bindings must be carefully reviewed now. Regards, Benoit > > Update the am33xx/omap4 and omap5 dtsi files with the > new bindings for modules which either should not be > idled. reset or both. A later patch would cleanup the > same information that exists today as part of the hwmod > data files. > > Signed-off-by: Rajendra Nayak <rnayak@ti.com> > --- > .../devicetree/bindings/arm/omap/omap.txt | 3 ++- > arch/arm/boot/dts/am33xx.dtsi | 2 ++ > arch/arm/boot/dts/omap4.dtsi | 3 +++ > arch/arm/boot/dts/omap5.dtsi | 2 ++ > 4 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt > index 91b7049..808c154 100644 > --- a/Documentation/devicetree/bindings/arm/omap/omap.txt > +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt > @@ -21,7 +21,8 @@ Required properties: > Optional properties: > - ti,no_idle_on_suspend: When present, it prevents the PM to idle the module > during suspend. > - > +- ti,no-reset-on-init: When present, the module should not be reset at init > +- ti,no-idle-on-init: When present, the module should not be idled at init > > Example: > > diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi > index f9c5da9..ec33ea0 100644 > --- a/arch/arm/boot/dts/am33xx.dtsi > +++ b/arch/arm/boot/dts/am33xx.dtsi > @@ -607,6 +607,7 @@ > reg = <0x44d00000 0x4000 /* M3 UMEM */ > 0x44d80000 0x2000>; /* M3 DMEM */ > ti,hwmods = "wkup_m3"; > + ti,no-reset-on-init; > }; > > elm: elm@48080000 { > @@ -637,6 +638,7 @@ > gpmc: gpmc@50000000 { > compatible = "ti,am3352-gpmc"; > ti,hwmods = "gpmc"; > + ti,no-idle-on-init; > reg = <0x50000000 0x2000>; > interrupts = <100>; > gpmc,num-cs = <7>; > diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi > index 22d9f2b..e8fe797 100644 > --- a/arch/arm/boot/dts/omap4.dtsi > +++ b/arch/arm/boot/dts/omap4.dtsi > @@ -214,6 +214,7 @@ > gpmc,num-cs = <8>; > gpmc,num-waitpins = <4>; > ti,hwmods = "gpmc"; > + ti,no-idle-on-init; > }; > > uart1: serial@4806a000 { > @@ -492,6 +493,7 @@ > reg = <0x4c000000 0x100>; > interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; > ti,hwmods = "emif1"; > + ti,no-idle-on-init; > phy-type = <1>; > hw-caps-read-idle-ctrl; > hw-caps-ll-interface; > @@ -503,6 +505,7 @@ > reg = <0x4d000000 0x100>; > interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; > ti,hwmods = "emif2"; > + ti,no-idle-on-init; > phy-type = <1>; > hw-caps-read-idle-ctrl; > hw-caps-ll-interface; > diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi > index 7cdea1b..a9d49df 100644 > --- a/arch/arm/boot/dts/omap5.dtsi > +++ b/arch/arm/boot/dts/omap5.dtsi > @@ -607,6 +607,7 @@ > emif1: emif@0x4c000000 { > compatible = "ti,emif-4d5"; > ti,hwmods = "emif1"; > + ti,no-idle-on-init; > phy-type = <2>; /* DDR PHY type: Intelli PHY */ > reg = <0x4c000000 0x400>; > interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; > @@ -618,6 +619,7 @@ > emif2: emif@0x4d000000 { > compatible = "ti,emif-4d5"; > ti,hwmods = "emif2"; > + ti,no-idle-on-init; > phy-type = <2>; /* DDR PHY type: Intelli PHY */ > reg = <0x4d000000 0x400>; > interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wednesday 09 October 2013 08:43 PM, Benoit Cousson wrote: > Hi Rajendra, > > On 09/10/2013 12:11, Rajendra Nayak wrote: >> On OMAP we have co-processor IPs, memory controllers, >> GPIOs which control regulators and power switches to >> PMIC, and SoC internal Bus IPs, some or most of which >> should either not be reset or idled or both at init. >> (In some cases there are erratas which prevent an IP >> from being reset) >> Have a way to pass this information from DT. > > Did you get some acked-by from the DT maintainers? > Every new bindings must be carefully reviewed now. Nope, I haven't. The patches are on the list for a couple of months now. > > Regards, > Benoit > >> >> Update the am33xx/omap4 and omap5 dtsi files with the >> new bindings for modules which either should not be >> idled. reset or both. A later patch would cleanup the >> same information that exists today as part of the hwmod >> data files. >> >> Signed-off-by: Rajendra Nayak <rnayak@ti.com> >> --- >> .../devicetree/bindings/arm/omap/omap.txt | 3 ++- >> arch/arm/boot/dts/am33xx.dtsi | 2 ++ >> arch/arm/boot/dts/omap4.dtsi | 3 +++ >> arch/arm/boot/dts/omap5.dtsi | 2 ++ >> 4 files changed, 9 insertions(+), 1 deletion(-) >> >> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt >> index 91b7049..808c154 100644 >> --- a/Documentation/devicetree/bindings/arm/omap/omap.txt >> +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt >> @@ -21,7 +21,8 @@ Required properties: >> Optional properties: >> - ti,no_idle_on_suspend: When present, it prevents the PM to idle the module >> during suspend. >> - >> +- ti,no-reset-on-init: When present, the module should not be reset at init >> +- ti,no-idle-on-init: When present, the module should not be idled at init >> >> Example: >> >> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi >> index f9c5da9..ec33ea0 100644 >> --- a/arch/arm/boot/dts/am33xx.dtsi >> +++ b/arch/arm/boot/dts/am33xx.dtsi >> @@ -607,6 +607,7 @@ >> reg = <0x44d00000 0x4000 /* M3 UMEM */ >> 0x44d80000 0x2000>; /* M3 DMEM */ >> ti,hwmods = "wkup_m3"; >> + ti,no-reset-on-init; >> }; >> >> elm: elm@48080000 { >> @@ -637,6 +638,7 @@ >> gpmc: gpmc@50000000 { >> compatible = "ti,am3352-gpmc"; >> ti,hwmods = "gpmc"; >> + ti,no-idle-on-init; >> reg = <0x50000000 0x2000>; >> interrupts = <100>; >> gpmc,num-cs = <7>; >> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi >> index 22d9f2b..e8fe797 100644 >> --- a/arch/arm/boot/dts/omap4.dtsi >> +++ b/arch/arm/boot/dts/omap4.dtsi >> @@ -214,6 +214,7 @@ >> gpmc,num-cs = <8>; >> gpmc,num-waitpins = <4>; >> ti,hwmods = "gpmc"; >> + ti,no-idle-on-init; >> }; >> >> uart1: serial@4806a000 { >> @@ -492,6 +493,7 @@ >> reg = <0x4c000000 0x100>; >> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >> ti,hwmods = "emif1"; >> + ti,no-idle-on-init; >> phy-type = <1>; >> hw-caps-read-idle-ctrl; >> hw-caps-ll-interface; >> @@ -503,6 +505,7 @@ >> reg = <0x4d000000 0x100>; >> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >> ti,hwmods = "emif2"; >> + ti,no-idle-on-init; >> phy-type = <1>; >> hw-caps-read-idle-ctrl; >> hw-caps-ll-interface; >> diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi >> index 7cdea1b..a9d49df 100644 >> --- a/arch/arm/boot/dts/omap5.dtsi >> +++ b/arch/arm/boot/dts/omap5.dtsi >> @@ -607,6 +607,7 @@ >> emif1: emif@0x4c000000 { >> compatible = "ti,emif-4d5"; >> ti,hwmods = "emif1"; >> + ti,no-idle-on-init; >> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >> reg = <0x4c000000 0x400>; >> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >> @@ -618,6 +619,7 @@ >> emif2: emif@0x4d000000 { >> compatible = "ti,emif-4d5"; >> ti,hwmods = "emif2"; >> + ti,no-idle-on-init; >> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >> reg = <0x4d000000 0x400>; >> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >> > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
+ A couple of DT maintainers On 09/10/2013 18:41, Rajendra Nayak wrote: > On Wednesday 09 October 2013 08:43 PM, Benoit Cousson wrote: >> Hi Rajendra, >> >> On 09/10/2013 12:11, Rajendra Nayak wrote: >>> On OMAP we have co-processor IPs, memory controllers, >>> GPIOs which control regulators and power switches to >>> PMIC, and SoC internal Bus IPs, some or most of which >>> should either not be reset or idled or both at init. >>> (In some cases there are erratas which prevent an IP >>> from being reset) >>> Have a way to pass this information from DT. >> >> Did you get some acked-by from the DT maintainers? >> Every new bindings must be carefully reviewed now. > > Nope, I haven't. The patches are on the list for a couple > of months now. Let's see if Mark and Rob are OK with that. Thanks, Benoit > >> >> Regards, >> Benoit >> >>> >>> Update the am33xx/omap4 and omap5 dtsi files with the >>> new bindings for modules which either should not be >>> idled. reset or both. A later patch would cleanup the >>> same information that exists today as part of the hwmod >>> data files. >>> >>> Signed-off-by: Rajendra Nayak <rnayak@ti.com> >>> --- >>> .../devicetree/bindings/arm/omap/omap.txt | 3 ++- >>> arch/arm/boot/dts/am33xx.dtsi | 2 ++ >>> arch/arm/boot/dts/omap4.dtsi | 3 +++ >>> arch/arm/boot/dts/omap5.dtsi | 2 ++ >>> 4 files changed, 9 insertions(+), 1 deletion(-) >>> >>> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt >>> index 91b7049..808c154 100644 >>> --- a/Documentation/devicetree/bindings/arm/omap/omap.txt >>> +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt >>> @@ -21,7 +21,8 @@ Required properties: >>> Optional properties: >>> - ti,no_idle_on_suspend: When present, it prevents the PM to idle the module >>> during suspend. >>> - >>> +- ti,no-reset-on-init: When present, the module should not be reset at init >>> +- ti,no-idle-on-init: When present, the module should not be idled at init >>> >>> Example: >>> >>> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi >>> index f9c5da9..ec33ea0 100644 >>> --- a/arch/arm/boot/dts/am33xx.dtsi >>> +++ b/arch/arm/boot/dts/am33xx.dtsi >>> @@ -607,6 +607,7 @@ >>> reg = <0x44d00000 0x4000 /* M3 UMEM */ >>> 0x44d80000 0x2000>; /* M3 DMEM */ >>> ti,hwmods = "wkup_m3"; >>> + ti,no-reset-on-init; >>> }; >>> >>> elm: elm@48080000 { >>> @@ -637,6 +638,7 @@ >>> gpmc: gpmc@50000000 { >>> compatible = "ti,am3352-gpmc"; >>> ti,hwmods = "gpmc"; >>> + ti,no-idle-on-init; >>> reg = <0x50000000 0x2000>; >>> interrupts = <100>; >>> gpmc,num-cs = <7>; >>> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi >>> index 22d9f2b..e8fe797 100644 >>> --- a/arch/arm/boot/dts/omap4.dtsi >>> +++ b/arch/arm/boot/dts/omap4.dtsi >>> @@ -214,6 +214,7 @@ >>> gpmc,num-cs = <8>; >>> gpmc,num-waitpins = <4>; >>> ti,hwmods = "gpmc"; >>> + ti,no-idle-on-init; >>> }; >>> >>> uart1: serial@4806a000 { >>> @@ -492,6 +493,7 @@ >>> reg = <0x4c000000 0x100>; >>> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >>> ti,hwmods = "emif1"; >>> + ti,no-idle-on-init; >>> phy-type = <1>; >>> hw-caps-read-idle-ctrl; >>> hw-caps-ll-interface; >>> @@ -503,6 +505,7 @@ >>> reg = <0x4d000000 0x100>; >>> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >>> ti,hwmods = "emif2"; >>> + ti,no-idle-on-init; >>> phy-type = <1>; >>> hw-caps-read-idle-ctrl; >>> hw-caps-ll-interface; >>> diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi >>> index 7cdea1b..a9d49df 100644 >>> --- a/arch/arm/boot/dts/omap5.dtsi >>> +++ b/arch/arm/boot/dts/omap5.dtsi >>> @@ -607,6 +607,7 @@ >>> emif1: emif@0x4c000000 { >>> compatible = "ti,emif-4d5"; >>> ti,hwmods = "emif1"; >>> + ti,no-idle-on-init; >>> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >>> reg = <0x4c000000 0x400>; >>> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >>> @@ -618,6 +619,7 @@ >>> emif2: emif@0x4d000000 { >>> compatible = "ti,emif-4d5"; >>> ti,hwmods = "emif2"; >>> + ti,no-idle-on-init; >>> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >>> reg = <0x4d000000 0x400>; >>> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >>> >> > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Rajendra, On 09/10/2013 18:45, Benoit Cousson wrote: > + A couple of DT maintainers > > On 09/10/2013 18:41, Rajendra Nayak wrote: >> On Wednesday 09 October 2013 08:43 PM, Benoit Cousson wrote: >>> Hi Rajendra, >>> >>> On 09/10/2013 12:11, Rajendra Nayak wrote: >>>> On OMAP we have co-processor IPs, memory controllers, >>>> GPIOs which control regulators and power switches to >>>> PMIC, and SoC internal Bus IPs, some or most of which >>>> should either not be reset or idled or both at init. >>>> (In some cases there are erratas which prevent an IP >>>> from being reset) >>>> Have a way to pass this information from DT. >>> >>> Did you get some acked-by from the DT maintainers? >>> Every new bindings must be carefully reviewed now. >> >> Nope, I haven't. The patches are on the list for a couple >> of months now. > > Let's see if Mark and Rob are OK with that. OK, I've just applied it after a small change in the subject: ARM: dts: omap: Add reset/idle on init bindings for OMAP Is that OK for you? Thanks, Benoit > > Thanks, > Benoit > >> >>> >>> Regards, >>> Benoit >>> >>>> >>>> Update the am33xx/omap4 and omap5 dtsi files with the >>>> new bindings for modules which either should not be >>>> idled. reset or both. A later patch would cleanup the >>>> same information that exists today as part of the hwmod >>>> data files. >>>> >>>> Signed-off-by: Rajendra Nayak <rnayak@ti.com> >>>> --- >>>> .../devicetree/bindings/arm/omap/omap.txt | 3 ++- >>>> arch/arm/boot/dts/am33xx.dtsi | 2 ++ >>>> arch/arm/boot/dts/omap4.dtsi | 3 +++ >>>> arch/arm/boot/dts/omap5.dtsi | 2 ++ >>>> 4 files changed, 9 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt >>>> b/Documentation/devicetree/bindings/arm/omap/omap.txt >>>> index 91b7049..808c154 100644 >>>> --- a/Documentation/devicetree/bindings/arm/omap/omap.txt >>>> +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt >>>> @@ -21,7 +21,8 @@ Required properties: >>>> Optional properties: >>>> - ti,no_idle_on_suspend: When present, it prevents the PM to idle >>>> the module >>>> during suspend. >>>> - >>>> +- ti,no-reset-on-init: When present, the module should not be reset >>>> at init >>>> +- ti,no-idle-on-init: When present, the module should not be idled >>>> at init >>>> >>>> Example: >>>> >>>> diff --git a/arch/arm/boot/dts/am33xx.dtsi >>>> b/arch/arm/boot/dts/am33xx.dtsi >>>> index f9c5da9..ec33ea0 100644 >>>> --- a/arch/arm/boot/dts/am33xx.dtsi >>>> +++ b/arch/arm/boot/dts/am33xx.dtsi >>>> @@ -607,6 +607,7 @@ >>>> reg = <0x44d00000 0x4000 /* M3 UMEM */ >>>> 0x44d80000 0x2000>; /* M3 DMEM */ >>>> ti,hwmods = "wkup_m3"; >>>> + ti,no-reset-on-init; >>>> }; >>>> >>>> elm: elm@48080000 { >>>> @@ -637,6 +638,7 @@ >>>> gpmc: gpmc@50000000 { >>>> compatible = "ti,am3352-gpmc"; >>>> ti,hwmods = "gpmc"; >>>> + ti,no-idle-on-init; >>>> reg = <0x50000000 0x2000>; >>>> interrupts = <100>; >>>> gpmc,num-cs = <7>; >>>> diff --git a/arch/arm/boot/dts/omap4.dtsi >>>> b/arch/arm/boot/dts/omap4.dtsi >>>> index 22d9f2b..e8fe797 100644 >>>> --- a/arch/arm/boot/dts/omap4.dtsi >>>> +++ b/arch/arm/boot/dts/omap4.dtsi >>>> @@ -214,6 +214,7 @@ >>>> gpmc,num-cs = <8>; >>>> gpmc,num-waitpins = <4>; >>>> ti,hwmods = "gpmc"; >>>> + ti,no-idle-on-init; >>>> }; >>>> >>>> uart1: serial@4806a000 { >>>> @@ -492,6 +493,7 @@ >>>> reg = <0x4c000000 0x100>; >>>> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >>>> ti,hwmods = "emif1"; >>>> + ti,no-idle-on-init; >>>> phy-type = <1>; >>>> hw-caps-read-idle-ctrl; >>>> hw-caps-ll-interface; >>>> @@ -503,6 +505,7 @@ >>>> reg = <0x4d000000 0x100>; >>>> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >>>> ti,hwmods = "emif2"; >>>> + ti,no-idle-on-init; >>>> phy-type = <1>; >>>> hw-caps-read-idle-ctrl; >>>> hw-caps-ll-interface; >>>> diff --git a/arch/arm/boot/dts/omap5.dtsi >>>> b/arch/arm/boot/dts/omap5.dtsi >>>> index 7cdea1b..a9d49df 100644 >>>> --- a/arch/arm/boot/dts/omap5.dtsi >>>> +++ b/arch/arm/boot/dts/omap5.dtsi >>>> @@ -607,6 +607,7 @@ >>>> emif1: emif@0x4c000000 { >>>> compatible = "ti,emif-4d5"; >>>> ti,hwmods = "emif1"; >>>> + ti,no-idle-on-init; >>>> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >>>> reg = <0x4c000000 0x400>; >>>> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >>>> @@ -618,6 +619,7 @@ >>>> emif2: emif@0x4d000000 { >>>> compatible = "ti,emif-4d5"; >>>> ti,hwmods = "emif2"; >>>> + ti,no-idle-on-init; >>>> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >>>> reg = <0x4d000000 0x400>; >>>> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >>>> >>> >> >
On Tuesday 15 October 2013 12:57 PM, Benoit Cousson wrote: > Hi Rajendra, > > On 09/10/2013 18:45, Benoit Cousson wrote: >> + A couple of DT maintainers >> >> On 09/10/2013 18:41, Rajendra Nayak wrote: >>> On Wednesday 09 October 2013 08:43 PM, Benoit Cousson wrote: >>>> Hi Rajendra, >>>> >>>> On 09/10/2013 12:11, Rajendra Nayak wrote: >>>>> On OMAP we have co-processor IPs, memory controllers, >>>>> GPIOs which control regulators and power switches to >>>>> PMIC, and SoC internal Bus IPs, some or most of which >>>>> should either not be reset or idled or both at init. >>>>> (In some cases there are erratas which prevent an IP >>>>> from being reset) >>>>> Have a way to pass this information from DT. >>>> >>>> Did you get some acked-by from the DT maintainers? >>>> Every new bindings must be carefully reviewed now. >>> >>> Nope, I haven't. The patches are on the list for a couple >>> of months now. >> >> Let's see if Mark and Rob are OK with that. > > OK, I've just applied it after a small change in the subject: > > ARM: dts: omap: Add reset/idle on init bindings for OMAP > > Is that OK for you? Yes, sounds good. Thanks Benoit. > > Thanks, > Benoit > >> >> Thanks, >> Benoit >> >>> >>>> >>>> Regards, >>>> Benoit >>>> >>>>> >>>>> Update the am33xx/omap4 and omap5 dtsi files with the >>>>> new bindings for modules which either should not be >>>>> idled. reset or both. A later patch would cleanup the >>>>> same information that exists today as part of the hwmod >>>>> data files. >>>>> >>>>> Signed-off-by: Rajendra Nayak <rnayak@ti.com> >>>>> --- >>>>> .../devicetree/bindings/arm/omap/omap.txt | 3 ++- >>>>> arch/arm/boot/dts/am33xx.dtsi | 2 ++ >>>>> arch/arm/boot/dts/omap4.dtsi | 3 +++ >>>>> arch/arm/boot/dts/omap5.dtsi | 2 ++ >>>>> 4 files changed, 9 insertions(+), 1 deletion(-) >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt >>>>> b/Documentation/devicetree/bindings/arm/omap/omap.txt >>>>> index 91b7049..808c154 100644 >>>>> --- a/Documentation/devicetree/bindings/arm/omap/omap.txt >>>>> +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt >>>>> @@ -21,7 +21,8 @@ Required properties: >>>>> Optional properties: >>>>> - ti,no_idle_on_suspend: When present, it prevents the PM to idle >>>>> the module >>>>> during suspend. >>>>> - >>>>> +- ti,no-reset-on-init: When present, the module should not be reset >>>>> at init >>>>> +- ti,no-idle-on-init: When present, the module should not be idled >>>>> at init >>>>> >>>>> Example: >>>>> >>>>> diff --git a/arch/arm/boot/dts/am33xx.dtsi >>>>> b/arch/arm/boot/dts/am33xx.dtsi >>>>> index f9c5da9..ec33ea0 100644 >>>>> --- a/arch/arm/boot/dts/am33xx.dtsi >>>>> +++ b/arch/arm/boot/dts/am33xx.dtsi >>>>> @@ -607,6 +607,7 @@ >>>>> reg = <0x44d00000 0x4000 /* M3 UMEM */ >>>>> 0x44d80000 0x2000>; /* M3 DMEM */ >>>>> ti,hwmods = "wkup_m3"; >>>>> + ti,no-reset-on-init; >>>>> }; >>>>> >>>>> elm: elm@48080000 { >>>>> @@ -637,6 +638,7 @@ >>>>> gpmc: gpmc@50000000 { >>>>> compatible = "ti,am3352-gpmc"; >>>>> ti,hwmods = "gpmc"; >>>>> + ti,no-idle-on-init; >>>>> reg = <0x50000000 0x2000>; >>>>> interrupts = <100>; >>>>> gpmc,num-cs = <7>; >>>>> diff --git a/arch/arm/boot/dts/omap4.dtsi >>>>> b/arch/arm/boot/dts/omap4.dtsi >>>>> index 22d9f2b..e8fe797 100644 >>>>> --- a/arch/arm/boot/dts/omap4.dtsi >>>>> +++ b/arch/arm/boot/dts/omap4.dtsi >>>>> @@ -214,6 +214,7 @@ >>>>> gpmc,num-cs = <8>; >>>>> gpmc,num-waitpins = <4>; >>>>> ti,hwmods = "gpmc"; >>>>> + ti,no-idle-on-init; >>>>> }; >>>>> >>>>> uart1: serial@4806a000 { >>>>> @@ -492,6 +493,7 @@ >>>>> reg = <0x4c000000 0x100>; >>>>> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >>>>> ti,hwmods = "emif1"; >>>>> + ti,no-idle-on-init; >>>>> phy-type = <1>; >>>>> hw-caps-read-idle-ctrl; >>>>> hw-caps-ll-interface; >>>>> @@ -503,6 +505,7 @@ >>>>> reg = <0x4d000000 0x100>; >>>>> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >>>>> ti,hwmods = "emif2"; >>>>> + ti,no-idle-on-init; >>>>> phy-type = <1>; >>>>> hw-caps-read-idle-ctrl; >>>>> hw-caps-ll-interface; >>>>> diff --git a/arch/arm/boot/dts/omap5.dtsi >>>>> b/arch/arm/boot/dts/omap5.dtsi >>>>> index 7cdea1b..a9d49df 100644 >>>>> --- a/arch/arm/boot/dts/omap5.dtsi >>>>> +++ b/arch/arm/boot/dts/omap5.dtsi >>>>> @@ -607,6 +607,7 @@ >>>>> emif1: emif@0x4c000000 { >>>>> compatible = "ti,emif-4d5"; >>>>> ti,hwmods = "emif1"; >>>>> + ti,no-idle-on-init; >>>>> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >>>>> reg = <0x4c000000 0x400>; >>>>> interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; >>>>> @@ -618,6 +619,7 @@ >>>>> emif2: emif@0x4d000000 { >>>>> compatible = "ti,emif-4d5"; >>>>> ti,hwmods = "emif2"; >>>>> + ti,no-idle-on-init; >>>>> phy-type = <2>; /* DDR PHY type: Intelli PHY */ >>>>> reg = <0x4d000000 0x400>; >>>>> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; >>>>> >>>> >>> >> > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" 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/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index 91b7049..808c154 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt @@ -21,7 +21,8 @@ Required properties: Optional properties: - ti,no_idle_on_suspend: When present, it prevents the PM to idle the module during suspend. - +- ti,no-reset-on-init: When present, the module should not be reset at init +- ti,no-idle-on-init: When present, the module should not be idled at init Example: diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index f9c5da9..ec33ea0 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -607,6 +607,7 @@ reg = <0x44d00000 0x4000 /* M3 UMEM */ 0x44d80000 0x2000>; /* M3 DMEM */ ti,hwmods = "wkup_m3"; + ti,no-reset-on-init; }; elm: elm@48080000 { @@ -637,6 +638,7 @@ gpmc: gpmc@50000000 { compatible = "ti,am3352-gpmc"; ti,hwmods = "gpmc"; + ti,no-idle-on-init; reg = <0x50000000 0x2000>; interrupts = <100>; gpmc,num-cs = <7>; diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index 22d9f2b..e8fe797 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi @@ -214,6 +214,7 @@ gpmc,num-cs = <8>; gpmc,num-waitpins = <4>; ti,hwmods = "gpmc"; + ti,no-idle-on-init; }; uart1: serial@4806a000 { @@ -492,6 +493,7 @@ reg = <0x4c000000 0x100>; interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; ti,hwmods = "emif1"; + ti,no-idle-on-init; phy-type = <1>; hw-caps-read-idle-ctrl; hw-caps-ll-interface; @@ -503,6 +505,7 @@ reg = <0x4d000000 0x100>; interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; ti,hwmods = "emif2"; + ti,no-idle-on-init; phy-type = <1>; hw-caps-read-idle-ctrl; hw-caps-ll-interface; diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index 7cdea1b..a9d49df 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi @@ -607,6 +607,7 @@ emif1: emif@0x4c000000 { compatible = "ti,emif-4d5"; ti,hwmods = "emif1"; + ti,no-idle-on-init; phy-type = <2>; /* DDR PHY type: Intelli PHY */ reg = <0x4c000000 0x400>; interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; @@ -618,6 +619,7 @@ emif2: emif@0x4d000000 { compatible = "ti,emif-4d5"; ti,hwmods = "emif2"; + ti,no-idle-on-init; phy-type = <2>; /* DDR PHY type: Intelli PHY */ reg = <0x4d000000 0x400>; interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
On OMAP we have co-processor IPs, memory controllers, GPIOs which control regulators and power switches to PMIC, and SoC internal Bus IPs, some or most of which should either not be reset or idled or both at init. (In some cases there are erratas which prevent an IP from being reset) Have a way to pass this information from DT. Update the am33xx/omap4 and omap5 dtsi files with the new bindings for modules which either should not be idled. reset or both. A later patch would cleanup the same information that exists today as part of the hwmod data files. Signed-off-by: Rajendra Nayak <rnayak@ti.com> --- .../devicetree/bindings/arm/omap/omap.txt | 3 ++- arch/arm/boot/dts/am33xx.dtsi | 2 ++ arch/arm/boot/dts/omap4.dtsi | 3 +++ arch/arm/boot/dts/omap5.dtsi | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-)