ramips: Added Onion Omega2 and Omega2+

This patch adds support for the Onion Omega2 and Omega2+ (https://onion.io)

Specifications:
- SoC: MediaTek MT7688AN (580MHz, ramips)
- Omega2
  - RAM: 64MB DDR
  - Storage: 16MB NOR SPI flash onboard
- Omega2+
  - RAM: 128MB DDR
  - Storage: 32MB NOR SPI flash onboard + microSD slot
- Wireless: Built into MT7688AN (mt76) with onboard 1x chip antenna and u.FL connecter
- Ethernet: 1x100M pins on Omega2 & Omega2+, can use Ethernet Expansion and an Omega Dock to get a physical Ethernet port
- Strongly recommend using the Omega2 & Omega2+ with a Dock (Expansion Dock, Power Dock, Arduino Dock 2, Mini Dock)
  - All Docks Provide:
    - Micro-USB port to provide power to the Omega
      - On the Expansion and Mini Docks, can also access the terminal (UART0) via serial
    - USB 2.0 socket connected to Omega
  - Just the Expansion Dock, Power Dock, and Arduino Dock 2 provide:
    - Omega GPIO breakout
    - Allows for connection of Omega Expansions:
      - Ethernet Expansion
      - Relay Expansion
      - PWM Expansion
      - OLED Expansion
      - Ethernet Expansion
      - Proto Expansion
      - Cellular Expansion

Signed-off-by: Lazar Demin <lazar@onion.io>
This commit is contained in:
Lazar Demin
2017-01-09 19:59:56 +00:00
committed by John Crispin
parent dea191914c
commit ab90f15c89
8 changed files with 249 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
/dts-v1/;
#include "OMEGA2.dtsi"
/ {
model = "Onion Omega2";
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
};
&firmware {
reg = <0x50000 0xfb0000>;
};
&system_led {
label = "omega2:amber:system";
};

View File

@@ -0,0 +1,174 @@
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "onion,omega", "mediatek,mt7628an-soc";
chosen {
bootargs = "console=ttyS0,115200";
};
gpio-leds {
compatible = "gpio-leds";
system_led: system {
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "gpio";
ralink,function = "gpio";
};
perst {
ralink,group = "perst";
ralink,function = "gpio";
};
refclk {
ralink,group = "refclk";
ralink,function = "gpio";
};
i2s {
ralink,group = "i2s";
ralink,function = "gpio";
};
spis {
ralink,group = "spis";
ralink,function = "gpio";
};
wled_kn {
ralink,group = "wled_kn";
ralink,function = "gpio";
};
wled_an {
ralink,group = "wled_an";
ralink,function = "gpio";
};
wdt {
ralink,group = "wdt";
ralink,function = "gpio";
};
pwm0 {
ralink,group = "pwm0";
ralink,function = "gpio";
};
pwm1 {
ralink,group = "pwm1";
ralink,function = "gpio";
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&wmac {
status = "okay";
};
&spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
m25p,chunked-io = <31>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
firmware: partition@50000 {
label = "firmware";
};
};
spidev@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "linux,spidev";
reg = <1>;
spi-max-frequency = <40000000>;
};
};
&i2c {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&pwm {
status = "okay";
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&sdhci {
status = "okay";
mediatek,cd-low;
};
&wmac {
status = "okay";
};

View File

@@ -0,0 +1,20 @@
/dts-v1/;
#include "OMEGA2.dtsi"
/ {
model = "Onion Omega2+";
memory@0 {
device_type = "memory";
reg = <0x0 0x8000000>;
};
};
&firmware {
reg = <0x50000 0x1fb0000>;
};
&system_led {
label = "omega2p:amber:system";
};