1/*
2 * Copyrigtt (c) 2024 bytesatwork AG
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <nordic/nrf52832_qfaa.dtsi>
10#include "bytesensi_l_pinctrl.dtsi"
11
12#include <zephyr/dt-bindings/gpio/gpio.h>
13
14/ {
15	model = "bytesatwork BLE/LORA sensor board";
16	compatible = "bytesatwork,bytesensi-l";
17
18	chosen {
19		zephyr,console = &uart0;
20		zephyr,sram = &sram0;
21		zephyr,flash = &flash0;
22		zephyr,code-partition = &slot0_partition;
23	};
24
25	aliases {
26		/* Alias for lora samples */
27		lora0 = &lora;
28		/* Alias for gnss samples */
29		gnss = &gnss;
30	};
31};
32
33&flash0 {
34	partitions {
35		compatible = "fixed-partitions";
36		#address-cells = <1>;
37		#size-cells = <1>;
38
39		boot_partition: partition@0 {
40			label = "mcuboot";
41			reg = <0x00000000 0xc000>;
42		};
43		slot0_partition: partition@c000 {
44			label = "image-0";
45			reg = <0x0000C000 0x32000>;
46		};
47		slot1_partition: partition@3e000 {
48			label = "image-1";
49			reg = <0x0003E000 0x32000>;
50		};
51		scratch_partition: partition@70000 {
52			label = "image-scratch";
53			reg = <0x00070000 0xa000>;
54		};
55		storage_partition: partition@7a000 {
56			label = "storage";
57			reg = <0x0007a000 0x00005000>;
58		};
59	};
60};
61
62&reg {
63	regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
64};
65
66&gpiote {
67	status = "okay";
68};
69
70&gpio0 {
71	status = "okay";
72
73	/* Enable 1-wire to enable i2c bus as well */
74	one-wire-gpio {
75		gpio-hog;
76		gpios = <7 GPIO_ACTIVE_HIGH>;
77		output-high;
78	};
79};
80
81&i2c0 {
82	compatible = "nordic,nrf-twi";
83	status = "okay";
84	clock-frequency = <I2C_BITRATE_STANDARD>;
85	pinctrl-0 = <&i2c0_default>;
86	pinctrl-1 = <&i2c0_sleep>;
87	pinctrl-names = "default", "sleep";
88
89	light_sensor: apds9960@39 {
90		status = "okay";
91		compatible = "avago,apds9960";
92		reg = <0x39>;
93		int-gpios = <&gpio0 25 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
94	};
95
96	temperature_sensor: tmp116@4a {
97		status = "okay";
98		compatible = "ti,tmp116";
99		reg = <0x4a>;
100		#address-cells = <1>;
101		#size-cells = <0>;
102
103		eeprom: ti_tmp116_eeprom@0 {
104			compatible = "ti,tmp116-eeprom";
105			reg = <0x0>;
106			read-only;
107		};
108	};
109
110	gas_sensor: ccs811@5a {
111		status = "okay";
112		compatible = "ams,ccs811";
113		reg = <0x5a>;
114		irq-gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
115		wake-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
116	};
117
118	pressure_sensor: lps22hb-press@5c {
119		status = "okay";
120		compatible = "st,lps22hb-press";
121		reg = <0x5c>;
122	};
123};
124
125&spi1 {
126	status = "okay";
127	compatible = "nordic,nrf-spi";
128	pinctrl-0 = <&spi1_default>;
129	pinctrl-1 = <&spi1_sleep>;
130	pinctrl-names = "default", "sleep";
131	cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>,
132		   <&gpio0 5 GPIO_ACTIVE_LOW>;
133
134	lora: lora@0 {
135		status = "okay";
136		compatible = "semtech,sx1276";
137		reg = <0>;
138		reset-gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
139		dio-gpios =
140			<&gpio0 19 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
141			<&gpio0 20 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
142			<&gpio0 22 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
143			<&gpio0 23 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
144		spi-max-frequency = <1000000>;
145		power-amplifier-output = "pa-boost";
146	};
147
148	nor_flash: mx25r6435f@1 {
149		status = "okay";
150		compatible ="jedec,spi-nor";
151		size = <0x4000000>;
152		reg = <1>;
153		spi-max-frequency = <8000000>;
154		status = "okay";
155		jedec-id = [c2 28 17];
156	};
157};
158
159&uart0 {
160	status = "okay";
161	current-speed = <9600>;
162	pinctrl-0 = <&uart0_default>;
163	pinctrl-1 = <&uart0_sleep>;
164	pinctrl-names = "default", "sleep";
165
166	gnss: u_blox_m8 {
167		status = "okay";
168		compatible = "gnss-nmea-generic";
169	};
170};
171