lantiq: BT Home Hub3A - device tree
[openwrt.git] / target / linux / lantiq / dts / BTHOMEHUBV3A.dts
diff --git a/target/linux/lantiq/dts/BTHOMEHUBV3A.dts b/target/linux/lantiq/dts/BTHOMEHUBV3A.dts
new file mode 100644 (file)
index 0000000..1ae9840
--- /dev/null
@@ -0,0 +1,210 @@
+/dts-v1/;
+
+/include/ "ar9.dtsi"
+
+/ {
+       model = "BTHOMEHUBV3A - BT Home Hub 3A";  /* SoC: Lantiq ar9 @ 333MHz */
+
+       chosen {
+               bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+       };
+
+       memory@0 {                                /* RAM: Samsung K4H511638F-LC 64MB */
+               reg = <0x0 0x4000000>;
+       };
+
+       sram@1F000000 {
+               vmmc@107000 {
+                       status = "okay";
+                       gpios = <&gpio 31 0>;
+               };
+       };
+
+       fpi@10000000 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               localbus@0 {
+                       #address-cells = <2>;
+                       #size-cells = <1>;
+                       ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
+                               1 0 0x4000000 0x4000010>; /* addsel1 */
+                       compatible = "lantiq,localbus", "simple-bus";
+
+                       nand-parts@0 {            /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
+                               compatible = "gen_nand", "lantiq,nand-xway";
+                               lantiq,cs = <1>;
+                               bank-width = <2>;
+                               reg = <1 0x0 0x2000000 >;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               req-mask = <0x1>;  /* PCI request lines to mask during NAND access */
+
+                               partition@0 {
+                                       label = "preboot";
+                                       reg = <0x00000 0x8000>;
+                                       read-only;
+                               };
+                               partition@8000 {
+                                       label = "u-boot";
+                                       reg = <0x8000 0x05c000>;
+                                       read-only;
+                               };
+                               partition@64000 {
+                                       label = "uboot-config";
+                                       reg = <0x64000 0x004000>;
+                                       read-only;
+                               };
+                               ath9k_cal: partition@68000 {
+                                       label = "art-copy";
+                                       reg = <0x68000 0x004000>;
+                                       read-only;
+                               };
+                               partition@6c000 {
+                                       label = "kernel";
+                                       reg = <0x6c000 0x200000>;
+                               };
+                               partition@26c000 {
+                                       label = "ubi";
+                                       reg = <0x26c000 0x1d94000>;
+                               };
+                       };
+
+                       ath9k_eep {
+                               compatible = "ath9k,eeprom";
+                               ath,eep-flash = <&ath9k_cal 0x0000>;
+                               ath,mac-offset = <0x10c>;
+                               ath,pci-slot = <14>;
+                               ath,eep-endian;
+                       };
+               };
+
+               gpio: pinmux@E100B10 {
+                       compatible = "lantiq,pinctrl-xr9";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&state_default>;
+
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       reg = <0xE100B10 0xA0>;
+
+                       state_default: pinmux {
+                               nand_out {
+                                       lantiq,groups = "nand cle", "nand ale";
+                                       lantiq,function = "ebu";
+                                       lantiq,output = <1>;
+                                       lantiq,open-drain = <0>;
+                                       lantiq,pull = <0>;
+                               };
+                               nand_cs1 {
+                                       lantiq,groups = "nand cs1";
+                                       lantiq,function = "ebu";
+                                       lantiq,open-drain = <0>;
+                                       lantiq,pull = <0>;
+                               };
+
+                               pci_in {
+                                       lantiq,groups = "req1";
+                                       lantiq,function = "pci";
+                                       lantiq,output = <0>;
+                                       lantiq,open-drain = <1>;
+                                       lantiq,pull = <2>;
+                               };
+                               pci_out {
+                                       lantiq,groups = "gnt1";
+                                       lantiq,function = "pci";
+                                       lantiq,output = <1>;
+                                       lantiq,open-drain = <0>;
+                                       lantiq,pull = <0>;
+                               };
+
+                               pci_rst {
+                                       lantiq,pins = "io21";
+                                       lantiq,output = <1>;
+                                       lantiq,open-drain = <0>;
+                               };
+                       };
+               };
+
+               etop@E180000 {
+                       phy-mode = "rgmii";
+               };
+
+               ifxhcd@E101000 {
+                       status = "okay";
+                       gpios = <&gpio 33 0>;
+               };
+
+               pci@E105400 {
+                       status = "okay";
+                       gpio-reset = <&gpio 21 0>;
+               };
+
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 54 1>;
+                       linux,code = <0x198>;
+               };
+               restart {
+                       label = "restart";
+                       gpios = <&gpio 52 1>;
+                       linux,code = <0x198>;
+               };
+               wps {
+                       label = "wps";
+                       gpios = <&gpio 53 1>;
+                       linux,code = <0x211>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               wireless-red {
+                       label = "soc:red:wireless";
+                       gpios = <&gpio 2 1>;
+               };
+               wireless-orange {
+                       label = "soc:orange:wireless";
+                       gpios = <&gpio 6 1>;
+               };
+               wireless-blue {
+                       label = "soc:blue:wireless";
+                       gpios = <&gpio 9 1>;
+               };
+
+               broadband-red {
+                       label = "soc:red:broadband";
+                       gpios = <&gpio 11 1>;
+               };
+               broadband-orange {
+                       label = "soc:orange:broadband";
+                       gpios = <&gpio 0 1>;
+               };
+               broadband-blue {
+                       label = "soc:blue:broadband";
+                       gpios = <&gpio 12 1>;
+               };
+
+               power-red {
+                       label = "soc:red:power";
+                       gpios = <&gpio 14 1>;
+               };
+               power-orange {
+                       label = "soc:orange:power";
+                       gpios = <&gpio 5 1>;
+               };
+               power-blue {
+                       label = "soc:blue:power";
+                       gpios = <&gpio 1 1>;
+               };
+       };
+
+};
+