Merge tag '4.21-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / gemini-sq201.dts
index e5cf9d1a98cd4f27da7e557c423acf57955bf1e2..239dfacaae4d952d06748c526fe047bdf33929d8 100644 (file)
@@ -20,7 +20,7 @@
        };
 
        chosen {
-               bootargs = "console=ttyS0,115200n8";
+               bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
                stdout-path = &uart0;
        };
 
@@ -28,7 +28,7 @@
                compatible = "gpio-keys";
 
                button-setup {
-                       debounce-interval = <50>;
+                       debounce-interval = <100>;
                        wakeup-source;
                        linux,code = <KEY_SETUP>;
                        label = "factory reset";
                compatible = "gpio-leds";
                led-green-info {
                        label = "sq201:green:info";
-                       /* Conflict with parallel flash */
                        gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
                        default-state = "on";
                        linux,default-trigger = "heartbeat";
                };
                led-green-usb {
                        label = "sq201:green:usb";
-                       /* Conflict with parallel and NAND flash */
                        gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
                        default-state = "off";
                        linux,default-trigger = "usb-host";
                };
        };
 
+       mdio0: mdio {
+               compatible = "virtual,mdio-gpio";
+               /* Uses MDC and MDIO */
+               gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
+                       <&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* This is a Marvell 88E1111 ethernet transciever */
+               phy0: ethernet-phy@1 {
+                       reg = <1>;
+               };
+       };
+
+       spi {
+               compatible = "spi-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               /* Check pin collisions */
+               gpio-sck = <&gpio1 28 GPIO_ACTIVE_HIGH>;
+               gpio-miso = <&gpio1 30 GPIO_ACTIVE_HIGH>;
+               gpio-mosi = <&gpio1 29 GPIO_ACTIVE_HIGH>;
+               cs-gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
+               num-chipselects = <1>;
+
+               switch@0 {
+                       compatible = "vitesse,vsc7395";
+                       reg = <0>;
+                       /* Specified for 2.5 MHz or below */
+                       spi-max-frequency = <2500000>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       label = "lan1";
+                               };
+                               port@1 {
+                                       reg = <1>;
+                                       label = "lan2";
+                               };
+                               port@2 {
+                                       reg = <2>;
+                                       label = "lan3";
+                               };
+                               port@3 {
+                                       reg = <3>;
+                                       label = "lan4";
+                               };
+                               vsc: port@6 {
+                                       reg = <6>;
+                                       label = "cpu";
+                                       ethernet = <&gmac1>;
+                                       phy-mode = "rgmii";
+                                       fixed-link {
+                                               speed = <1000>;
+                                               full-duplex;
+                                               pause;
+                                       };
+                               };
+                       };
+               };
+       };
+
+
        soc {
                flash@30000000 {
-                       /*
-                        * Flash access can be enabled, with the side effect
-                        * of disabling access to GPIO LED on GPIO0[20] which
-                        * reuse one of the parallel flash chip select lines.
-                        * Also the default firmware on the machine has the
-                        * problem that since it uses the flash, the two LEDS
-                        * on the right become numb.
-                        */
-                       /* status = "okay"; */
+                       status = "okay";
+                       pinctrl-names = "enabled", "disabled";
+                       pinctrl-0 = <&pflash_default_pins>;
+                       pinctrl-1 = <&pflash_disabled_pins>;
                        /* 16MB of flash */
                        reg = <0x30000000 0x01000000>;
 
-                       partition@0 {
-                               label = "RedBoot";
-                               reg = <0x00000000 0x00120000>;
-                               read-only;
-                       };
-                       partition@120000 {
-                               label = "Kernel";
-                               reg = <0x00120000 0x00200000>;
-                       };
-                       partition@320000 {
-                               label = "Ramdisk";
-                               reg = <0x00320000 0x00600000>;
-                       };
-                       partition@920000 {
-                               label = "Application";
-                               reg = <0x00920000 0x00600000>;
-                       };
-                       partition@f20000 {
-                               label = "VCTL";
-                               reg = <0x00f20000 0x00020000>;
-                               read-only;
-                       };
-                       partition@f40000 {
-                               label = "CurConf";
-                               reg = <0x00f40000 0x000a0000>;
-                               read-only;
-                       };
-                       partition@fe0000 {
-                               label = "FIS directory";
-                               reg = <0x00fe0000 0x00020000>;
-                               read-only;
+                       partitions {
+                               compatible = "redboot-fis";
+                               /* Eraseblock at 0xfe0000 */
+                               fis-index-block = <0x1fc>;
                        };
                };
 
                                /*
                                 * gpio0fgrp cover line 18 used by reset button
                                 * gpio0ggrp cover line 20 used by info LED
+                                * gpio0hgrp cover line 21, 22 used by MDIO for Marvell PHY
                                 * gpio0kgrp cover line 31 used by USB LED
                                 */
                                gpio0_default_pins: pinctrl-gpio0 {
                                        mux {
                                                function = "gpio0";
                                                groups = "gpio0fgrp",
-                                               "gpio0ggrp",
-                                               "gpio0kgrp";
+                                               "gpio0hgrp";
+                                       };
+                               };
+                               /*
+                                * gpio0dgrp cover lines used by the SPI
+                                * to the Vitesse G5x chip.
+                                */
+                               gpio1_default_pins: pinctrl-gpio1 {
+                                       mux {
+                                               function = "gpio1";
+                                               groups = "gpio1dgrp";
+                                       };
+                               };
+                               /*
+                                * These GPIO groups will be mapped in over some
+                                * of the flash pins when the flash is not in
+                                * active use.
+                                */
+                               pflash_disabled_pins: pinctrl-pflash-disabled {
+                                       mux {
+                                               function = "gpio0";
+                                               groups = "gpio0ggrp", "gpio0igrp", "gpio0jgrp",
+                                                        "gpio0kgrp";
+                                       };
+                               };
+                               pinctrl-gmii {
+                                       mux {
+                                               function = "gmii";
+                                               groups = "gmii_gmac0_grp", "gmii_gmac1_grp";
+                                       };
+                                       /* Settings come from memory dump in PLATO */
+                                       conf0 {
+                                               pins = "V8 GMAC0 RXDV";
+                                               skew-delay = <0>;
+                                       };
+                                       conf1 {
+                                               pins = "Y7 GMAC0 RXC";
+                                               skew-delay = <15>;
+                                       };
+                                       conf2 {
+                                               pins = "T8 GMAC0 TXEN";
+                                               skew-delay = <7>;
+                                       };
+                                       conf3 {
+                                               pins = "U8 GMAC0 TXC";
+                                               skew-delay = <10>;
+                                       };
+                                       conf4 {
+                                               pins = "T10 GMAC1 RXDV";
+                                               skew-delay = <7>;
+                                       };
+                                       conf5 {
+                                               pins = "Y11 GMAC1 RXC";
+                                               skew-delay = <8>;
+                                       };
+                                       conf6 {
+                                               pins = "W11 GMAC1 TXEN";
+                                               skew-delay = <7>;
+                                       };
+                                       conf7 {
+                                               pins = "V11 GMAC1 TXC";
+                                               skew-delay = <5>;
+                                       };
+                                       conf8 {
+                                               /* The data lines all have default skew */
+                                               pins = "W8 GMAC0 RXD0", "V9 GMAC0 RXD1",
+                                                      "Y8 GMAC0 RXD2", "U9 GMAC0 RXD3",
+                                                      "T7 GMAC0 TXD0", "U6 GMAC0 TXD1",
+                                                      "V7 GMAC0 TXD2", "U7 GMAC0 TXD3",
+                                                      "Y12 GMAC1 RXD0", "V12 GMAC1 RXD1",
+                                                      "T11 GMAC1 RXD2", "W12 GMAC1 RXD3",
+                                                      "U10 GMAC1 TXD0", "Y10 GMAC1 TXD1",
+                                                      "W10 GMAC1 TXD2", "T9 GMAC1 TXD3";
+                                               skew-delay = <7>;
+                                       };
+                                       /* Set up drive strength on GMAC0 and GMAC1 to 16 mA */
+                                       conf9 {
+                                               groups = "gmii_gmac0_grp", "gmii_gmac1_grp";
+                                               drive-strength = <16>;
                                        };
                                };
                        };
                        pinctrl-0 = <&gpio0_default_pins>;
                };
 
+               gpio1: gpio@4e000000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&gpio1_default_pins>;
+               };
+
                pci@50000000 {
                        status = "okay";
                        interrupt-map-mask = <0xf800 0 0 7>;
                                <0x6000 0 0 4 &pci_intc 2>;
                };
 
+               ethernet@60000000 {
+                       status = "okay";
+
+                       ethernet-port@0 {
+                               phy-mode = "rgmii";
+                               phy-handle = <&phy0>;
+                       };
+                       ethernet-port@1 {
+                               phy-mode = "rgmii";
+                               fixed-link {
+                                       speed = <1000>;
+                                       full-duplex;
+                                       pause;
+                               };
+                       };
+               };
+
                ata@63000000 {
                        status = "okay";
                };
+
+               usb@68000000 {
+                       status = "okay";
+               };
+
+               usb@69000000 {
+                       status = "okay";
+               };
        };
 };