1/*
2 * Copyright (c)  2020/2021 Dean Weiten <dmw@weiten.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/*
8 * Note: SPI2 and several GPIOs are not available in the S76S - these are connected
9 * to the in-package Semtech SX1276 LoRa transceiver.  See the documentation for details.
10 */
11
12/dts-v1/;
13#include <acsip/s76s.dtsi>
14
15/ {
16	model = "Ronoth LoDev";
17	compatible = "ronoth,lodev";
18
19	chosen {
20		zephyr,console = &usart1;
21		zephyr,shell-uart = &usart1;
22		zephyr,sram = &sram0;
23		zephyr,flash = &flash0;
24	};
25
26	/*
27	 * On Ronoth LoDev and perhaps other boards,
28	 * Red LED on PA5.
29	 */
30	leds {
31		compatible = "gpio-leds";
32		red_led_0: led_0 {
33			gpios = <&gpioa 5 GPIO_ACTIVE_HIGH>;
34			label = "User LD2";
35		};
36	};
37
38	/* Arbitrarily use PC9 as a button input. */
39	gpio_keys {
40		compatible = "gpio-keys";
41		user_button: button {
42			label = "User";
43			gpios = <&gpioc 9 GPIO_ACTIVE_LOW>;
44		};
45	};
46
47	cn6_header: lodev_connector_1 {
48		compatible = "lodev_cn6";
49		#gpio-cells = <2>;
50		gpio-map-mask = <0xffffffff 0xffffffc0>;
51		gpio-map-pass-thru = <0 0x3f>;
52		gpio-map =	/*	<0 0 -      - 0>,		 3.3V */
53		/*	<1 0 -      - 0>,		 GND */
54			<2 0 &gpioc 1 0>,		/* PC1 */
55			<3 0 &gpioc 0 0>,		/* PC0 */
56			<4 0 &gpiob 8 0>,		/* PB8 */
57		/*	<5 0 -      - 0>,		 BOOT0 */
58			<6 0 &gpiob 7 0>,		/* PB7 */
59			<7 0 &gpiob 6 0>,		/* PB6 */
60			<8 0 &gpiob 5 0>,		/* PB5 */
61			<9 0 &gpiod 2 0>,		/* PD2 */
62			<10 0 &gpioc 12 0>,		/* PC12 */
63			<11 0 &gpioc 11 0>,		/* PC11 */
64			<12 0 &gpioc 10 0>,		/* PC10 */
65			<13 0 &gpioa 14 0>,		/* PA14 / SWCLK */
66			<14 0 &gpioa 13 0>,		/* PA13 / SWDIO */
67			<15 0 &gpioa 12 0>,		/* PA12 */
68			<16 0 &gpioa 11 0>,		/* PA11 */
69			<17 0 &gpioa 9 0>,		/* PA9 (UART1 Rx connected to USB) */
70			<18 0 &gpioa 10 0>,		/* PA10 (UART1 Tx connected to USB) */
71			<19 0 &gpioa 8 0>;		/* PA8 */
72	};
73
74	cn7_header: lodev_connector_2 {
75		compatible = "lodev_cn7";
76		#gpio-cells = <2>;
77		gpio-map-mask = <0xffffffff 0xffffffc0>;
78		gpio-map-pass-thru = <0 0x3f>;
79		gpio-map =		<0 0 &gpioc 2 0>,		/* PC2 */
80			<1 0 &gpioc 3 0>,		/* PC3 */
81		/*	<2 0 -      - 0>,		 nRESET */
82			<3 0 &gpioa 0 0>,		/* PA0 */
83			<4 0 &gpioa 2 0>,		/* PA2 */
84			<4 0 &gpioa 3 0>,		/* PA3 */
85			<6 0 &gpioa 4 0>,		/* PA4 */
86			<7 0 &gpioa 5 0>,		/* PA5 - connected to red LED1 */
87			<8 0 &gpioa 6 0>,		/* PA6 */
88			<9 0 &gpioa 7 0>,		/* PA7 */
89			<10 0 &gpioc 4 0>,		/* PC4 */
90			<11 0 &gpioc 5 0>,		/* PC5 */
91			<12 0 &gpiob 0 0>,		/* PB0 */
92			<13 0 &gpiob 1 0>,		/* PB1 */
93			<14 0 &gpioc 6 0>,		/* PC6 */
94			<15 0 &gpioc 7 0>,		/* PC7 */
95			<16 0 &gpioc 8 0>,		/* PC8 */
96			<17 0 &gpioc 9 0>,		/* PC9 */
97		/*	<18 0 -      - 0>,		 GND */
98			<19 0 &gpioa 1 0>;		/* PA1 (also used in S76S as "RF FEM CPS" */
99	};
100
101	aliases {
102		led0 = &red_led_0;
103		sw0 = &user_button;
104		eeprom-0 = &eeprom;
105		lora0 = &lora;
106	};
107};
108
109&clk_hsi {
110	status = "okay";
111};
112
113&rcc {
114	clocks = <&clk_hsi>;
115	clock-frequency = <DT_FREQ_M(16)>;
116	ahb-prescaler = <1>;
117	apb1-prescaler = <1>;
118	apb2-prescaler = <1>;
119};
120
121&usart1 {
122	pinctrl-0 = <&usart1_tx_pa9 &usart1_rx_pa10>;
123	current-speed = <115200>;
124	status = "okay";
125};
126
127&usart2 {
128	pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>;
129	current-speed = <115200>;
130	status = "okay";
131};
132
133&i2c1 {
134	pinctrl-0 = <&i2c1_scl_pb6 &i2c1_sda_pb7>;
135	clock-frequency = <I2C_BITRATE_FAST>;
136	status = "okay";
137};
138
139&spi1 {
140	pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pa7>;
141	status = "okay";
142};
143
144&iwdg {
145	status = "okay";
146};
147
148&adc1 {
149	pinctrl-0 = <&adc_in0_pa0>;
150	status = "okay";
151};
152
153&dac1 {
154	status = "okay";
155	pinctrl-0 = <&dac_out1_pa4>;
156};
157
158&rtc {
159	status = "okay";
160};
161
162&rng {
163	status = "okay";
164};
165
166&eeprom {
167	status = "okay";
168};
169