// SPDX-License-Identifier: GPL-2.0
/*
 * at91-kizbox3.dts - Device Tree Include file for Overkiz Kizbox 3
 * family SoC boards
 *
 * Copyright (C) 2018 Overkiz SAS
 *
 * Authors: Dorian Rocipon <d.rocipon@overkiz.com>
 *          Kevin Carli <k.carli@overkiz.com>
 *          Mickael Gardet <m.gardet@overkiz.com>
 */
/dts-v1/;
#include "sama5d2.dtsi"
#include "sama5d2-pinfunc.h"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/mfd/atmel-flexcom.h>
#include <dt-bindings/pinctrl/at91.h>
#include <dt-bindings/pwm/pwm.h>

/ {
	model = "Overkiz Kizbox3";
	compatible = "overkiz,kizbox3", "atmel,sama5d2", "atmel,sama5";

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
		serial4 = &uart4;
		serial5 = &uart5;
		serial6 = &uart6;
	};

	chosen {
		bootargs = "ubi.mtd=ubi";
		stdout-path = "serial1:115200n8";
	};

	clocks {
		slow_xtal {
			clock-frequency = <32768>;
		};

		main_xtal {
			clock-frequency = <12000000>;
		};
	};

	vdd_adc_vddana: supply_3v3_ana {
		compatible = "regulator-fixed";
		regulator-name = "adc-vddana";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	vdd_adc_vref: supply_3v3_ref {
		compatible = "regulator-fixed";
		regulator-name = "adc-vref";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	pwm_leds {
		compatible = "pwm-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pwm0_pwm_h0
			     &pinctrl_pwm0_pwm_h1
			     &pinctrl_pwm0_pwm_h2
			     &pinctrl_pwm0_pwm_h3>;
		status = "disabled";

		red {
			label = "pwm:red:user";
			pwms = <&pwm0 0 10000000 0>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
			status = "disabled";
		};

		green {
			label = "pwm:green:user";
			pwms = <&pwm0 1 10000000 0>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
			status = "disabled";
		};

		blue {
			label = "pwm:blue:user";
			pwms = <&pwm0 2 10000000 0>;
			max-brightness = <255>;
			status = "disabled";
		};

		white {
			label = "pwm:white:user";
			pwms = <&pwm0 3 10000000 0>;
			max-brightness = <255>;
			status = "disabled";
		};
	};
};

&ebi {
	status = "okay";
};

&nand_controller {
	status = "okay";

	nand@3 {
		pinctrl-0 = <&pinctrl_ebi_nand_addr>;
		pinctrl-names = "default";
		reg = <0x3 0x0 0x800000>;

		atmel,rb = <0>;
		nand-bus-width = <8>;
		nand-ecc-mode = "hw";
		nand-ecc-strength = <4>;
		nand-ecc-step-size = <512>;
		nand-on-flash-bbt;
		label = "atmel_nand";

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

			bootstrap@0 {
				label = "bootstrap";
				reg = <0x0 0x20000>;
			};

			u-boot@20000 {
				label = "u-boot";
				reg = <0x20000 0x140000>;
			};

			u-boot-factory@160000 {
				label = "u-boot-factory";
				reg = <0x160000 0x140000>;
			};

			ubi@2A0000 {
				label = "ubi";
				reg = <0x2A0000 0x7D60000>;
			};
		};

	};
};

&rtc {
	status = "okay";
};

&pioA {
	pinctrl_ebi_nand_addr: ebi-addr-1 {
		pinmux = <PIN_PA0__D0>,
			<PIN_PA1__D1>,
			<PIN_PA2__D2>,
			<PIN_PA3__D3>,
			<PIN_PA4__D4>,
			<PIN_PA5__D5>,
			<PIN_PA6__D6>,
			<PIN_PA7__D7>,
			<PIN_PA8__NWE_NANDWE>,
			<PIN_PA9__NCS3>,
			<PIN_PA10__A21_NANDALE>,
			<PIN_PA11__A22_NANDCLE>,
			<PIN_PA21__NANDRDY>;
		bias-disable;
	};

	pinctrl_usart {
		pinctrl_usart_0: usart0-0 {
			pinmux = < PIN_PB26__URXD0>, <PIN_PB27__UTXD0>;
			bias-disable;
		};
		pinctrl_usart_1: usart1-0 {
			pinmux = < PIN_PD2__URXD1>, <PIN_PD3__UTXD1>;
			bias-disable;
		};
		pinctrl_usart_2: usart2-0 {
			pinmux = < PIN_PD4__URXD2>, <PIN_PD5__UTXD2>;
			bias-disable;
		};
		pinctrl_usart_3: usart3-0 {
			pinmux = < PIN_PC12__URXD3>, <PIN_PC13__UTXD3>;
			bias-disable;
		};
		pinctrl_usart_4: usart4-0 {
			pinmux = < PIN_PB3__URXD4>, <PIN_PB4__UTXD4>;
			bias-disable;
		};
		pinctrl_flx0_default: flx0_usart_default {
			pinmux = <PIN_PB28__FLEXCOM0_IO0>, //TX
			<PIN_PB29__FLEXCOM0_IO1>; //RX
			bias-disable;
		};
		pinctrl_flx3_default: flx3_usart_default {
			pinmux = <PIN_PB22__FLEXCOM3_IO1>, //RX
			<PIN_PB23__FLEXCOM3_IO0>; //TX
			bias-disable;
		};
	};

	pinctrl_flx4_default: flx4_i2c2_default {
		pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA
		<PIN_PD13__FLEXCOM4_IO1>; //CLK
		bias-disable;
		drive-open-drain = <1>;
	};

	pinctrl_pwm0 {
		pinctrl_pwm0_pwm_h0: pwm0_pwm_h0 {
			pinmux = <PIN_PA30__PWMH0>;
			bias-disable;
		};
		pinctrl_pwm0_pwm_h1: pwm0_pwmh1 {
			pinmux = <PIN_PB0__PWMH1>;
			bias-disable;
		};
		pinctrl_pwm0_pwm_h2: pwm0_pwm_h2 {
			pinmux = <PIN_PB5__PWMH2>;
			bias-disable;
		};
		pinctrl_pwm0_pwm_h3: pwm0_pwm_h3 {
			pinmux = <PIN_PB7__PWMH3>;
			bias-disable;
		};
	};

	pinctrl_adc {
		pinctrl_adc2: adc2 {
			pinmux = <PIN_PD21__GPIO>;
			bias-disable;
		};
		pinctrl_adc3: adc3 {
			pinmux = <PIN_PD22__GPIO>;
			bias-disable;
		};
		pinctrl_adc4: adc4 {
			pinmux = <PIN_PD23__GPIO>;
			bias-disable;
		};
		pinctrl_adc5: adc5 {
			pinmux = <PIN_PD24__GPIO>;
			bias-disable;
		};
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usart_0>;
	atmel,use-dma-rx;
	atmel,use-dma-tx;
	status = "disabled";
};

/* debug uart */
&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usart_1>;
	atmel,use-dma-rx;
	atmel,use-dma-tx;
	status = "disabled";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usart_2>;
	atmel,use-dma-rx;
	atmel,use-dma-tx;
	status = "disabled";
};

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usart_3>;
	atmel,use-dma-rx;
	atmel,use-dma-tx;
	status = "disabled";
};

&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usart_4>;
	atmel,use-dma-rx;
	atmel,use-dma-tx;
	status = "disabled";
};

&flx0 {
	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
	status = "disabled";

	uart5: serial@200  {
		compatible = "atmel,at91sam9260-usart";
		reg = <0x200 0x400>;
		interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
		dmas = <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
			| AT91_XDMAC_DT_PERID(11))>,
		       <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
			| AT91_XDMAC_DT_PERID(12))>;
		dma-names = "tx", "rx";
		clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
		clock-names = "usart";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_flx0_default>;
		atmel,fifo-size = <32>;
		atmel,use-dma-rx;
		atmel,use-dma-tx;
		status = "disabled";
	};
};

&flx3 {
	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
	status = "disabled";

	uart6: serial@200 {
		compatible = "atmel,at91sam9260-usart";
		reg = <0x200 0x400>;
		interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
		dmas = <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
			| AT91_XDMAC_DT_PERID(17))>,
		       <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
			| AT91_XDMAC_DT_PERID(18))>;
		dma-names = "tx", "rx";
		clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
		clock-names = "usart";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_flx3_default>;
		atmel,fifo-size = <32>;
		atmel,use-dma-rx;
		atmel,use-dma-tx;
		status = "disabled";
	};
};

&flx4 {
	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
	status = "disabled";

	i2c2: i2c@600 {
		compatible = "atmel,sama5d2-i2c";
		reg = <0x600 0x200>;
		interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
		dmas = <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
			| AT91_XDMAC_DT_PERID(19))>,
		       <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
			| AT91_XDMAC_DT_PERID(20))>;
		dma-names = "tx", "rx";
		#address-cells = <1>;
		#size-cells = <0>;
		clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_flx4_default>;
		atmel,fifo-size = <16>;
		status = "disabled";
	};
};

&pwm0 {
	status = "okay";
};

&shutdown_controller {
	atmel,shdwc-debouncer = <976>;
	atmel,wakeup-rtc-timer;

	input@0 {
		reg = <0>;
		atmel,wakeup-type = "low";
	};
};

&watchdog {
	status = "okay";
};

&adc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_adc2
		     &pinctrl_adc3
		     &pinctrl_adc4
		     &pinctrl_adc5>;

	vddana-supply = <&vdd_adc_vddana>;
	vref-supply = <&vdd_adc_vref>;
	status = "disabled";
};

&securam {
	export;

	/* export overkiz u-boot mode/version and factory */
	uboot@1400 {
		reg = <0x1400 0x20>;
		export;
	};
};
