Hi, On Wed, Dec 10, 2014 at 09:00:49AM -0600, Felipe Balbi wrote: > On Wed, Dec 10, 2014 at 04:37:19PM +0530, Lokesh Vutla wrote: > > On Wednesday 10 December 2014 03:57 AM, Felipe Balbi wrote: > > > In order to get rid of some more hwmod data, we > > > introduce a few extra properties to OMAP DT > > > data in order to be able to pass the needed > > > information through DT. > > > > > > Signed-off-by: Felipe Balbi <balbi@xxxxxx> > > > --- > > > Documentation/devicetree/bindings/arm/omap/omap.txt | 7 +++++++ > > > 1 file changed, 7 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt > > > index 4f6a82c..c6b9515 100644 > > > --- a/Documentation/devicetree/bindings/arm/omap/omap.txt > > > +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt > > > @@ -23,6 +23,13 @@ Optional properties: > > > 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 > > > +- ti,rev_offs: IP block revision register offset (defaults to 0) > > > +- ti,sysc_offs: OCP_SYSCONFIG register offset (defaults to 0) > > > +- ti,syss_offs: OCP_SYSSTATUS register offset (defaults to 0) > > > +- ti,srst_udelay: Delay needed after a softreset in usecs (defaults to 0) > > > +- ti,idlemodes: Slave and Master supported idling modes > > > +- ti,clockact: default value of clock activity bits (defaults to 0) > > > +- ti,sysc_type: OCP_SYSCONFIG type. Valid types are 1, 2 or 3 (defaults to 1) > > Once if all the hwmod data comes to dt it will be very dufficult to see all the data > > together. Can we separate out hwmod class data like clocks data is separated out into different node > > or something of the sort like below? > > > > ti, hwmod_class { > > ti,class_name = <>; > > this can be done, but I don't want to pass a class name. It's anyways > just the hwmod name without the digits. For those which are not, I would > rather change the class name to match. I did some initial thinking on this some weeks ago, too (and then was short of time, so I did not continue). My suggestion for the binding would be: * OCP_SYSCONFIG (power-management of IP-Cores connected to OMAP processors) Each IP-Core connected to the bus of OMAP processors has three registers, which specify the IP-Core's version, its status and setup of PM features. Required Properties: - ti,prcm-type: must be one of the following: 1 for OMAP2+ register style, 2 for OMAP4+ register style, 3 for AM33xx register style - reg: offset to revision, config and status registers relative to module base address Optional Properties: - ti,idlemodes: bit field of flags (SIDLE) PRCM_IDLE_FORCE (1 << 0) PRCM_IDLE_NO (1 << 1) PRCM_IDLE_SMART (1 << 2) PRCM_IDLE_SMART_WKUP (1 << 3) - ti,standbymodes: bit field of flags (MIDLE) PRCM_STANDBY_FORCE (1 << 0) PRCM_STANDBY_NO (1 << 1) PRCM_STANDBY_SMART (1 << 2) PRCM_STANDBY_SMART_WKUP (1 << 3) - ti,sysc-has-autoidle: config register has AUTOIDLE bit - ti,sysc-has-softreset: config register has SOFTRESET bit - ti,sysc-has-enawakeup: config register has ENAWAKEUP bit - ti,sysc-has-emufree: config register has EMUFREE bit - ti,sysc-has-clock-activity: config register has CLOCKACTIVITY bit - ti,sysc-has-dma-disable: config register has DMADISABLE bit - ti,sysc-has-reset-status: config register has RESETDONE bit - ti,syss-has-reset-status: status register has RESETDONE bit - ti,reset-delay-us: reset delay in us Example: ocp { gpio1: gpio@48310000 { compatible = "ti,omap3-gpio"; ... /* IP-Core specific properties */ ti,sysconfig { ti,prcm-type = <1>; reg = <0x00>, <0x10>, <0x14>; ti,idlemodes = <(PRCM_IDLE_FORCE | PRCM_IDLE_NO | PRCM_IDLE_SMART)>; ti,sysc-has-enawakeup; ti,sysc-has-autoidle; ti,sysc-has-softreset; ti,syss-has-reset-status; }; }; }; -- Sebastian
Attachment:
signature.asc
Description: Digital signature