Linux Audio

Check our new training course

Loading...
/*
 * Copyright (c) 2021 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */
#include "thingy53_nrf5340_common-pinctrl.dtsi"

/ {
	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,uart-mcumgr = &uart0;
		zephyr,bt-mon-uart = &uart0;
		zephyr,bt-c2h-uart = &uart0;
		zephyr,bt-hci-rpmsg-ipc = &ipc0;
	};

	buttons {
		compatible = "gpio-keys";
		button0: button_0 {
			gpios = <&gpio1 14 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
			label = "Push button 1";
		};
		button1: button_1 {
			gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
			label = "Push button 2";
		};
	};

	leds {
		compatible = "gpio-leds";
		red_led: led_1 {
			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
			label = "RGB red LED";
		};
		green_led: led_2 {
			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
			label = "RGB green LED";
		};
		blue_led: led_3 {
			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
			label = "RGB blue LED";
		};
	};

	pwmleds {
		compatible = "pwm-leds";
		red_led_pwm: led_pwm_0 {
			pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
			label = "Red PWM LED";
		};

		green_led_pwm: led_pwm_1 {
			pwms = <&pwm0 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
			label = "Green PWM LED";
		};

		blue_led_pwm: led_pwm_2 {
			pwms = <&pwm0 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
			label = "Blue PWM LED";
		};
	};

	npm1100_force_pwm_mode: npm1100_force_pwm_mode {
		compatible = "regulator-fixed-sync", "regulator-fixed";
		label = "npm1100_force_pwm_mode";
		regulator-name = "npm1100_force_pwm_mode";
		enable-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
		status = "disabled";
		regulator-boot-on;
	};

	vbatt {
		compatible = "voltage-divider";
		io-channels = <&adc 2>;
		output-ohms = <180000>;
		full-ohms = <(1500000 + 180000)>;
		power-gpios = <&gpio0 16 0>;
	};

	regulator_3v3: regulator-3v3-ctrl {
		compatible = "regulator-fixed-sync", "regulator-fixed";
		label = "vsys-3v3-ctrl";
		regulator-name = "ncp114";
		enable-gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
		regulator-boot-on;
	};

	sensor_pwr_ctrl: sensor-pwr-ctrl {
		compatible = "regulator-fixed-sync", "regulator-fixed";
		label = "sens-pwr-ctrl";
		regulator-name = "tck106ag";
		enable-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
		regulator-boot-on;
	};

	gpio_fwd: nrf-gpio-forwarder {
		compatible = "nordic,nrf-gpio-forwarder";
		status = "okay";
		fem-gpio-if {
			gpios = <&gpio1 11 0>,
				<&gpio1 12 0>,
				<&gpio1 10 0>,
				<&gpio0 30 0>;
		};
	};

	aliases {
		sw0 = &button0;
		sw1 = &button1;
		led0 = &red_led;
		led1 = &green_led;
		led2 = &blue_led;
		pwm-led0 = &red_led_pwm;
		pwm-led1 = &green_led_pwm;
		pwm-led2 = &blue_led_pwm;
	};
};

/* RGB LED control */
&pwm0 {
	status = "okay";
	pinctrl-0 = <&pwm0_default>;
	pinctrl-1 = <&pwm0_sleep>;
	pinctrl-names = "default", "sleep";
};

/* Buzzer control */
&pwm1 {
	status = "okay";
	pinctrl-0 = <&pwm1_default>;
	pinctrl-1 = <&pwm1_sleep>;
	pinctrl-names = "default", "sleep";
};

&adc {
	status = "okay";
};

&gpiote {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&i2c1 {
	compatible = "nordic,nrf-twim";
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;

	pinctrl-0 = <&i2c1_default>;
	pinctrl-1 = <&i2c1_sleep>;
	pinctrl-names = "default", "sleep";
	bmm150@10 {
		compatible = "bosch,bmm150";
		label = "BMM150";
		reg = <0x10>;
	};

	bh1749@38 {
		compatible = "rohm,bh1749";
		label = "BH1749";
		reg = <0x38>;
		int-gpios = <&gpio1 5 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
	};
};

&spi3 {
	compatible = "nordic,nrf-spim";
	status = "okay";
	cs-gpios = <&gpio0 22 GPIO_ACTIVE_LOW>,
		   <&gpio1 4  GPIO_ACTIVE_LOW>,
		   <&gpio0 24 GPIO_ACTIVE_LOW>;

	pinctrl-0 = <&spi3_default>;
	pinctrl-1 = <&spi3_sleep>;
	pinctrl-names = "default", "sleep";
	adxl362: spi-dev-adxl362@0 {
		compatible = "adi,adxl362";
		label = "ADXL362";
		spi-max-frequency = <8000000>;
		reg = <0>;
		int1-gpios = <&gpio0 19 0>;
	};

	bmi270: spi-dev-bmi270@1 {
		compatible = "bosch,bmi270";
		label = "BMI270";
		spi-max-frequency = <8000000>;
		reg = <1>;
		int1-gpios = <&gpio0 23 0>;
	};

	nrf_radio_fem_spi: fem_spi@2 {
		compatible = "nordic,nrf21540-fem-spi";
		status = "disabled";
		reg = <2>;
		label = "FEM_SPI_IF";
		spi-max-frequency = <8000000>;
	};
};

/* UART0 GPIOs can be configured for other use-cases */
&uart0 {
	current-speed = <115200>;
	status = "okay";
	pinctrl-0 = <&uart0_default>;
	pinctrl-1 = <&uart0_sleep>;
	pinctrl-names = "default", "sleep";
};

&qspi {
	status = "okay";
	pinctrl-0 = <&qspi_default>;
	pinctrl-1 = <&qspi_sleep>;
	pinctrl-names = "default", "sleep";
	mx25r64: mx25r6435f@0 {
		compatible = "nordic,qspi-nor";
		reg = <0>;
		/* MX25R64 supports only pp and pp4io */
		/* Thingy:53 supports only pp and pp2o options */
		writeoc = "pp";
		/* MX25R64 supports all readoc options */
		/* Thingy:53 supports only fastread and read2io options */
		readoc = "read2io";
		sck-frequency = <8000000>;
		label = "MX25R64";
		jedec-id = [c2 28 17];
		sfdp-bfp = [
			e5 20 f1 ff  ff ff ff 03  44 eb 08 6b  08 3b 04 bb
			ee ff ff ff  ff ff 00 ff  ff ff 00 ff  0c 20 0f 52
			10 d8 00 ff  23 72 f5 00  82 ed 04 cc  44 83 68 44
			30 b0 30 b0  f7 c4 d5 5c  00 be 29 ff  f0 d0 ff ff
		];
		size = <67108864>;
		has-dpd;
		t-enter-dpd = <10000>;
		t-exit-dpd = <35000>;
	};
};

&timer0 {
	status = "okay";
};

&timer1 {
	status = "okay";
};

&timer2 {
	status = "okay";
};

&flash0 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x00010000>;
		};
		slot0_partition: partition@10000 {
			label = "image-0";
		};
		slot0_ns_partition: partition@50000 {
			label = "image-0-nonsecure";
		};
		slot1_partition: partition@80000 {
			label = "image-1";
		};
		slot1_ns_partition: partition@c0000 {
			label = "image-1-nonsecure";
		};
		scratch_partition: partition@f0000 {
			label = "image-scratch";
			reg = <0x000f0000 0xa000>;
		};
		storage_partition: partition@fa000 {
			label = "storage";
			reg = <0x000fa000 0x00006000>;
		};
	};
};

/ {

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		sram0_image: image@20000000 {
			/* Zephyr image(s) memory */
		};

		sram0_s: image_s@20000000 {
			/* Secure image memory */
		};

		sram0_ns: image_ns@20040000 {
			/* Non-Secure image memory */
		};
	};
};

/* Include partition configuration file */
#include "thingy53_nrf5340_partition_conf.dts"