123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- // SPDX-License-Identifier: GPL-2.0
- /*
- * Device Tree file for ITian Square One SQ201 NAS
- */
- /dts-v1/;
- #include "gemini.dtsi"
- #include <dt-bindings/input/input.h>
- / {
- model = "ITian Square One SQ201";
- compatible = "itian,sq201", "cortina,gemini";
- #address-cells = <1>;
- #size-cells = <1>;
- memory@0 { /* 128 MB */
- device_type = "memory";
- reg = <0x00000000 0x8000000>;
- };
- chosen {
- bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
- stdout-path = &uart0;
- };
- gpio_keys {
- compatible = "gpio-keys";
- button-setup {
- debounce-interval = <100>;
- wakeup-source;
- linux,code = <KEY_SETUP>;
- label = "factory reset";
- /* Conflict with NAND flash */
- gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
- };
- };
- leds {
- compatible = "gpio-leds";
- led-green-info {
- label = "sq201:green:info";
- gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
- default-state = "on";
- linux,default-trigger = "heartbeat";
- };
- led-green-usb {
- label = "sq201:green:usb";
- 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 */
- sck-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
- miso-gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
- mosi-gpios = <&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 {
- status = "okay";
- pinctrl-names = "enabled", "disabled";
- pinctrl-0 = <&pflash_default_pins>;
- pinctrl-1 = <&pflash_disabled_pins>;
- /* 16MB of flash */
- reg = <0x30000000 0x01000000>;
- partitions {
- compatible = "redboot-fis";
- /* Eraseblock at 0xfe0000 */
- fis-index-block = <0x1fc>;
- };
- };
- syscon: syscon@40000000 {
- pinctrl {
- /*
- * 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",
- "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>;
- };
- };
- };
- };
- sata: sata@46000000 {
- cortina,gemini-ata-muxmode = <0>;
- cortina,gemini-enable-sata-bridge;
- status = "okay";
- };
- gpio0: gpio@4d000000 {
- pinctrl-names = "default";
- pinctrl-0 = <&gpio0_default_pins>;
- };
- gpio1: gpio@4e000000 {
- pinctrl-names = "default";
- pinctrl-0 = <&gpio1_default_pins>;
- };
- pci@50000000 {
- status = "okay";
- };
- 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;
- };
- };
- };
- ide@63000000 {
- status = "okay";
- };
- usb@68000000 {
- status = "okay";
- };
- usb@69000000 {
- status = "okay";
- };
- };
- };
|