/*
 * Copyright 2018 Foundries.io Ltd
 * SPDX-License-Identifier: Apache-2.0
 */

/ {
	aliases {
		led0 = &green_led;
		led1 = &blue_led;
		led2 = &red_led;
		led3 = &sts_led;
		sw0 = &user_button_2;
		sw1 = &user_button_3;
		sw2 = &user_button_4;
		sw3 = &user_button_5;
	};

	leds {
		compatible = "gpio-leds";
		blue_led: led_0 {
			gpios = <&gpioa 22 0>;
			label = "User LD1";
		};
		green_led: led_1 {
			gpios = <&gpioa 23 0>;
			label = "User LD2";
		};
		red_led: led_2 {
			gpios = <&gpioa 24 0>;
			label = "User LD3";
		};
		sts_led: led_3 {
			gpios = <&gpioe 0 0>;
			label = "User LD4";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button_2: button_0 {
			label = "User SW2";
			gpios = <&gpioa 0 GPIO_INT_ACTIVE_LOW>;
		};
		user_button_3: button_1 {
			label = "User SW3";
			gpios = <&gpioe 8 GPIO_INT_ACTIVE_LOW>;
		};
		user_button_4: button_2 {
			label = "User SW4";
			gpios = <&gpioe 9 GPIO_INT_ACTIVE_LOW>;
		};
		user_button_5: button_3 {
			label = "User SW5";
			gpios = <&gpioe 12 GPIO_INT_ACTIVE_LOW>;
		};
	};

	arduino_header: connector {
		compatible = "arduino-header-r3";
		#gpio-cells = <2>;
		gpio-map-mask = <0xffffffff 0xffffffc0>;
		gpio-map-pass-thru = <0 0x3f>;
		gpio-map = <0 0 &gpioc 11 0>,	/* A0 */
			   <1 0 &gpioc 12 0>,	/* A1 */
			   <2 0 &gpiob 9 0>,	/* A2 */
			   <3 0 &gpioe 4 0>,	/* A3 */
			   <4 0 &gpioe 10 0>,	/* A4 */
			   <5 0 &gpioe 11 0>,	/* A5 */
			   <6 0 &gpioa 25 0>,	/* D0 */
			   <7 0 &gpioa 26 0>,	/* D1 */
			   <8 0 &gpioa 27 0>,	/* D2 */
			   <9 0 &gpiob 13 0>,	/* D3 */
			   <10 0 &gpiob 14 0>,	/* D4 */
			   <11 0 &gpioa 30 0>,	/* D5 */
			   <12 0 &gpioa 31 0>,	/* D6 */
			   <13 0 &gpiob 1 0>,	/* D7 */
			   <14 0 &gpiob 2 0>,	/* D8 */
			   <15 0 &gpiob 3 0>,	/* D9 */
			   <16 0 &gpiob 6 0>,	/* D10 */
			   <17 0 &gpiob 5 0>,	/* D11 */
			   <18 0 &gpiob 7 0>,	/* D12 */
			   <19 0 &gpiob 4 0>,	/* D13 */
			   <20 0 &gpioc 9 0>,	/* D14 */
			   <21 0 &gpioc 10 0>;	/* D15 */
	};
};

arduino_serial: &uart1 {};

&uart0 {
	current-speed = <115200>;
	status = "okay";
};

arduino_i2c: &i2c0 {
	status = "okay";
};

&i2c3 {
	status = "okay";

	fxos8700@1e {
		compatible = "nxp,fxos8700";
		reg = <0x1e>;
		label = "FXOS8700";
		reset-gpios = <&gpioe 27 0>;
		int1-gpios = <&gpioe 1 0>;
		int2-gpios = <&gpioe 22 0>;
	};
};

&spi1 {
	status = "okay";
	cs-gpios = <&gpiob 22 0>;
	mx25r32: mx25r3235f@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <80000000>;
		label = "MX25R32";
		jedec-id = [c2 28 16];
		size = <33554432>;
		has-be32k;
	};
};
