162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * at91sam9x5ek.dtsi - Device Tree file for AT91SAM9x5CM Base board
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (C) 2012 Atmel,
662306a36Sopenharmony_ci *                2012 Nicolas Ferre <nicolas.ferre@atmel.com>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci#include "at91sam9x5cm.dtsi"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/ {
1162306a36Sopenharmony_ci	model = "Atmel AT91SAM9X5-EK";
1262306a36Sopenharmony_ci	compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	chosen {
1562306a36Sopenharmony_ci		bootargs = "root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs";
1662306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
1762306a36Sopenharmony_ci	};
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	sound {
2062306a36Sopenharmony_ci		compatible = "atmel,sam9x5-wm8731-audio";
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci		atmel,model = "wm8731 @ AT91SAM9X5EK";
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci		atmel,audio-routing =
2562306a36Sopenharmony_ci			"Headphone Jack", "RHPOUT",
2662306a36Sopenharmony_ci			"Headphone Jack", "LHPOUT",
2762306a36Sopenharmony_ci			"LLINEIN", "Line In Jack",
2862306a36Sopenharmony_ci			"RLINEIN", "Line In Jack";
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci		atmel,ssc-controller = <&ssc0>;
3162306a36Sopenharmony_ci		atmel,audio-codec = <&wm8731>;
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci&adc0 {
3662306a36Sopenharmony_ci	atmel,adc-ts-wires = <4>;
3762306a36Sopenharmony_ci	atmel,adc-ts-pressure-threshold = <10000>;
3862306a36Sopenharmony_ci	status = "okay";
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci&dbgu {
4262306a36Sopenharmony_ci	status = "okay";
4362306a36Sopenharmony_ci};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci&i2c0 {
4662306a36Sopenharmony_ci	status = "okay";
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	wm8731: wm8731@1a {
4962306a36Sopenharmony_ci		compatible = "wm8731";
5062306a36Sopenharmony_ci		reg = <0x1a>;
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci&mmc0 {
5562306a36Sopenharmony_ci	pinctrl-0 = <
5662306a36Sopenharmony_ci		&pinctrl_board_mmc0
5762306a36Sopenharmony_ci		&pinctrl_mmc0_slot0_clk_cmd_dat0
5862306a36Sopenharmony_ci		&pinctrl_mmc0_slot0_dat1_3>;
5962306a36Sopenharmony_ci	pinctrl-names = "default";
6062306a36Sopenharmony_ci	status = "okay";
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	slot@0 {
6362306a36Sopenharmony_ci		reg = <0>;
6462306a36Sopenharmony_ci		bus-width = <4>;
6562306a36Sopenharmony_ci		cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci&mmc1 {
7062306a36Sopenharmony_ci	pinctrl-0 = <
7162306a36Sopenharmony_ci		&pinctrl_board_mmc1
7262306a36Sopenharmony_ci		&pinctrl_mmc1_slot0_clk_cmd_dat0
7362306a36Sopenharmony_ci		&pinctrl_mmc1_slot0_dat1_3>;
7462306a36Sopenharmony_ci	pinctrl-names = "default";
7562306a36Sopenharmony_ci	status = "okay";
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci	slot@0 {
7862306a36Sopenharmony_ci		reg = <0>;
7962306a36Sopenharmony_ci		bus-width = <4>;
8062306a36Sopenharmony_ci		cd-gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
8162306a36Sopenharmony_ci	};
8262306a36Sopenharmony_ci};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci&pinctrl {
8562306a36Sopenharmony_ci	camera_sensor {
8662306a36Sopenharmony_ci		pinctrl_pck0_as_isi_mck: pck0_as_isi_mck-0 {
8762306a36Sopenharmony_ci			atmel,pins =
8862306a36Sopenharmony_ci				<AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* ISI_MCK */
8962306a36Sopenharmony_ci		};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci		pinctrl_sensor_power: sensor_power-0 {
9262306a36Sopenharmony_ci			atmel,pins =
9362306a36Sopenharmony_ci				<AT91_PIOA 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
9462306a36Sopenharmony_ci		};
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci		pinctrl_sensor_reset: sensor_reset-0 {
9762306a36Sopenharmony_ci			atmel,pins =
9862306a36Sopenharmony_ci				<AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
9962306a36Sopenharmony_ci		};
10062306a36Sopenharmony_ci	};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci	mmc0 {
10362306a36Sopenharmony_ci		pinctrl_board_mmc0: mmc0-board {
10462306a36Sopenharmony_ci			atmel,pins =
10562306a36Sopenharmony_ci				<AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD15 gpio CD pin pull up and deglitch */
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci	};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci	mmc1 {
11062306a36Sopenharmony_ci		pinctrl_board_mmc1: mmc1-board {
11162306a36Sopenharmony_ci			atmel,pins =
11262306a36Sopenharmony_ci				<AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PD14 gpio CD pin pull up and deglitch */
11362306a36Sopenharmony_ci		};
11462306a36Sopenharmony_ci	};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci	usb2 {
11762306a36Sopenharmony_ci		pinctrl_board_usb2: usb2-board {
11862306a36Sopenharmony_ci			atmel,pins =
11962306a36Sopenharmony_ci				<AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;		/* PB16 gpio vbus sense, deglitch */
12062306a36Sopenharmony_ci		};
12162306a36Sopenharmony_ci	};
12262306a36Sopenharmony_ci};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci&spi0 {
12562306a36Sopenharmony_ci	cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
12662306a36Sopenharmony_ci	status = "disabled"; /* conflicts with mmc1 */
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	flash@0 {
12962306a36Sopenharmony_ci		compatible = "atmel,at25df321a";
13062306a36Sopenharmony_ci		spi-max-frequency = <50000000>;
13162306a36Sopenharmony_ci		reg = <0>;
13262306a36Sopenharmony_ci	};
13362306a36Sopenharmony_ci};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci&ssc0 {
13662306a36Sopenharmony_ci	status = "okay";
13762306a36Sopenharmony_ci};
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci&usart0 {
14062306a36Sopenharmony_ci	atmel,use-dma-rx;
14162306a36Sopenharmony_ci	atmel,use-dma-tx;
14262306a36Sopenharmony_ci	status = "okay";
14362306a36Sopenharmony_ci};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci&usb0 {
14662306a36Sopenharmony_ci	num-ports = <3>;
14762306a36Sopenharmony_ci	atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
14862306a36Sopenharmony_ci			   &pioD 19 GPIO_ACTIVE_LOW
14962306a36Sopenharmony_ci			   &pioD 20 GPIO_ACTIVE_LOW
15062306a36Sopenharmony_ci			  >;
15162306a36Sopenharmony_ci	status = "okay";
15262306a36Sopenharmony_ci};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci&usb1 {
15562306a36Sopenharmony_ci	status = "okay";
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci&usb2 {
15962306a36Sopenharmony_ci	pinctrl-names = "default";
16062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_board_usb2>;
16162306a36Sopenharmony_ci	atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
16262306a36Sopenharmony_ci	status = "okay";
16362306a36Sopenharmony_ci};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci&watchdog {
16662306a36Sopenharmony_ci	status = "okay";
16762306a36Sopenharmony_ci};
168