// 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 {
		reg = <0x20000000 0x2000000>;
	};

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

	ahb {
		apb {
			tcb0: timer@fffa0000 {
				timer@0 {
					compatible = "atmel,tcb-timer";
					reg = <0>, <1>;
				};

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

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

			usart3: serial@fffd0000 {
				status = "okay";
			};

			dbgu: serial@fffff200 {
				status = "okay";
			};

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

		usb0: ohci@500000 {
			num-ports = <1>;
			status = "okay";
		};

		ebi: ebi@10000000 {
			status = "okay";

			nand_controller: 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>;
						};
					};
				};
			};
		};
	};

	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;
		};
	};

	i2c-gpio-0 {
		status = "okay";

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

	pwm_leds {
		compatible = "pwm-leds";

		network_green {
			label = "pwm:green:network";
			pwms = <&tcb_pwm 2 10000000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
		};

		network_red {
			label = "pwm:red:network";
			pwms = <&tcb_pwm 4 10000000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
		};

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

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

	tcb_pwm: pwm {
		compatible = "atmel,tcb-pwm";
		#pwm-cells = <3>;
		tc-block = <1>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_tcb1_tioa0
			     &pinctrl_tcb1_tioa1
			     &pinctrl_tcb1_tioa2
			     &pinctrl_tcb1_tiob0>;
	};
};
