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) ITE, All Rights Reserved
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <zephyr/dt-bindings/gpio/gpio.h>
#include <ite/it8xxx2.dtsi>
#include <ite/it8xxx2-pinctrl-map.dtsi>

/ {
	model = "IT8XXX2 EV-Board";
	compatible = "riscv,it8xxx2-evb";

	aliases {
		i2c-0 = &i2c0;
		peci-0 = &peci0;
	};

	chosen {
		zephyr,console = &uart1;
		zephyr,shell-uart = &uart1;
		zephyr,bt-uart = &uart2;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,flash-controller = &flashctrl;
		zephyr,code-partition = &slot0_partition;
		zephyr,keyboard-scan = &kscan0;
	};

	aliases {
		led0 = &led0;
		kscan0 = &kscan0;
		watchdog0 = &twd0;
		pwm-0 = &pwm0;
	};

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&gpioc 0 GPIO_ACTIVE_HIGH>;
			label = "Green LED";
		};
	};
};
&adc0 {
	status = "okay";
	pinctrl-0 = <&adc0_ch3_gpi3_default>;
	pinctrl-names = "default";
};
/* voltage comparator for test */
&vcmp0 {
	status = "okay";
	scan-period = <IT8XXX2_VCMP_SCAN_PERIOD_600US>;
	comparison = <IT8XXX2_VCMP_GREATER>;
	threshold-mv = <2000>;
	io-channels = <&adc0 3>;
};
&i2c0 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	pinctrl-0 = <&i2c0_clk_gpb3_default
		     &i2c0_data_gpb4_default>;
	pinctrl-names = "default";
};
&i2c1 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	pinctrl-0 = <&i2c1_clk_gpc1_default
		     &i2c1_data_gpc2_default>;
	pinctrl-names = "default";
};
&i2c2 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	pinctrl-0 = <&i2c2_clk_gpf6_default
		     &i2c2_data_gpf7_default>;
	pinctrl-names = "default";
};
&i2c3 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	pinctrl-0 = <&i2c3_clk_gph1_default
		     &i2c3_data_gph2_default>;
	pinctrl-names = "default";
};
&i2c4 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	pinctrl-0 = <&i2c4_clk_gpe0_default
		     &i2c4_data_gpe7_default>;
	pinctrl-names = "default";
};
&i2c5 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	pinctrl-0 = <&i2c5_clk_gpa4_default
		     &i2c5_data_gpa5_default>;
	pinctrl-names = "default";
};
&uart1 {
	status = "okay";
	current-speed = <115200>;
	clock-frequency = <1804800>;
};
&uart2 {
	status = "okay";
	current-speed = <460800>;
	clock-frequency = <1804800>;
};
&ite_uart1_wrapper {
	status = "okay";
	pinctrl-0 = <&uart1_rx_gpb0_default
		     &uart1_tx_gpb1_default>;
	pinctrl-names = "default";
};
&ite_uart2_wrapper {
	status = "okay";
	pinctrl-0 = <&uart2_rx_gph1_default
		     &uart2_tx_gph2_default>;
	pinctrl-names = "default";
};
/* pwm for test */
&pwm0 {
	status = "okay";
	prescaler-cx = <PWM_PRESCALER_C6>;
	/*
	 * If we need pwm output in ITE chip power saving mode,
	 * then we should set frequency <=324Hz.
	 */
	pwm-output-frequency = <324>;
	pinctrl-0 = <&pwm0_gpa0_default>;
	pinctrl-names = "default";
};
/* pwm for fan */
&pwm7 {
	status = "okay";
	prescaler-cx = <PWM_PRESCALER_C4>;
	pwm-output-frequency = <30000>;
	pinctrl-0 = <&pwm7_gpa7_default>;
	pinctrl-names = "default";
};
/* fan tachometer sensor */
&tach0 {
	status = "okay";
	channel = <IT8XXX2_TACH_CHANNEL_A>;
	pulses-per-round = <2>;
	pinctrl-0 = <&tach0a_gpd6_default>;
	pinctrl-names = "default";
};
&kscan0 {
	status = "okay";
	pinctrl-0 = <&kso16_gpc3_default
		     &kso17_gpc5_default>;
	pinctrl-names = "default";
};
&peci0 {
	status = "okay";
	pinctrl-0 = <&peci_gpf6_default>;
	pinctrl-names = "default";
};
&flash0 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;
		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x20000>;
		};
		slot0_partition: partition@20000 {
			label = "image-0";
			reg = <0x00020000 0x20000>;
		};
		slot1_partition: partition@40000 {
			label = "image-1";
			reg = <0x00040000 0x10000>;
		};
		scratch_partition: partition@50000 {
			label = "image-scratch";
			reg = <0x00050000 0x10000>;
		};
		storage_partition: partition@60000 {
			label = "storage";
			reg = <0x00060000 0x20000>;
		};
	};
};