~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/bus/ti-sysc.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/bus/ti-sysc.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Texas Instruments interconnect target module
  8 
  9 maintainers:
 10   - Tony Lindgren <tony@atomide.com>
 11 
 12 description:
 13   Texas Instruments SoCs can have a generic interconnect target module
 14   for devices connected to various interconnects such as L3 interconnect
 15   using Arteris NoC, and L4 interconnect using Sonics s3220. This module
 16   is mostly used for interaction between module and Power, Reset and Clock
 17   Manager PRCM. It participates in the OCP Disconnect Protocol, but other
 18   than that it is mostly independent of the interconnect.
 19 
 20   Each interconnect target module can have one or more devices connected to
 21   it. There is a set of control registers for managing the interconnect target
 22   module clocks, idle modes and interconnect level resets.
 23 
 24   The interconnect target module control registers are sprinkled into the
 25   unused register address space of the first child device IP block managed by
 26   the interconnect target module. Typically the register names are REVISION,
 27   SYSCONFIG and SYSSTATUS.
 28 
 29 properties:
 30   $nodename:
 31     pattern: "^target-module(@[0-9a-f]+)?$"
 32 
 33   compatible:
 34     oneOf:
 35       - items:
 36           - enum:
 37               - ti,sysc-omap2
 38               - ti,sysc-omap4
 39               - ti,sysc-omap4-simple
 40               - ti,sysc-omap2-timer
 41               - ti,sysc-omap4-timer
 42               - ti,sysc-omap3430-sr
 43               - ti,sysc-omap3630-sr
 44               - ti,sysc-omap4-sr
 45               - ti,sysc-omap3-sham
 46               - ti,sysc-omap-aes
 47               - ti,sysc-mcasp
 48               - ti,sysc-dra7-mcasp
 49               - ti,sysc-usb-host-fs
 50               - ti,sysc-dra7-mcan
 51               - ti,sysc-pruss
 52           - const: ti,sysc
 53       - items:
 54           - const: ti,sysc
 55 
 56   reg:
 57     description:
 58       Interconnect target module control registers consisting of
 59       REVISION, SYSCONFIG and SYSSTATUS registers as defined in the
 60       Technical Reference Manual for the SoC.
 61     minItems: 1
 62     maxItems: 3
 63 
 64   reg-names:
 65     description:
 66       Interconnect target module control register names consisting
 67       of "rev", "sysc" and "syss".
 68     oneOf:
 69       - minItems: 1
 70         items:
 71           - const: rev
 72           - const: sysc
 73           - const: syss
 74       - items:
 75           - const: rev
 76           - const: syss
 77       - enum: [ sysc, syss ]
 78 
 79   power-domains:
 80     description: Target module power domain if available.
 81     maxItems: 1
 82 
 83   clocks:
 84     description:
 85       Target module clocks consisting of one functional clock, one
 86       interface clock, and up to 8 module specific optional clocks.
 87       Some modules may have only the functional clock, and some have
 88       no configurable clocks.
 89     minItems: 1
 90     maxItems: 4
 91 
 92   clock-names:
 93     description:
 94       Target module clock names like "fck", "ick", "optck1", "optck2"
 95       if the clocks are configurable.
 96     oneOf:
 97       - enum: [ ick, fck, sys_clk ]
 98       - items:
 99           - const: fck
100           - enum: [ ick, dbclk, osc, sys_clk, dss_clk, ahclkx ]
101       - items:
102           - const: fck
103           - const: phy-clk
104           - const: phy-clk-div
105       - items:
106           - const: fck
107           - const: hdmi_clk
108           - const: sys_clk
109           - const: tv_clk
110       - items:
111           - const: fck
112           - const: ahclkx
113           - const: ahclkr
114 
115   resets:
116     description:
117       Target module reset bit in the RSTCTRL register if wired for the module.
118       Note that the other reset bits should be mapped for the child device
119       driver to use.
120     maxItems: 1
121 
122   reset-names:
123     description:
124       Target module reset names in the RSTCTRL register, typically named
125       "rstctrl" if only one reset bit is wired for the module.
126     items:
127       - const: rstctrl
128 
129   '#address-cells':
130     enum: [ 1, 2 ]
131 
132   '#size-cells':
133     enum: [ 1, 2 ]
134 
135   ranges: true
136 
137   dma-ranges: true
138 
139   ti,sysc-mask:
140     description: Mask of supported register bits for the SYSCONFIG register
141     $ref: /schemas/types.yaml#/definitions/uint32
142 
143   ti,sysc-midle:
144     description: List of hardware supported idle modes
145     $ref: /schemas/types.yaml#/definitions/uint32-array
146 
147   ti,sysc-sidle:
148     description: List of hardware supported idle modes
149     $ref: /schemas/types.yaml#/definitions/uint32-array
150 
151   ti,syss-mask:
152     description: Mask of supported register bits for the SYSSTATUS register
153     $ref: /schemas/types.yaml#/definitions/uint32
154 
155   ti,sysc-delay-us:
156     description: Delay needed after OCP softreset before accessing SYCONFIG
157     default: 0
158     minimum: 0
159     maximum: 2
160 
161   ti,no-reset-on-init:
162     description: Interconnect target module shall not be reset at init
163     type: boolean
164 
165   ti,no-idle-on-init:
166     description: Interconnect target module shall not be idled at init
167     type: boolean
168 
169   ti,no-idle:
170     description: Interconnect target module shall not be idled
171     type: boolean
172 
173   ti,hwmods:
174     description: Interconnect module name to use with legacy hwmod data
175     $ref: /schemas/types.yaml#/definitions/string
176     deprecated: true
177 
178 required:
179   - compatible
180   - '#address-cells'
181   - '#size-cells'
182   - ranges
183 
184 additionalProperties:
185   type: object
186 
187 examples:
188   - |
189     #include <dt-bindings/bus/ti-sysc.h>
190     #include <dt-bindings/clock/omap4.h>
191 
192     target-module@2b000 {
193         compatible = "ti,sysc-omap2", "ti,sysc";
194         ti,hwmods = "usb_otg_hs";
195         reg = <0x2b400 0x4>,
196               <0x2b404 0x4>,
197               <0x2b408 0x4>;
198         reg-names = "rev", "sysc", "syss";
199         clocks = <&l3_init_clkctrl OMAP4_USB_OTG_HS_CLKCTRL 0>;
200         clock-names = "fck";
201         ti,sysc-mask = <(SYSC_OMAP2_ENAWAKEUP |
202                          SYSC_OMAP2_SOFTRESET |
203                          SYSC_OMAP2_AUTOIDLE)>;
204         ti,sysc-midle = <SYSC_IDLE_FORCE>,
205                         <SYSC_IDLE_NO>,
206                         <SYSC_IDLE_SMART>;
207         ti,sysc-sidle = <SYSC_IDLE_FORCE>,
208                         <SYSC_IDLE_NO>,
209                         <SYSC_IDLE_SMART>,
210                         <SYSC_IDLE_SMART_WKUP>;
211         ti,syss-mask = <1>;
212         #address-cells = <1>;
213         #size-cells = <1>;
214         ranges = <0 0x2b000 0x1000>;
215     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php