// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * at91-kizbox.dts - Device Tree file for Overkiz Kizbox board
 *
 * Copyright (C) 2012-2014 Boris BREZILLON <b.brezillon@overkiz.com>
 *               2014-2015 Gaël PORTAY <g.portay@overkiz.com>
 */
/dts-v1/;
#include "at91sam9g20.dtsi"
#include <dt-bindings/pwm/pwm.h>

/ {
	model = "Overkiz Kizbox";
	compatible = "overkiz,kizbox", "atmel,at91sam9g20", "atmel,at91sam9";

	chosen {
		bootargs = "ubi.mtd=ubi";
		stdout-path = &dbgu;
	};

	memory@20000000 {
		reg = <0x20000000 0x2000000>;
	};

	clocks {
		main_xtal {
			clock-frequency = <18432000>;
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;

		reset {
			label = "PB_RST";
			gpios = <&pioB 30 GPIO_ACTIVE_HIGH>;
			linux,code = <0x100>;
			wakeup-source;
		};

		user {
			label = "PB_USER";
			gpios = <&pioB 31 GPIO_ACTIVE_HIGH>;
			linux,code = <0x101>;
			wakeup-source;
		};
	};

	led-controller {
		compatible = "pwm-leds";

		led-1 {
			label = "pwm:green:network";
			pwms = <&tcb1_pwm1 0 10000000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
		};

		led-2 {
			label = "pwm:red:network";
			pwms = <&tcb1_pwm2 0 10000000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
		};

		led-3 {
			label = "pwm:green:user";
			pwms = <&tcb1_pwm0 0 10000000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
		};

		led-4 {
			label = "pwm:red:user";
			pwms = <&tcb1_pwm0 1 10000000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
		};
	};
};

&tcb0 {
	timer@0 {
		compatible = "atmel,tcb-timer";
		reg = <0>, <1>;
	};

	timer@2 {
		compatible = "atmel,tcb-timer";
		reg = <2>;
	};
};

&tcb1 {
	tcb1_pwm0: pwm@0 {
		compatible = "atmel,tcb-pwm";
		reg = <0>;
		#pwm-cells = <3>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_tcb1_tioa0 &pinctrl_tcb1_tiob0>;
	};

	tcb1_pwm1: pwm@1 {
		compatible = "atmel,tcb-pwm";
		reg = <1>;
		#pwm-cells = <3>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_tcb1_tioa1>;
	};

	tcb1_pwm2: pwm@2 {
		compatible = "atmel,tcb-pwm";
		reg = <2>;
		#pwm-cells = <3>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_tcb1_tioa2>;
	};
};

&ebi {
	status = "okay";
};

&nand_controller {
	status = "okay";
	pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
	pinctrl-names = "default";

	nand@3 {
		reg = <0x3 0x0 0x800000>;
		rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
		cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
		nand-bus-width = <8>;
		nand-ecc-mode = "soft";
		nand-on-flash-bbt;
		label = "atmel_nand";

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

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

			ubi@20000 {
				label = "ubi";
				reg = <0x20000 0x7fe0000>;
			};
		};
	};
};

&macb0 {
	phy-mode = "mii";
	pinctrl-0 = <&pinctrl_macb_rmii
		     &pinctrl_macb_rmii_mii_alt>;
	status = "okay";
};

&usart3 {
	status = "okay";
};

&dbgu {
	status = "okay";
};

&watchdog {
	timeout-sec = <15>;
	atmel,max-heartbeat-sec = <16>;
	atmel,min-heartbeat-sec = <0>;
	status = "okay";
};

&usb0 {
	num-ports = <1>;
	status = "okay";
};

&i2c_gpio0 {
	status = "okay";

	rtc: pcf8563@51 {
		compatible = "nxp,pcf8563";
		reg = <0x51>;
	};
};
