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

#include "rv32m1_vega-pinctrl.dtsi"

/ {
	aliases {
		led0 = &green_led;
		led1 = &blue_led;
		led2 = &red_led;
		led3 = &sts_led;
		pwm-led0 = &blue_pwm_led;
		pwm-led1 = &green_pwm_led;
		pwm-led2 = &red_pwm_led;
		blue-pwm-led = &blue_pwm_led;
		green-pwm-led = &green_pwm_led;
		red-pwm-led = &red_pwm_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 GPIO_ACTIVE_HIGH>;
			label = "User LD1";
		};
		green_led: led_1 {
			gpios = <&gpioa 23 GPIO_ACTIVE_HIGH>;
			label = "User LD2";
		};
		red_led: led_2 {
			gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
			label = "User LD3";
		};
		sts_led: led_3 {
			gpios = <&gpioe 0 GPIO_ACTIVE_HIGH>;
			label = "User LD4";
		};
	};

	pwmleds {
		compatible = "pwm-leds";
		blue_pwm_led: pwm_led_0 {
			pwms = <&tpm2 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
			label = "User PWM LD1";
		};
		green_pwm_led: pwm_led_1 {
			pwms = <&tpm2 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
			label = "User PWM LD2";
		};
		red_pwm_led: pwm_led_2 {
			pwms = <&tpm2 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
			label = "User PWM LD3";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button_2: button_0 {
			label = "User SW2";
			gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
		};
		user_button_3: button_1 {
			label = "User SW3";
			gpios = <&gpioe 8 GPIO_ACTIVE_LOW>;
		};
		user_button_4: button_2 {
			label = "User SW4";
			gpios = <&gpioe 9 GPIO_ACTIVE_LOW>;
		};
		user_button_5: button_3 {
			label = "User SW5";
			gpios = <&gpioe 12 GPIO_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: &lpuart1 {
	pinctrl-0 = <&lpuart1_default>;
	pinctrl-names = "default";
};

&lpuart0 {
	current-speed = <115200>;
	status = "okay";
	pinctrl-0 = <&lpuart0_default>;
	pinctrl-names = "default";
};

arduino_i2c: &lpi2c0 {
	status = "okay";
	pinctrl-0 = <&lpi2c0_default>;
	pinctrl-names = "default";
};

&lpi2c3 {
	status = "okay";
	pinctrl-0 = <&lpi2c3_default>;
	pinctrl-names = "default";

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

arduino_spi: &lpspi0 {
	status = "okay";
	pinctrl-0 = <&lpspi0_default>;
	pinctrl-names = "default";
};

&lpspi1 {
	status = "okay";
	cs-gpios = <&gpiob 22 GPIO_ACTIVE_LOW>;
	pinctrl-0 = <&lpspi1_default>;
	pinctrl-names = "default";

	mx25r32: mx25r3235f@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <80000000>;
		label = "MX25R32";
		jedec-id = [c2 28 16];
		size = <33554432>;
	};
};

&tpm2 {
	status = "okay";
	pinctrl-0 = <&tpm2_default>;
	pinctrl-names = "default";
};
