Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: ath79: add initial support for Onion Omega

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>

authored by

Antony Pavlov and committed by
Ralf Baechle
930c54ff e454cc49

+79
+1
arch/mips/boot/dts/qca/Makefile
··· 1 1 # All DTBs 2 2 dtb-$(CONFIG_ATH79) += ar9132_tl_wr1043nd_v1.dtb 3 3 dtb-$(CONFIG_ATH79) += ar9331_dragino_ms14.dtb 4 + dtb-$(CONFIG_ATH79) += ar9331_omega.dtb 4 5 dtb-$(CONFIG_ATH79) += ar9331_tl_mr3020.dtb 5 6 6 7 # Force kbuild to make empty built-in.o if necessary
+78
arch/mips/boot/dts/qca/ar9331_omega.dts
··· 1 + /dts-v1/; 2 + 3 + #include <dt-bindings/gpio/gpio.h> 4 + #include <dt-bindings/input/input.h> 5 + 6 + #include "ar9331.dtsi" 7 + 8 + / { 9 + model = "Onion Omega"; 10 + compatible = "onion,omega"; 11 + 12 + aliases { 13 + serial0 = &uart; 14 + }; 15 + 16 + memory@0 { 17 + device_type = "memory"; 18 + reg = <0x0 0x4000000>; 19 + }; 20 + 21 + leds { 22 + compatible = "gpio-leds"; 23 + 24 + system { 25 + label = "onion:amber:system"; 26 + gpios = <&gpio 27 GPIO_ACTIVE_LOW>; 27 + default-state = "off"; 28 + }; 29 + }; 30 + 31 + gpio-keys-polled { 32 + compatible = "gpio-keys-polled"; 33 + #address-cells = <1>; 34 + #size-cells = <0>; 35 + poll-interval = <100>; 36 + 37 + button@0 { 38 + label = "reset"; 39 + linux,code = <KEY_RESTART>; 40 + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; 41 + }; 42 + }; 43 + }; 44 + 45 + &ref { 46 + clock-frequency = <25000000>; 47 + }; 48 + 49 + &uart { 50 + status = "okay"; 51 + }; 52 + 53 + &gpio { 54 + status = "okay"; 55 + }; 56 + 57 + &usb { 58 + dr_mode = "host"; 59 + status = "okay"; 60 + }; 61 + 62 + &usb_phy { 63 + status = "okay"; 64 + }; 65 + 66 + &spi { 67 + num-chipselects = <1>; 68 + status = "okay"; 69 + 70 + /* Winbond 25Q128FVSG SPI flash */ 71 + spiflash: w25q128@0 { 72 + #address-cells = <1>; 73 + #size-cells = <1>; 74 + compatible = "winbond,w25q128", "jedec,spi-nor"; 75 + spi-max-frequency = <104000000>; 76 + reg = <0>; 77 + }; 78 + };