openwrtv3/target/linux/lantiq/dts/DGN3500.dtsi
Felix Fietkau 04ad02d132 lantiq: Switch to the new SPI driver
Compared to the "old" driver:
- Each device must assign a pinctrl setting to the SPI node to allow the
  new SPI driver to configure the SPI pins.
  While here we are also using separate input and output settings so we
  are independent of whether the bootloader configures the pins correctly.
- We use the new "compatible" strings to make the driver choose the
  correct number of chip-selects for each SoC.
- The new driver starts counting the chip-selects at 1 (instead of 0, like
  the old one did). Thus we have to adjust the devices accordingly.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 48293
2016-01-17 19:56:03 +00:00

196 lines
3.3 KiB
Text

/include/ "ar9.dtsi"
/ {
chosen {
bootargs-append = "root= console=ttyLTQ0,115200";
leds {
boot = &power_green;
failsafe = &power_red;
running = &power_green;
dsl = &dsl;
internet = &internet;
usb = &usb;
wifi = &wifi;
};
};
memory@0 {
reg = <0x0 0x4000000>;
};
fpi@10000000 {
gpio: pinmux@E100B10 {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1", "req1";
lantiq,function = "pci";
};
pci-in {
lantiq,groups = "req1";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci-out {
lantiq,groups = "gnt1";
lantiq,output = <1>;
lantiq,pull = <0>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
etop@E180000 {
phy-mode = "mii";
mac-address = [ 00 11 22 33 44 55 ];
};
ifxhcd@E101000 {
status = "okay";
};
pci@E105400 {
status = "okay";
lantiq,bus-clock = <33333333>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
gpio-reset = <&gpio 21 0>;
req-mask = <0x1>; /* GNT1 */
};
};
ath9k_eep {
compatible = "ath9k,eeprom";
ath,eep-flash = <&ath9k_cal 0xf000>;
ath,pci-slot = <14>;
ath,eep-endian;
ath,eep-swap;
};
rtl8366rb {
compatible = "rtl8366rb";
gpio-sda = <&gpio 35 0>;
gpio-sck = <&gpio 37 0>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 36 1>;
linux,code = <0xf7>;
};
wps {
label = "wps";
gpios = <&gpio 54 1>;
linux,code = <0x211>;
};
reset {
label = "reset";
gpios = <&gpio 53 1>;
linux,code = <0x198>;
};
};
gpio-leds {
compatible = "gpio-leds";
internet: internet {
label = "dgn3500:green:internet";
gpios = <&gpio 2 1>;
};
/*
internet red is missing
*/
dsl: dsl {
label = "dgn3500:green:dsl";
gpios = <&gpio 4 1>;
};
usb: usb {
label = "dgn3500:green:usb";
gpios = <&gpio 22 1>;
};
power_green: power {
label = "dgn3500:green:power";
gpios = <&gpio 34 1>;
default-state = "keep";
};
power_red: power2 {
label = "dgn3500:red:power";
gpios = <&gpio 39 1>;
};
/*
power amber is missing
*/
wifi: wifi {
label = "dgn3500:blue:wireless";
gpios = <&gpio 51 1>;
};
wps {
label = "dgn3500:green:wps";
gpios = <&gpio 52 1>;
};
};
};
&spi {
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
status = "ok";
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <1000000>;
partition@0 {
reg = <0x0 0x10000>;
label = "uboot";
read-only;
};
partition@10000 {
reg = <0x10000 0x10000>;
label = "uboot-env";
read-only;
};
ath9k_cal: partition@20000 {
reg = <0x20000 0x10000>;
label = "calibration";
read-only;
};
partition@50000 {
reg = <0x50000 0xfa0000>;
label = "firmware";
};
};
};