/*
 * Copyright (c) 2020 The ZMK Contributors
 *
 * SPDX-License-Identifier: MIT
 */

/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>

/ {
    model = "Makerdiary nRF52840 M.2 module";
    compatible = "makerdiary,nrf52840_m2";

    chosen {
        zephyr,code-partition = &code_partition;
        zephyr,sram = &sram0;
        zephyr,flash = &flash0;
        zephyr,console = &cdc_acm_uart;
        zmk,battery = &vbatt;
    };

    leds {
        compatible = "gpio-leds";
        red_led: led_0 {
            gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
            label = "Red LED";
        };
        green_led: led_1 {
            gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
            label = "Green LED";
        };
        blue_led: led_2 {
            gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
            label = "Blue LED";
        };
    };

    vbatt: vbatt {
        compatible = "zmk,battery-voltage-divider";
        label = "BATTERY";
        io-channels = <&adc 0>;
        output-ohms = <1000000>;
        full-ohms = <(1000000 + 1000000)>;
    };

};

&adc {
    status = "okay";
};

&gpiote {
    status = "okay";
};

&gpio0 {
    status = "okay";
};

&gpio1 {
    status = "okay";
};

&usbd {
    compatible = "nordic,nrf-usbd";
    status = "okay";
    cdc_acm_uart: cdc_acm_uart {
        compatible = "zephyr,cdc-acm-uart";
        label = "CDC_ACM_0";
    };
};


&flash0 {
    /*
     * For more information, see:
     * http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
     */
    partitions {
        compatible = "fixed-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

        sd_partition: partition@0 {
            label = "softdevice";
            reg = <0x00000000 0x00026000>;
        };
        code_partition: partition@26000 {
            label = "code_partition";
            reg = <0x00026000 0x000c6000>;
        };

        /*
         * The flash starting at 0x000ec000 and ending at
         * 0x000f3fff is reserved for use by the application.
         */

        /*
         * Storage partition will be used by FCB/LittleFS/NVS
         * if enabled.
         */
        storage_partition: partition@ec000 {
            label = "storage";
            reg = <0x000ec000 0x00008000>;
        };

        boot_partition: partition@f4000 {
            label = "adafruit_boot";
            reg = <0x000f4000 0x0000c000>;
        };
    };
};