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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/marvell/cn9130-crb.dtsi

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0+
  2 /*
  3  * Copyright (C) 2020 Marvell International Ltd.
  4  */
  5 
  6 #include "cn9130.dtsi" /* include SoC device tree */
  7 
  8 #include <dt-bindings/gpio/gpio.h>
  9 
 10 / {
 11         chosen {
 12                 stdout-path = "serial0:115200n8";
 13         };
 14 
 15         aliases {
 16                 i2c0 = &cp0_i2c0;
 17                 ethernet0 = &cp0_eth0;
 18                 ethernet1 = &cp0_eth1;
 19                 ethernet2 = &cp0_eth2;
 20                 gpio1 = &cp0_gpio1;
 21                 gpio2 = &cp0_gpio2;
 22         };
 23 
 24         memory@0 {
 25                 device_type = "memory";
 26                 reg = <0x0 0x0 0x0 0x80000000>;
 27         };
 28 
 29         ap0_reg_mmc_vccq: regulator-1 {
 30                 compatible = "regulator-gpio";
 31                 regulator-name = "ap0_mmc_vccq";
 32                 regulator-min-microvolt = <1800000>;
 33                 regulator-max-microvolt = <3300000>;
 34                 gpios = <&expander0 5 GPIO_ACTIVE_HIGH>;
 35                 states = <1800000 0x1
 36                           3300000 0x0>;
 37         };
 38 
 39         cp0_reg_usb3_vbus1: regulator-2 {
 40                 compatible = "regulator-fixed";
 41                 regulator-name = "cp0-xhci1-vbus";
 42                 regulator-min-microvolt = <5000000>;
 43                 regulator-max-microvolt = <5000000>;
 44                 enable-active-high;
 45                 gpio = <&expander0 8 GPIO_ACTIVE_HIGH>;
 46         };
 47 
 48         cp0_usb3_0_phy0: usb-phy-1 {
 49                 compatible = "usb-nop-xceiv";
 50         };
 51 
 52         cp0_usb3_0_phy1: usb-phy-2 {
 53                 compatible = "usb-nop-xceiv";
 54                 vcc-supply = <&cp0_reg_usb3_vbus1>;
 55         };
 56 
 57         cp0_reg_sd_vccq: regulator-3 {
 58                 compatible = "regulator-gpio";
 59                 regulator-name = "cp0_sd_vccq";
 60                 regulator-min-microvolt = <1800000>;
 61                 regulator-max-microvolt = <3300000>;
 62                 gpios = <&cp0_gpio2 18 GPIO_ACTIVE_HIGH>;
 63                 states = <1800000 0x1
 64                           3300000 0x0>;
 65         };
 66 
 67         cp0_reg_sd_vcc: regulator-4 {
 68                 compatible = "regulator-fixed";
 69                 regulator-name = "cp0_sd_vcc";
 70                 regulator-min-microvolt = <3300000>;
 71                 regulator-max-microvolt = <3300000>;
 72                 gpio = <&cp0_gpio2 19 GPIO_ACTIVE_HIGH>;
 73                 enable-active-high;
 74                 regulator-always-on;
 75         };
 76 
 77         sfp: sfp {
 78                 compatible = "sff,sfp";
 79                 i2c-bus = <&cp0_i2c1>;
 80                 mod-def0-gpios = <&expander0 3 GPIO_ACTIVE_LOW>;
 81                 los-gpios = <&expander0 15 GPIO_ACTIVE_HIGH>;
 82                 tx-disable-gpios = <&expander0 2 GPIO_ACTIVE_HIGH>;
 83                 tx-fault-gpios = <&cp0_gpio1 24 GPIO_ACTIVE_HIGH>;
 84                 maximum-power-milliwatt = <3000>;
 85         };
 86 };
 87 
 88 &uart0 {
 89         status = "okay";
 90 };
 91 
 92 /* on-board eMMC U6 */
 93 &ap_sdhci0 {
 94         pinctrl-names = "default";
 95         bus-width = <8>;
 96         status = "okay";
 97         mmc-ddr-1_8v;
 98         vqmmc-supply = <&ap0_reg_mmc_vccq>;
 99 };
100 
101 &cp0_syscon0 {
102         cp0_pinctrl: pinctrl {
103                 compatible = "marvell,cp115-standalone-pinctrl";
104 
105                 cp0_i2c0_pins: cp0-i2c-pins-0 {
106                         marvell,pins = "mpp37", "mpp38";
107                         marvell,function = "i2c0";
108                 };
109                 cp0_i2c1_pins: cp0-i2c-pins-1 {
110                         marvell,pins = "mpp35", "mpp36";
111                         marvell,function = "i2c1";
112                 };
113                 cp0_sdhci_cd_pins_crb: cp0-sdhci-cd-pins-crb {
114                         marvell,pins = "mpp55";
115                         marvell,function = "gpio";
116                 };
117                 cp0_sdhci_pins: cp0-sdhi-pins-0 {
118                         marvell,pins = "mpp56", "mpp57", "mpp58",
119                                        "mpp59", "mpp60", "mpp61";
120                         marvell,function = "sdio";
121                 };
122                 cp0_spi1_pins: cp0-spi-pins-1 {
123                         marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
124                         marvell,function = "spi1";
125                 };
126         };
127 };
128 
129 &cp0_gpio1 {
130         status = "okay";
131 };
132 
133 &cp0_gpio2 {
134         status = "okay";
135 };
136 
137 &cp0_i2c0 {
138         pinctrl-names = "default";
139         pinctrl-0 = <&cp0_i2c0_pins>;
140         status = "okay";
141         clock-frequency = <100000>;
142         expander0: mcp23x17@20 {
143                 compatible = "microchip,mcp23017";
144                 gpio-controller;
145                 #gpio-cells = <2>;
146                 reg = <0x20>;
147                 status = "okay";
148         };
149 };
150 
151 &cp0_i2c1 {
152         pinctrl-names = "default";
153         pinctrl-0 = <&cp0_i2c1_pins>;
154         clock-frequency = <100000>;
155         status = "okay";
156 };
157 
158 
159 &cp0_sdhci0 {
160         pinctrl-names = "default";
161         pinctrl-0 = <&cp0_sdhci_pins
162                      &cp0_sdhci_cd_pins_crb>;
163         bus-width = <4>;
164         cd-gpios = <&cp0_gpio2 23 GPIO_ACTIVE_HIGH>;
165         vqmmc-supply = <&cp0_reg_sd_vccq>;
166         vmmc-supply = <&cp0_reg_sd_vcc>;
167         status = "okay";
168 };
169 
170 &cp0_spi1 {
171         pinctrl-names = "default";
172         pinctrl-0 = <&cp0_spi1_pins>;
173         reg = <0x700680 0x50>,          /* control */
174               <0x2000000 0x1000000>;    /* CS0 */
175         status = "okay";
176 
177         flash@0 {
178                 #address-cells = <0x1>;
179                 #size-cells = <0x1>;
180                 compatible = "jedec,spi-nor";
181                 reg = <0x0>;
182                 /* On-board MUX does not allow higher frequencies */
183                 spi-max-frequency = <40000000>;
184 
185                 partitions {
186                         compatible = "fixed-partitions";
187                         #address-cells = <1>;
188                         #size-cells = <1>;
189 
190                         partition@0 {
191                                 label = "U-Boot";
192                                 reg = <0x0 0x200000>;
193                         };
194 
195                         partition@400000 {
196                                 label = "Filesystem";
197                                 reg = <0x200000 0xe00000>;
198                         };
199                 };
200         };
201 };
202 
203 &cp0_mdio {
204         status = "okay";
205         phy0: ethernet-phy@0 {
206                 reg = <0>;
207         };
208 
209         switch6: ethernet-switch@6 {
210                 /* Actual device is MV88E6393X */
211                 compatible = "marvell,mv88e6190";
212                 reg = <6>;
213                 interrupt-parent = <&cp0_gpio1>;
214                 interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
215                 interrupt-controller;
216                 #interrupt-cells = <2>;
217 
218                 dsa,member = <0 0>;
219 
220                 ethernet-ports {
221                         #address-cells = <1>;
222                         #size-cells = <0>;
223 
224                         ethernet-port@1 {
225                                 reg = <1>;
226                                 label = "p1";
227                                 phy-handle = <&switch0phy1>;
228                         };
229 
230                         ethernet-port@2 {
231                                 reg = <2>;
232                                 label = "p2";
233                                 phy-handle = <&switch0phy2>;
234                         };
235 
236                         ethernet-port@3 {
237                                 reg = <3>;
238                                 label = "p3";
239                                 phy-handle = <&switch0phy3>;
240                         };
241 
242                         ethernet-port@4 {
243                                 reg = <4>;
244                                 label = "p4";
245                                 phy-handle = <&switch0phy4>;
246                         };
247 
248                         ethernet-port@5 {
249                                 reg = <5>;
250                                 label = "p5";
251                                 phy-handle = <&switch0phy5>;
252                         };
253 
254                         ethernet-port@6 {
255                                 reg = <6>;
256                                 label = "p6";
257                                 phy-handle = <&switch0phy6>;
258                         };
259 
260                         ethernet-port@7 {
261                                 reg = <7>;
262                                 label = "p7";
263                                 phy-handle = <&switch0phy7>;
264                         };
265 
266                         ethernet-port@8 {
267                                 reg = <8>;
268                                 label = "p8";
269                                 phy-handle = <&switch0phy8>;
270                         };
271 
272                         ethernet-port@9 {
273                                 reg = <9>;
274                                 label = "p9";
275                                 phy-mode = "10gbase-r";
276                                 sfp = <&sfp>;
277                                 managed = "in-band-status";
278                         };
279 
280                         ethernet-port@a {
281                                 reg = <10>;
282                                 ethernet = <&cp0_eth0>;
283                                 phy-mode = "10gbase-r";
284                                 managed = "in-band-status";
285                         };
286 
287                 };
288 
289                 mdio {
290                         #address-cells = <1>;
291                         #size-cells = <0>;
292 
293                         switch0phy1: ethernet-phy@1 {
294                                 reg = <0x1>;
295                         };
296 
297                         switch0phy2: ethernet-phy@2 {
298                                 reg = <0x2>;
299                         };
300 
301                         switch0phy3: ethernet-phy@3 {
302                                 reg = <0x3>;
303                         };
304 
305                         switch0phy4: ethernet-phy@4 {
306                                 reg = <0x4>;
307                         };
308 
309                         switch0phy5: ethernet-phy@5 {
310                                 reg = <0x5>;
311                         };
312 
313                         switch0phy6: ethernet-phy@6 {
314                                 reg = <0x6>;
315                         };
316 
317                         switch0phy7: ethernet-phy@7 {
318                                 reg = <0x7>;
319                         };
320 
321                         switch0phy8: ethernet-phy@8 {
322                                 reg = <0x8>;
323                         };
324                 };
325         };
326 };
327 
328 &cp0_xmdio {
329         status = "okay";
330         nbaset_phy0: ethernet-phy@0 {
331                 compatible = "ethernet-phy-ieee802.3-c45";
332                 reg = <0>;
333         };
334 };
335 
336 &cp0_ethernet {
337         status = "okay";
338 };
339 
340 &cp0_eth0 {
341         /* This port is connected to 88E6393X switch */
342         status = "okay";
343         phy-mode = "10gbase-r";
344         managed = "in-band-status";
345         phys = <&cp0_comphy4 0>;
346 };
347 
348 &cp0_eth1 {
349         status = "okay";
350         phy = <&phy0>;
351         phy-mode = "rgmii-id";
352 };
353 
354 &cp0_eth2 {
355         /* This port uses "2500base-t" phy-mode */
356         status = "disabled";
357         phy = <&nbaset_phy0>;
358         phys = <&cp0_comphy5 2>;
359 };
360 

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