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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mfd/mscc,ocelot.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 OR BSD-2-Clause */
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/mfd/mscc,ocelot.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Ocelot Externally-Controlled Ethernet Switch
  8 
  9 maintainers:
 10   - Colin Foster <colin.foster@in-advantage.com>
 11 
 12 description: |
 13   The Ocelot ethernet switch family contains chips that have an internal CPU
 14   (VSC7513, VSC7514) and chips that don't (VSC7511, VSC7512). All switches have
 15   the option to be controlled externally via external interfaces like SPI or
 16   PCIe.
 17 
 18   The switch family is a multi-port networking switch that supports many
 19   interfaces. Additionally, the device can perform pin control, MDIO buses, and
 20   external GPIO expanders.
 21 
 22 properties:
 23   compatible:
 24     enum:
 25       - mscc,vsc7512
 26 
 27   reg:
 28     maxItems: 1
 29 
 30   "#address-cells":
 31     const: 1
 32 
 33   "#size-cells":
 34     const: 1
 35 
 36   spi-max-frequency:
 37     maxItems: 1
 38 
 39 patternProperties:
 40   "^pinctrl@[0-9a-f]+$":
 41     type: object
 42     $ref: /schemas/pinctrl/mscc,ocelot-pinctrl.yaml
 43 
 44   "^gpio@[0-9a-f]+$":
 45     type: object
 46     $ref: /schemas/pinctrl/microchip,sparx5-sgpio.yaml
 47     properties:
 48       compatible:
 49         enum:
 50           - mscc,ocelot-sgpio
 51 
 52   "^mdio@[0-9a-f]+$":
 53     type: object
 54     $ref: /schemas/net/mscc,miim.yaml
 55     properties:
 56       compatible:
 57         enum:
 58           - mscc,ocelot-miim
 59 
 60   "^ethernet-switch@[0-9a-f]+$":
 61     type: object
 62     $ref: /schemas/net/mscc,vsc7514-switch.yaml
 63     unevaluatedProperties: false
 64     properties:
 65       compatible:
 66         enum:
 67           - mscc,vsc7512-switch
 68 
 69 required:
 70   - compatible
 71   - reg
 72   - '#address-cells'
 73   - '#size-cells'
 74 
 75 additionalProperties: false
 76 
 77 examples:
 78   - |
 79     ocelot_clock: ocelot-clock {
 80           compatible = "fixed-clock";
 81           #clock-cells = <0>;
 82           clock-frequency = <125000000>;
 83       };
 84 
 85     spi {
 86         #address-cells = <1>;
 87         #size-cells = <0>;
 88 
 89         soc@0 {
 90             compatible = "mscc,vsc7512";
 91             spi-max-frequency = <2500000>;
 92             reg = <0>;
 93             #address-cells = <1>;
 94             #size-cells = <1>;
 95 
 96             mdio@7107009c {
 97                 compatible = "mscc,ocelot-miim";
 98                 #address-cells = <1>;
 99                 #size-cells = <0>;
100                 reg = <0x7107009c 0x24>;
101 
102                 sw_phy0: ethernet-phy@0 {
103                     reg = <0x0>;
104                 };
105             };
106 
107             mdio@710700c0 {
108                 compatible = "mscc,ocelot-miim";
109                 pinctrl-names = "default";
110                 pinctrl-0 = <&miim1_pins>;
111                 #address-cells = <1>;
112                 #size-cells = <0>;
113                 reg = <0x710700c0 0x24>;
114 
115                 sw_phy4: ethernet-phy@4 {
116                     reg = <0x4>;
117                 };
118             };
119 
120             gpio: pinctrl@71070034 {
121                 compatible = "mscc,ocelot-pinctrl";
122                 gpio-controller;
123                 #gpio-cells = <2>;
124                 gpio-ranges = <&gpio 0 0 22>;
125                 reg = <0x71070034 0x6c>;
126 
127                 sgpio_pins: sgpio-pins {
128                     pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";
129                     function = "sg0";
130                 };
131 
132                 miim1_pins: miim1-pins {
133                     pins = "GPIO_14", "GPIO_15";
134                     function = "miim";
135                 };
136             };
137 
138             gpio@710700f8 {
139                 compatible = "mscc,ocelot-sgpio";
140                 #address-cells = <1>;
141                 #size-cells = <0>;
142                 bus-frequency = <12500000>;
143                 clocks = <&ocelot_clock>;
144                 microchip,sgpio-port-ranges = <0 15>;
145                 pinctrl-names = "default";
146                 pinctrl-0 = <&sgpio_pins>;
147                 reg = <0x710700f8 0x100>;
148 
149                 sgpio_in0: gpio@0 {
150                     compatible = "microchip,sparx5-sgpio-bank";
151                     reg = <0>;
152                     gpio-controller;
153                     #gpio-cells = <3>;
154                     ngpios = <64>;
155                 };
156 
157                 sgpio_out1: gpio@1 {
158                     compatible = "microchip,sparx5-sgpio-bank";
159                     reg = <1>;
160                     gpio-controller;
161                     #gpio-cells = <3>;
162                     ngpios = <64>;
163                 };
164             };
165         };
166     };
167 
168 ...
169 

~ [ 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