From e6e373d3480ebf4f46c9ab2382e8f620c214eca6 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 5 Oct 2015 10:25:53 +0000 Subject: [PATCH] ramips: Add DTS files for HiWiFi HC5x61 models HiWiFi HC5661/5761/5861 models are manufactured by http://www.hiwifi.com. These models have similar hardware specs(MT7620A + 128M DDR2 + 16M flash). This patch adds support for them. The original author is Justin Liu (rssnsj@gmail.com). I ported the patch to trunk and submitted it here with his approval. v3 fix 1: Merged most stuff into dtsi file 2: Remove unnecessary empty lines. Signed-off-by: Xiaoning Kang SVN-Revision: 47112 --- target/linux/ramips/dts/HC5661.dts | 32 +++++++ target/linux/ramips/dts/HC5761.dts | 32 +++++++ target/linux/ramips/dts/HC5861.dts | 92 ++++++++++++++++++ target/linux/ramips/dts/HC5XXX.dtsi | 143 ++++++++++++++++++++++++++++ 4 files changed, 299 insertions(+) create mode 100644 target/linux/ramips/dts/HC5661.dts create mode 100644 target/linux/ramips/dts/HC5761.dts create mode 100644 target/linux/ramips/dts/HC5861.dts create mode 100644 target/linux/ramips/dts/HC5XXX.dtsi diff --git a/target/linux/ramips/dts/HC5661.dts b/target/linux/ramips/dts/HC5661.dts new file mode 100644 index 0000000000..b9a717bc54 --- /dev/null +++ b/target/linux/ramips/dts/HC5661.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +/include/ "HC5XXX.dtsi" + +/ { + compatible = "HC5661", "ralink,mt7620a-soc"; + model = "HiWiFi HC5661"; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "hc5661:blue:system"; + gpios = <&gpio0 9 1>; + }; + + internet { + label = "hc5661:blue:internet"; + gpios = <&gpio0 11 1>; + }; + + wlan2g { + label = "hc5661:blue:wlan2g"; + gpios = <&gpio3 0 1>; + }; + + wlan5g { + label = "hc5661:blue:wlan5g"; + gpios = <&gpio0 7 1>; + }; + }; +}; diff --git a/target/linux/ramips/dts/HC5761.dts b/target/linux/ramips/dts/HC5761.dts new file mode 100644 index 0000000000..a10904cc90 --- /dev/null +++ b/target/linux/ramips/dts/HC5761.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +/include/ "HC5XXX.dtsi" + +/ { + compatible = "HC5761", "ralink,mt7620a-soc"; + model = "HiWiFi HC5761"; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "hc5761:blue:system"; + gpios = <&gpio0 9 1>; + }; + + internet { + label = "hc5761:blue:internet"; + gpios = <&gpio0 11 1>; + }; + + wlan2g { + label = "hc5761:blue:wlan2g"; + gpios = <&gpio3 0 1>; + }; + + wlan5g { + label = "hc5761:blue:wlan5g"; + gpios = <&gpio0 7 1>; + }; + }; +}; diff --git a/target/linux/ramips/dts/HC5861.dts b/target/linux/ramips/dts/HC5861.dts new file mode 100644 index 0000000000..05857ea8e8 --- /dev/null +++ b/target/linux/ramips/dts/HC5861.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +/include/ "HC5XXX.dtsi" + +/ { + compatible = "HC5861", "ralink,mt7620a-soc"; + model = "HiWiFi HC5861"; + + ethernet@10100000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + ralink,port-map = "wllll"; + + port@4 { + status = "okay"; + phy-handle = <&phy4>; + phy-mode = "rgmii"; + }; + + port@5 { + status = "okay"; + phy-handle = <&phy5>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + ralink,port4 = "gmac"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "hc5861:blue:system"; + gpios = <&gpio0 9 1>; + }; + + wlan2g { + label = "hc5861:blue:wlan2g"; + gpios = <&gpio0 11 1>; + }; + + internet { + label = "hc5861:blue:internet"; + gpios = <&gpio3 0 1>; + }; + + wlan5g { + label = "hc5861:blue:wlan5g"; + gpios = <&gpio0 7 1>; + }; + + turbo { + label = "hc5861:blue:turbo"; + gpios = <&gpio0 10 1>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usbpower { + gpio-export,name = "usbpower"; + gpio-export,output = <0>; + gpios = <&gpio0 13 0>; + }; + + sdpower { + gpio-export,name = "sdpower"; + gpio-export,output = <0>; + gpios = <&gpio0 8 0>; + }; + }; +}; diff --git a/target/linux/ramips/dts/HC5XXX.dtsi b/target/linux/ramips/dts/HC5XXX.dtsi new file mode 100644 index 0000000000..4a1d3ab843 --- /dev/null +++ b/target/linux/ramips/dts/HC5XXX.dtsi @@ -0,0 +1,143 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + sysc@0 { + ralink,gpiomux = "i2c", "jtag"; + ralink,uartmux = "gpio"; + ralink,wdtmux = <1>; + }; + + gpio0: gpio@600 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "w25q128"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@fd0000 { + label = "hwf_config"; + reg = <0xfd0000 0x10000>; + }; + + bdinfo: partition@fe0000 { + label = "bdinfo"; + reg = <0xfe0000 0x10000>; + }; + + partition@ff0000 { + label = "backup"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + ralink,port-map = "wllll"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uartf", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + + pa { + ralink,group = "pa"; + ralink,function = "pa"; + }; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usbpower { + gpio-export,name = "usbpower"; + gpio-export,output = <1>; + gpios = <&gpio0 13 0>; + }; + }; +}; -- 2.25.1