OpenWrt – Rev 1

Subversion Repositories:
Rev:
/*
 * Device Tree Source for Meraki MR24 (Ikarem)
 *
 * Copyright (C) 2016 Chris Blake <chrisrblake93@gmail.com>
 *
 * Based on Cisco Meraki GPL Release r23-20150601 MR24 DTS
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without
 * any warranty of any kind, whether express or implied.
 */

/dts-v1/;

#include "apm82181.dtsi"

/ {
        model = "Meraki MR24 Access Point";
        compatible = "meraki,mr24", "meraki,ikarem", "apm,bluestone";

        aliases {
                serial0 = &UART1;
                led-boot = &status;
                led-failsafe = &failsafe;
                led-running = &status;
                led-upgrade = &status;
        };

        chosen {
                stdout-path = "/plb/opb/serial@ef600400";
        };
};


&CRYPTO {
        status = "okay";
};

&PKA {
        status = "okay";
};

&TRNG {
        status = "okay";
};

&EBC0 {
        /* Ikarem has 32MB of NAND */
        ndfc@1,0 {
                status = "okay";
                /* 32 MiB NAND Flash */
                nand {
                        partition@0 {
                                label = "u-boot";
                                reg = <0x00000000 0x00150000>;
                                read-only;
                        };

                        partition@150000 {
                                /*
                                 * The u-boot environment size is one NAND
                                 * block (16KiB). u-boot allocates four NAND
                                 * blocks (64KiB) in order to have spares
                                 * around for bad block management
                                 */
                                label = "u-boot-env";
                                reg = <0x00150000 0x00010000>;
                                read-only;
                        };

                        partition@160000 {
                                /*
                                 * redundant u-boot environment.
                                 * has to be kept it in sync with the
                                 * data in "u-boot-env".
                                 */
                                label = "u-boot-env-redundant";
                                reg = <0x00160000 0x00010000>;
                                read-only;
                        };

                        partition@170000 {
                                label = "oops";
                                reg = <0x00170000 0x00010000>;
                        };

                        partition@180000 {
                                label = "ubi";
                                reg = <0x00180000 0x01e80000>;
                        };
                };
        };
};

&UART1 {
        status = "okay";
};

&GPIO0 {
        status = "okay";
};

&IIC0 {
        status = "okay";
        /* Boot ROM is at 0x52-0x53, do not touch */
        /* Unknown chip at 0x6e, not sure what it is */
};

&EMAC0 {
        status = "okay";

        phy-mode = "rgmii-id";
        phy-map = <0x2>;
        phy-address = <0x1>;
        phy-handle = <&phy>;

        mdio {
                #address-cells = <1>;
                #size-cells = <0>;

                phy: phy@1 {
                        compatible = "ethernet-phy-ieee802.3-c22";
                        reg = <1>;
                };
        };
};

&POB0 {
        leds {
                compatible = "gpio-leds";

                status: power-green {
                        label = "mr24:green:power";
                        gpios = <&GPIO0 18 GPIO_ACTIVE_LOW>;
                };

                failsafe: power-orange {
                        label = "mr24:orange:power";
                        gpios = <&GPIO0 19 GPIO_ACTIVE_LOW>;
                };

                lan {
                        label = "mr24:green:wan";
                        gpios = <&GPIO0 17 GPIO_ACTIVE_LOW>;
                };

                ssi-0 {
                        label = "mr24:green:wifi1";
                        gpios = <&GPIO0 23 GPIO_ACTIVE_LOW>;
                };

                ssi-1 {
                        label = "mr24:green:wifi2";
                        gpios = <&GPIO0 22 GPIO_ACTIVE_LOW>;
                };

                ssi-2 {
                        label = "mr24:green:wifi3";
                        gpios = <&GPIO0 21 GPIO_ACTIVE_LOW>;
                };

                ssi-3 {
                        label = "mr24:green:wifi4";
                        gpios = <&GPIO0 20 GPIO_ACTIVE_LOW>;
                };
        };

        keys {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                #size-cells = <0>;
                poll-interval = <60>;   /* 3 * 20 = 60ms */
                autorepeat;

                reset {
                        /* Label as per Meraki's "MR24 Installation Guide" */
                        label = "Factory Reset Button";
                        linux,code = <KEY_RESTART>;
                        gpios = <&GPIO0 16 GPIO_ACTIVE_LOW>;
                };
        };
};

&PCIE0 {
        status = "okay";
};

&MSI {
        status = "okay";
};