MIPS: ath79: add initial support for Onion Omega
authorAntony Pavlov <antonynpavlov@gmail.com>
Thu, 17 Mar 2016 03:34:23 +0000 (06:34 +0300)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 13 May 2016 12:01:47 +0000 (14:01 +0200)
The following features are supported:

  * UART;
  * SPI-flash;
  * USB host;
  * GPIO key and LED.

Please see https://onion.io/omega for details.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Cc: Gabor Juhos <juhosg@openwrt.org>
Cc: Alban Bedel <albeu@free.fr>
Cc: L. D. Pinney <ldpinney@gmail.com>
Cc: Boken Lin <bl@onion.io>
Cc: Jacky Huang <huangfangcheng@163.com>
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12884/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/boot/dts/qca/Makefile
arch/mips/boot/dts/qca/ar9331_omega.dts [new file with mode: 0644]

index 245136478998724b6b3048255a230edc846b7088..dc0b5a4071c4875d86de2480a95c6f8a7ce2efec 100644 (file)
@@ -1,6 +1,7 @@
 # All DTBs
 dtb-$(CONFIG_ATH79)                    += ar9132_tl_wr1043nd_v1.dtb
 dtb-$(CONFIG_ATH79)                    += ar9331_dragino_ms14.dtb
+dtb-$(CONFIG_ATH79)                    += ar9331_omega.dtb
 dtb-$(CONFIG_ATH79)                    += ar9331_tl_mr3020.dtb
 
 # Force kbuild to make empty built-in.o if necessary
diff --git a/arch/mips/boot/dts/qca/ar9331_omega.dts b/arch/mips/boot/dts/qca/ar9331_omega.dts
new file mode 100644 (file)
index 0000000..b2be3b0
--- /dev/null
@@ -0,0 +1,78 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "ar9331.dtsi"
+
+/ {
+       model = "Onion Omega";
+       compatible = "onion,omega";
+
+       aliases {
+               serial0 = &uart;
+       };
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x4000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               system {
+                       label = "onion:amber:system";
+                       gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
+                       default-state = "off";
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+
+               button@0 {
+                       label = "reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
+
+&ref {
+       clock-frequency = <25000000>;
+};
+
+&uart {
+       status = "okay";
+};
+
+&gpio {
+       status = "okay";
+};
+
+&usb {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usb_phy {
+       status = "okay";
+};
+
+&spi {
+       num-chipselects = <1>;
+       status = "okay";
+
+       /* Winbond 25Q128FVSG SPI flash */
+       spiflash: w25q128@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "winbond,w25q128", "jedec,spi-nor";
+               spi-max-frequency = <104000000>;
+               reg = <0>;
+       };
+};