/*
 * Copyright (c) 2020 Piotr Mienkowski
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <silabs/efr32fg1p133f256gm48.dtsi>
#include "efr32_radio.dtsi"

/ {
	model = "Silicon Labs BRD4250B (Flex Gecko Radio Board)";
	compatible = "silabs,efr32_radio_brd4250b", "silabs,efr32fg1p";

	pwmleds {
		compatible = "pwm-leds";
		status = "okay";
		pwm_led0: pwm_led0 {
			pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
		};
	};

	aliases {
		pwm-led0 = &pwm_led0;
	};
};

&cpu0 {
	clock-frequency = <38400000>;
};

&timer0 {
	status = "okay";

	pwm0: pwm {
		status = "okay";
		pin-location = <GECKO_LOCATION(28) GECKO_PORT_F GECKO_PIN(4)>;
		prescaler = <1024>;
	};
};

&flash0 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		/* Reserve 32 kB for the bootloader */
		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x0 0x00008000>;
			read-only;
		};

		/* Reserve 94 kB for the application in slot 0 */
		slot0_partition: partition@8000 {
			label = "image-0";
			reg = <0x00008000 0x00017800>;
		};

		/* Reserve 94 kB for the application in slot 1 */
		slot1_partition: partition@1f800 {
			label = "image-1";
			reg = <0x0001f800 0x00017800>;
		};

		/* Reserve 30 kB for the scratch partition */
		scratch_partition: partition@37000 {
			label = "image-scratch";
			reg = <0x00037000 0x00007800>;
		};

		/* Set 6Kb of storage at the end of the 256Kb of flash */
		storage_partition: partition@3e800 {
			label = "storage";
			reg = <0x0003e800 0x00001800>;
		};

	};
};
