brcm63xx: Add Sercomm AD1018 support

Add support for the Sercomm AD1018 router

This a BCM6328 based board, 128 MB RAM, 128 MiB NAND flash,
with an onboard BCM43217 wifi, 4 ethernet ports and 1 USB
host port (not soldered). The board also has an FXS chip (Si32177)
connected via SPI (SS2#), without support in LEDE.

Since NAND flash chips aren't still supported in brcm63xx, the
support is for now added to work only with SPI flash chips. Therefore
hardware modding, soldering a new SPI flash chip, is required
to make the board work with LEDE (tested and working OK).
The flash at dts is intentionally left without partitioning to let
the user choose a NOR chip of any size (8, 16 or 32 MB).

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
[jonas.gorski: renamed ad1018 to ad1018-nor to signify the modification]
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
This commit is contained in:
Daniel Gonzalez Cabanelas
2017-08-31 22:22:37 +02:00
committed by Jonas Gorski
parent 085967f774
commit e12c72bb52
7 changed files with 251 additions and 0 deletions

View File

@@ -0,0 +1,136 @@
/dts-v1/;
#include "bcm6328.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "Sercomm AD1018 (SPI flash mod)";
compatible = "sercomm,ad1018-nor", "brcm,bcm6328";
chosen {
bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
debounce-interval = <60>;
wps {
label = "wps";
gpios = <&pinctrl 24 1>;
linux,code = <KEY_WPS_BUTTON>;
};
wifi {
label = "wifi";
gpios = <&pinctrl 25 1>;
linux,code = <KEY_WLAN>;
};
reset {
label = "reset";
gpios = <&pinctrl 31 1>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
pinctrl_leds: leds {
function = "led";
pins = "gpio0", "gpio1";
};
};
&leds {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_leds &pinctrl_serial_led
&pinctrl_ephy0_spd_led &pinctrl_ephy1_act_led
&pinctrl_ephy2_act_led &pinctrl_ephy3_act_led>;
brcm,serial-leds;
brcm,serial-shift-inv;
brcm,serial-dat-low;
inet_red@0 {
reg = <0>;
active-low;
label = "AD1018:red:internet";
};
inet_green@1 {
reg = <1>;
active-low;
label = "AD1018:green:internet";
};
power_green@8 {
reg = <8>;
active-low;
label = "AD1018:green:power";
default-state = "on";
};
adsl_green@10 {
reg = <10>;
active-low;
label = "AD1018:green:adsl";
};
adsl_red@11 {
reg = <11>;
active-low;
label = "AD1018:red:adsl";
};
phone_green@12 {
reg = <12>;
active-low;
label = "AD1018:green:phone";
};
wps_green@13 {
reg = <13>;
active-low;
label = "AD1018:green:wps";
};
wifi_green@14 {
reg = <14>;
active-low;
label = "AD1018:green:wifi";
};
usb_green@15 {
reg = <15>;
active-low;
label = "AD1018:green:usb";
};
ephy0_spd@17 {
reg = <17>;
brcm,hardware-controlled;
};
};
&hsspi {
status = "ok";
flash@0 {
compatible = "jedec,spi-nor";
spi-max-frequency = <16666667>;
spi-tx-bus-width = <2>;
spi-rx-bus-width = <2>;
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
linux,part-probe = "bcm63xxpart";
};
};