Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

/*
 * at91-kizboxmini.dts - Device Tree file for Overkiz Kizbox mini board
 *
 * Copyright (C) 2014 Gaƫl PORTAY <g.portay@overkiz.com>
 *
 * Licensed under GPLv2 or later.
 */
/dts-v1/;
#include "at91sam9g25.dtsi"
#include <dt-bindings/pwm/pwm.h>

/ {
	model = "Overkiz Kizbox mini";
	compatible = "overkiz,kizboxmini", "atmel,at91sam9g25", "atmel,at91sam9x5", "atmel,at91sam9";

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

	memory {
		reg = <0x20000000 0x8000000>;
	};

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

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

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

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

			usart0: serial@f801c000 {
				status = "okay";
			};

			macb0: ethernet@f802c000 {
				phy-mode = "rmii";
				status = "okay";
			};

			pwm0: pwm@f8034000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_pwm0_pwm0_1
					     &pinctrl_pwm0_pwm1_1>;
				status = "okay";
			};

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

			watchdog@fffffe40 {
				status = "okay";
			};
		};

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

		usb1: ehci@700000 {
			status = "okay";
		};

		ebi: ebi@10000000 {
			pinctrl-0 = <&pinctrl_ebi_addr_nand
				     &pinctrl_ebi_data_0_7>;
			pinctrl-names = "default";
			status = "okay";

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

				nand@3 {
					reg = <0x3 0x0 0x800000>;
					rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
					cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
					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>;
						};

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

		nand0: nand@40000000 {
			nand-bus-width = <8>;
			nand-ecc-mode = "hw";
			atmel,has-pmecc;
			atmel,pmecc-cap = <4>;
			atmel,pmecc-sector-size = <512>;
			nand-on-flash-bbt;
			status = "okay";

		};
	};

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

		prog {
			label = "PB_PROG";
			gpios = <&pioC 17 GPIO_ACTIVE_LOW>;
			linux,code = <0x102>;
			wakeup-source;
		};

		reset {
			label = "PB_RST";
			gpios = <&pioC 16 GPIO_ACTIVE_LOW>;
			linux,code = <0x100>;
			wakeup-source;
		};
	};

	pwm_leds {
		compatible = "pwm-leds";

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

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