Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Device Tree file for the Storm Semiconductor SL93512R_BRD
0004  * Gemini reference design, also initially called
0005  * "Gemini324 EV-Board" before Storm acquired Storlink Semiconductor.
0006  * The series were later acquired by Cortina Systems.
0007  */
0008 
0009 /dts-v1/;
0010 
0011 #include "gemini.dtsi"
0012 #include <dt-bindings/input/input.h>
0013 
0014 / {
0015         model = "Storlink Semiconductor Gemini324 EV-Board / Storm Semiconductor SL93512R_BRD";
0016         compatible = "storlink,gemini324", "storm,sl93512r", "cortina,gemini";
0017         #address-cells = <1>;
0018         #size-cells = <1>;
0019 
0020         memory@0 {
0021                 /* 64 MB Samsung K4H511638B */
0022                 device_type = "memory";
0023                 reg = <0x00000000 0x4000000>;
0024         };
0025 
0026         chosen {
0027                 bootargs = "console=ttyS0,19200n8 root=/dev/mtdblock3 rw rootfstype=squashfs,jffs2 rootwait";
0028                 stdout-path = &uart0;
0029         };
0030 
0031         gpio_keys {
0032                 compatible = "gpio-keys";
0033 
0034                 button-wps {
0035                         debounce-interval = <50>;
0036                         wakeup-source;
0037                         linux,code = <KEY_WPS_BUTTON>;
0038                         label = "WPS";
0039                         /* Conflicts with TVC and extended flash */
0040                         gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
0041                 };
0042 
0043                 button-setup {
0044                         debounce-interval = <50>;
0045                         wakeup-source;
0046                         linux,code = <KEY_SETUP>;
0047                         label = "factory reset";
0048                         /* Conflict with NAND flash */
0049                         gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
0050                 };
0051         };
0052 
0053         leds {
0054                 compatible = "gpio-leds";
0055                 led-green-harddisk {
0056                         label = "sq201:green:harddisk";
0057                         /* Conflict with LCD (no problem) */
0058                         gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
0059                         default-state = "off";
0060                         linux,default-trigger = "disk-activity";
0061                 };
0062                 led-green-wireless {
0063                         label = "sq201:green:wireless";
0064                         /* Conflict with NAND flash CE0 (no problem) */
0065                         gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
0066                         default-state = "on";
0067                         linux,default-trigger = "heartbeat";
0068                 };
0069         };
0070 
0071         mdio0: mdio {
0072                 compatible = "virtual,mdio-gpio";
0073                 /* Uses MDC and MDIO */
0074                 gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
0075                         <&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
0076                 #address-cells = <1>;
0077                 #size-cells = <0>;
0078 
0079                 /* This is a Marvell 88E1111 ethernet transciever */
0080                 phy0: ethernet-phy@1 {
0081                         reg = <1>;
0082                 };
0083         };
0084 
0085         spi {
0086                 compatible = "spi-gpio";
0087                 #address-cells = <1>;
0088                 #size-cells = <0>;
0089                 /* Check pin collisions */
0090                 sck-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
0091                 miso-gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
0092                 mosi-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
0093                 cs-gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
0094                 num-chipselects = <1>;
0095 
0096                 switch@0 {
0097                         compatible = "vitesse,vsc7385";
0098                         reg = <0>;
0099                         /* Specified for 2.5 MHz or below */
0100                         spi-max-frequency = <2500000>;
0101                         gpio-controller;
0102                         #gpio-cells = <2>;
0103 
0104                         ports {
0105                                 #address-cells = <1>;
0106                                 #size-cells = <0>;
0107 
0108                                 port@0 {
0109                                         reg = <0>;
0110                                         label = "lan1";
0111                                 };
0112                                 port@1 {
0113                                         reg = <1>;
0114                                         label = "lan2";
0115                                 };
0116                                 port@2 {
0117                                         reg = <2>;
0118                                         label = "lan3";
0119                                 };
0120                                 port@3 {
0121                                         reg = <3>;
0122                                         label = "lan4";
0123                                 };
0124                                 vsc: port@6 {
0125                                         reg = <6>;
0126                                         label = "cpu";
0127                                         ethernet = <&gmac1>;
0128                                         phy-mode = "rgmii";
0129                                         fixed-link {
0130                                                 speed = <1000>;
0131                                                 full-duplex;
0132                                                 pause;
0133                                         };
0134                                 };
0135                         };
0136                 };
0137         };
0138 
0139 
0140         soc {
0141                 flash@30000000 {
0142                         status = "okay";
0143                         /* 16MB of flash */
0144                         reg = <0x30000000 0x01000000>;
0145 
0146                         partitions {
0147                                 compatible = "redboot-fis";
0148                                 /* Eraseblock at 0xfe0000 */
0149                                 fis-index-block = <0x1fc>;
0150                         };
0151                 };
0152 
0153                 syscon: syscon@40000000 {
0154                         pinctrl {
0155                                 /*
0156                                  * gpio0agrp cover line 0, used by WPS button
0157                                  * gpio0fgrp cover line 16 used by HD LED
0158                                  * gpio0ggrp cover line 17, 18 used by wireless LAN LED and
0159                                  * reset button OR USB ID select on 17 and USB VBUS select
0160                                  * on 18. (Confusing.)
0161                                  * gpio0igrp cover line 21, 22 used by MDIO for Marvell PHY
0162                                  */
0163                                 gpio0_default_pins: pinctrl-gpio0 {
0164                                         mux {
0165                                                 function = "gpio0";
0166                                                 groups = "gpio0agrp",
0167                                                 "gpio0fgrp",
0168                                                 "gpio0ggrp",
0169                                                 "gpio0igrp";
0170                                         };
0171                                 };
0172                                 /*
0173                                  * gpio1dgrp cover lines used by SPI for
0174                                  * the Vitesse chip (28-31)
0175                                  */
0176                                 gpio1_default_pins: pinctrl-gpio1 {
0177                                         mux {
0178                                                 function = "gpio1";
0179                                                 groups = "gpio1dgrp";
0180                                         };
0181                                 };
0182                                 pinctrl-gmii {
0183                                         mux {
0184                                                 function = "gmii";
0185                                                 groups = "gmii_gmac0_grp", "gmii_gmac1_grp";
0186                                         };
0187                                         /* Control pad skew comes from sl_switch.c in the vendor code */
0188                                         conf0 {
0189                                                 pins = "P10 GMAC1 TXC";
0190                                                 skew-delay = <5>;
0191                                         };
0192                                         conf1 {
0193                                                 pins = "V11 GMAC1 TXEN";
0194                                                 skew-delay = <7>;
0195                                         };
0196                                         conf2 {
0197                                                 pins = "T11 GMAC1 RXC";
0198                                                 skew-delay = <8>;
0199                                         };
0200                                         conf3 {
0201                                                 pins = "U11 GMAC1 RXDV";
0202                                                 skew-delay = <7>;
0203                                         };
0204                                         conf4 {
0205                                                 pins = "V7 GMAC0 TXC";
0206                                                 skew-delay = <10>;
0207                                         };
0208                                         conf5 {
0209                                                 pins = "P8 GMAC0 TXEN";
0210                                                 skew-delay = <7>; /* 5 at another place? */
0211                                         };
0212                                         conf6 {
0213                                                 pins = "T8 GMAC0 RXC";
0214                                                 skew-delay = <15>;
0215                                         };
0216                                         conf7 {
0217                                                 pins = "R8 GMAC0 RXDV";
0218                                                 skew-delay = <0>;
0219                                         };
0220                                         conf8 {
0221                                                 /* The data lines all have default skew */
0222                                                 pins = "U8 GMAC0 RXD0", "V8 GMAC0 RXD1",
0223                                                        "P9 GMAC0 RXD2", "R9 GMAC0 RXD3",
0224                                                        "R11 GMAC1 RXD0", "P11 GMAC1 RXD1",
0225                                                        "V12 GMAC1 RXD2", "U12 GMAC1 RXD3",
0226                                                        "R10 GMAC1 TXD0", "T10 GMAC1 TXD1",
0227                                                        "U10 GMAC1 TXD2", "V10 GMAC1 TXD3";
0228                                                 skew-delay = <7>;
0229                                         };
0230                                         /* Appears in sl351x_gmac.c in the vendor code */
0231                                         conf9 {
0232                                                 pins = "U7 GMAC0 TXD0", "T7 GMAC0 TXD1",
0233                                                        "R7 GMAC0 TXD2", "P7 GMAC0 TXD3";
0234                                                 skew-delay = <5>;
0235                                         };
0236                                 };
0237                         };
0238                 };
0239 
0240                 /* Both interfaces brought out on SATA connectors */
0241                 sata: sata@46000000 {
0242                         cortina,gemini-ata-muxmode = <0>;
0243                         cortina,gemini-enable-sata-bridge;
0244                         status = "okay";
0245                 };
0246 
0247                 gpio0: gpio@4d000000 {
0248                         pinctrl-names = "default";
0249                         pinctrl-0 = <&gpio0_default_pins>;
0250                 };
0251 
0252                 gpio1: gpio@4e000000 {
0253                         pinctrl-names = "default";
0254                         pinctrl-0 = <&gpio1_default_pins>;
0255                 };
0256 
0257                 pci@50000000 {
0258                         status = "okay";
0259                 };
0260 
0261                 ethernet@60000000 {
0262                         status = "okay";
0263 
0264                         ethernet-port@0 {
0265                                 phy-mode = "rgmii";
0266                                 phy-handle = <&phy0>;
0267                         };
0268                         ethernet-port@1 {
0269                                 phy-mode = "rgmii";
0270                                 fixed-link {
0271                                         speed = <1000>;
0272                                         full-duplex;
0273                                         pause;
0274                                 };
0275                         };
0276                 };
0277 
0278                 ide@63000000 {
0279                         status = "okay";
0280                 };
0281 
0282                 ide@63400000 {
0283                         status = "okay";
0284                 };
0285 
0286                 usb@68000000 {
0287                         status = "okay";
0288                 };
0289 
0290                 usb@69000000 {
0291                         status = "okay";
0292                 };
0293         };
0294 };