Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Common part of the device tree for the Kontron KSwitch D10 MMT
0004  */
0005 
0006 /dts-v1/;
0007 #include "lan966x.dtsi"
0008 #include "dt-bindings/phy/phy-lan966x-serdes.h"
0009 
0010 / {
0011         aliases {
0012                 serial0 = &usart0;
0013         };
0014 
0015         chosen {
0016                 stdout-path = "serial0:115200n8";
0017         };
0018 
0019         gpio-restart {
0020                 compatible = "gpio-restart";
0021                 gpios = <&gpio 56 GPIO_ACTIVE_LOW>;
0022                 priority = <200>;
0023         };
0024 };
0025 
0026 &flx0 {
0027         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
0028         status = "okay";
0029 
0030         usart0: serial@200 {
0031                 pinctrl-0 = <&usart0_pins>;
0032                 pinctrl-names = "default";
0033                 status = "okay";
0034         };
0035 };
0036 
0037 &flx3 {
0038         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
0039         status = "okay";
0040 
0041         spi3: spi@400 {
0042                 pinctrl-0 = <&fc3_b_pins>;
0043                 pinctrl-names = "default";
0044                 status = "okay";
0045                 cs-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
0046         };
0047 };
0048 
0049 &gpio {
0050         fc3_b_pins: fc3-b-pins {
0051                 /* SCK, MISO, MOSI */
0052                 pins = "GPIO_51", "GPIO_52", "GPIO_53";
0053                 function = "fc3_b";
0054         };
0055 
0056         miim_c_pins: miim-c-pins {
0057                 /* MDC, MDIO */
0058                 pins = "GPIO_59", "GPIO_60";
0059                 function = "miim_c";
0060         };
0061 
0062         sgpio_a_pins: sgpio-a-pins {
0063                 /* SCK, D0, D1 */
0064                 pins = "GPIO_32", "GPIO_33", "GPIO_34";
0065                 function = "sgpio_a";
0066         };
0067 
0068         sgpio_b_pins: sgpio-b-pins {
0069                 /* LD */
0070                 pins = "GPIO_64";
0071                 function = "sgpio_b";
0072         };
0073 
0074         usart0_pins: usart0-pins {
0075                 /* RXD, TXD */
0076                 pins = "GPIO_25", "GPIO_26";
0077                 function = "fc0_b";
0078         };
0079 
0080         usbs_a_pins: usbs-a-pins {
0081                 /* VBUS_DET */
0082                 pins = "GPIO_66";
0083                 function = "gpio";
0084         };
0085 };
0086 
0087 &mdio0 {
0088         pinctrl-0 = <&miim_c_pins>;
0089         pinctrl-names = "default";
0090         reset-gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
0091         clock-frequency = <2500000>;
0092         status = "okay";
0093 
0094         phy4: ethernet-phy@5 {
0095                 reg = <5>;
0096                 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
0097         };
0098 
0099         phy5: ethernet-phy@6 {
0100                 reg = <6>;
0101                 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
0102         };
0103 
0104         phy6: ethernet-phy@7 {
0105                 reg = <7>;
0106                 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
0107         };
0108 
0109         phy7: ethernet-phy@8 {
0110                 reg = <8>;
0111                 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
0112         };
0113 };
0114 
0115 &mdio1 {
0116         status = "okay";
0117 };
0118 
0119 &phy0 {
0120         status = "okay";
0121 };
0122 
0123 &phy1 {
0124         status = "okay";
0125 };
0126 
0127 &port0 {
0128         phys = <&serdes 0 CU(0)>;
0129         phy-handle = <&phy0>;
0130         phy-mode = "gmii";
0131         status = "okay";
0132 };
0133 
0134 &port1 {
0135         phys = <&serdes 1 CU(1)>;
0136         phy-handle = <&phy1>;
0137         phy-mode = "gmii";
0138         status = "okay";
0139 };
0140 
0141 &port4 {
0142         phys = <&serdes 4 SERDES6G(2)>;
0143         phy-handle = <&phy4>;
0144         phy-mode = "qsgmii";
0145         status = "okay";
0146 };
0147 
0148 &port5 {
0149         phys = <&serdes 5 SERDES6G(2)>;
0150         phy-handle = <&phy5>;
0151         phy-mode = "qsgmii";
0152         status = "okay";
0153 };
0154 
0155 &port6 {
0156         phys = <&serdes 6 SERDES6G(2)>;
0157         phy-handle = <&phy6>;
0158         phy-mode = "qsgmii";
0159         status = "okay";
0160 };
0161 
0162 &port7 {
0163         phys = <&serdes 7 SERDES6G(2)>;
0164         phy-handle = <&phy7>;
0165         phy-mode = "qsgmii";
0166         status = "okay";
0167 };
0168 
0169 &serdes {
0170         status = "okay";
0171 };
0172 
0173 &sgpio {
0174         pinctrl-0 = <&sgpio_a_pins>, <&sgpio_b_pins>;
0175         pinctrl-names = "default";
0176         bus-frequency = <8000000>;
0177         /* arbitrary range because all GPIOs are in software mode */
0178         microchip,sgpio-port-ranges = <0 11>;
0179         status = "okay";
0180 
0181         sgpio_in: gpio@0 {
0182                 ngpios = <128>;
0183         };
0184 
0185         sgpio_out: gpio@1 {
0186                 ngpios = <128>;
0187         };
0188 };
0189 
0190 &switch {
0191         status = "okay";
0192 };
0193 
0194 &udc {
0195         pinctrl-0 = <&usbs_a_pins>;
0196         pinctrl-names = "default";
0197         atmel,vbus-gpio = <&gpio 66 GPIO_ACTIVE_HIGH>;
0198         status = "okay";
0199 };
0200 
0201 &watchdog {
0202         status = "okay";
0203 };