Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

/*
 * Copyright (c) 2019, Synopsys, Inc. All rights reserved.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <arc_hsdk.dtsi>

/ {

	aliases {
		uart-0 = &uart0;
		led0 = &led0;
		led1 = &led1;
		led2 = &led2;
		led3 = &led3;
	};

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&cy8c95xx_port1 4 GPIO_ACTIVE_HIGH>;
			label = "LED 0";
		};
		led1: led_1 {
			gpios = <&cy8c95xx_port1 5 GPIO_ACTIVE_HIGH>;
			label = "LED 1";
		};
		led2: led_2 {
			gpios = <&cy8c95xx_port1 6 GPIO_ACTIVE_HIGH>;
			label = "LED 2";
		};
		led3: led_3 {
			gpios = <&cy8c95xx_port1 7 GPIO_ACTIVE_HIGH>;
			label = "LED 3";
		};
	};

	chosen {
		zephyr,sram = &ddr0;
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
	};

	arduino_header: connector {
		compatible = "arduino-header-r3";
		#gpio-cells = <2>;
		gpio-map-mask = <0xffffffff 0xffffffc0>;
		gpio-map-pass-thru = <0 0x3f>;
		gpio-map = <0 0 &cy8c95xx_port0 2 0>,	/* A0 */
			   <1 0 &cy8c95xx_port0 3 0>,	/* A1 */
			   <2 0 &cy8c95xx_port0 4 0>,	/* A2 */
			   <3 0 &cy8c95xx_port0 5 0>,	/* A3 */
			   <4 0 &gpio0 18 0>,	/* A4 */
			   <5 0 &gpio0 19 0>,	/* A5 */
			   <6 0 &gpio0 23 0>,	/* D0 */
			   <7 0 &gpio0 22 0>,	/* D1 */
			   <8 0 &gpio0 16 0>,	/* D2 */
			   <9 0 &gpio0 17 0>,	/* D3 */
			   <10 0 &gpio0 11 0>,	/* D4 */
			   <11 0 &gpio0 9 0>,	/* D5 */
			   <12 0 &gpio0 21 0>,	/* D6 */
			   <13 0 &gpio0 20 0>,	/* D7 */
			   <14 0 &gpio0 10 0>,	/* D8 */
			   <15 0 &gpio0 8 0>,	/* D9 */
			   <16 0 &gpio0 12 0>,	/* D10 */
			   <17 0 &gpio0 13 0>,	/* D11 */
			   <18 0 &gpio0 14 0>,	/* D12 */
			   <19 0 &gpio0 15 0>,	/* D13 */
			   <20 0 &gpio0 18 0>,	/* D14 */
			   <21 0 &gpio0 19 0>;	/* D15 */
	};
};

arduino_spi: &spi2 {};

&uart0 {
	status = "okay";
	current-speed = <115200>;
};

&gpio0 {
	status = "okay";
	interrupts = <56 1>;
};

&creg_gpio {
	status = "okay";
};

&spi0 {
	status = "okay";
	clock-frequency = <33333333>;
	cs-gpios = <&creg_gpio 0 GPIO_ACTIVE_HIGH>,
			   <&creg_gpio 1 GPIO_ACTIVE_HIGH>,
			   <&creg_gpio 2 GPIO_ACTIVE_HIGH>,
			   <&creg_gpio 3 GPIO_ACTIVE_HIGH>;
};

&spi1 {
	status = "okay";
	clock-frequency = <33333333>;
	cs-gpios = <&creg_gpio 4 GPIO_ACTIVE_HIGH>,
			   <&creg_gpio 5 GPIO_ACTIVE_HIGH>,
			   <&creg_gpio 6 GPIO_ACTIVE_HIGH>;
};

&spi2 {
	status = "okay";
	clock-frequency = <33333333>;
	cs-gpios = <&creg_gpio 8 GPIO_ACTIVE_HIGH>,
			   <&creg_gpio 9 GPIO_ACTIVE_HIGH>,
			   <&creg_gpio 10 GPIO_ACTIVE_HIGH>;
};

&i2c0 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;

	cy8c95xx: cy8c95xx@20 {
		compatible = "cypress,cy8c95xx-gpio";
		reg = <0x20>;
		label = "cy8c95xx_gpio";

		ranges;
		#address-cells = <1>;
		#size-cells = <0>;

		cy8c95xx_port0: cy8c95xx_port@0 {
			compatible = "cypress,cy8c95xx-gpio-port";
			reg = <0x00>;
			label = "cy8c95xx_port0";
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <8>;
			status = "okay";
		};

		cy8c95xx_port1: cy8c95xx_port@1 {
			compatible = "cypress,cy8c95xx-gpio-port";
			reg = <0x01>;
			label = "cy8c95xx_port1";
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <8>;
			status = "okay";
		};
	};
};