/dts-v1/;
/plugin/;

#include <dt-bindings/pinctrl/am33xx.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
    compatible = "ti,beaglebone-black";

    part-number = "530-0966";
    version = "00A0";
};


/*
 * Show overlay load info
 */
&{/chosen} {
    overlays {
        BB-530-0966-00A0.kernel = __TIMESTAMP__;
    };
};


&ocp {
    P9_24_pinmux { status = "disabled"; }; /* uart1_txd */
    P9_26_pinmux { status = "disabled"; }; /* uart1_rxd */

    P8_07_pinmux { status = "disabled"; };
    P8_08_pinmux { status = "disabled"; };
    P9_11_pinmux { status = "disabled"; };
    P9_12_pinmux { status = "disabled"; };
    P9_21_pinmux { status = "disabled"; };

    P8_11_pinmux { status = "disabled"; };
    P8_12_pinmux { status = "disabled"; };
    P8_19_pinmux { status = "disabled"; };
};


/*
 * Pinmux configuration
 */
&am33xx_pinmux {

    bb_uart1_pins: pinmux_bb_uart1_pins {
        pinctrl-single,pins = <
            AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT, MUX_MODE0)
            AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT,  MUX_MODE0)
        >;
    };

    bb_input_pins: pinmux_bb_input_pins {
        pinctrl-single,pins = <
            /* P8_7 gpio2_2 */
            AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_INPUT, MUX_MODE7)

            /* P8_8 gpio2_3 */
            AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_INPUT, MUX_MODE7)

            /* P9_11 gpio0_30 */
            AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT, MUX_MODE7)

            /* P9_12 gpio1_28 */
            AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_INPUT, MUX_MODE7)

            /* P9_21 gpio0_3 */
            AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_INPUT, MUX_MODE7)

            /* P8_11 gpio1_13 */
            AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_INPUT_PULLUP, MUX_MODE7)

            /* P8_12 gpio1_12 */
            AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_INPUT_PULLUP, MUX_MODE7)
        >;
    };

    bb_output_pins: pinmux_bb_output_pins {
        pinctrl-single,pins = <
            /* P8_19 gpio0_22 */
            AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_OUTPUT, MUX_MODE7)
        >;
    };
};


/*
 * UART1 enable
 */
&uart1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&bb_uart1_pins>;
};


/*
 * I2C2 configuration
 */
&i2c2 {
    #address-cells = <1>;
    #size-cells = <0>;

    status = "okay";
    clock-frequency = <100000>;

    mcp9808@18 {
        compatible = "microchip,mcp9808";
        reg = <0x18>;
    };

    eeprom@54 {
        compatible = "atmel,24c256";
        reg = <0x54>;
        pagesize = <64>;
    };

    rtc@68 {
        compatible = "maxim,ds3231";
        reg = <0x68>;

        interrupt-parent = <&gpio0>;
        interrupts = <3 IRQ_TYPE_EDGE_FALLING>;

        wakeup-source;
    };
};
