boards: shields: Add nRF9160 DK overlay for arduino_uno_click shield

The original Arduino Uno provides the same SCL/SDA on two sets of pins,
but the nRF9160 DK maps these pins to two different pairs of GPIO. When
using the Arduino Uno Click Shield board with the nRF9160 DK, the
P0.18/P0.19 pair must be used.

Also, the default pin group for the nRF9160 DK includes RTS/CTS HW flow
control, but the Arduino Uno Click Shield board does not connect these
pins (only TX/RX are connected on the shield). This keeps RX/TX on the
same pins, but just removes RTS/CTS from the pin groups.

References:

 - Arduino Uno R3 pinout:
   https://docs.arduino.cc/resources/pinouts/A000066-full-pinout.pdf

 - Arduino Uno R3 schematic:
   https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

 - Arduino UNO click shield schematic:
   https://download.mikroe.com/documents/add-on-boards/click-shields/arduino-uno/arduino-uno-click-shield-schematic-v101.pdf

Signed-off-by: Chris Wilson <chris@cgnd.dev>
This commit is contained in:
Chris Wilson 2024-04-04 10:20:14 -07:00 committed by Carles Cufí
commit 365187e63c
3 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,7 @@
/*
* Copyright (c) 2024 Golioth, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "nrf9160dk_nrf9160_arduino_uno_click_common.dtsi"

View file

@ -0,0 +1,49 @@
/*
* Copyright (c) 2024 Golioth, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
&pinctrl {
/*
* The original Arduino Uno provides the same SCL/SDA on two sets of
* pins, but the nRF9160 DK maps these pins to two different pairs of
* GPIO. When using the Arduino Uno Click Shield board with the nRF9160
* DK, the P0.18/P0.19 pair must be used.
*/
i2c2_default: i2c2_default {
group1 {
psels = <NRF_PSEL(TWIM_SDA, 0, 18)>,
<NRF_PSEL(TWIM_SCL, 0, 19)>;
};
};
i2c2_sleep: i2c2_sleep {
group1 {
psels = <NRF_PSEL(TWIM_SDA, 0, 18)>,
<NRF_PSEL(TWIM_SCL, 0, 19)>;
low-power-enable;
};
};
/*
* The default pin group for the nRF9160 DK includes RTS/CTS HW flow
* control, but the Arduino Uno Click Shield board does not connect
* these pins (only TX/RX are connected on the shield). This keeps RX/TX
* on the same pins, but just removes RTS/CTS from the pin groups.
*/
uart1_default: uart1_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 1)>,
<NRF_PSEL(UART_RX, 0, 0)>;
};
};
uart1_sleep: uart1_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 1)>,
<NRF_PSEL(UART_RX, 0, 0)>;
low-power-enable;
};
};
};

View file

@ -0,0 +1,7 @@
/*
* Copyright (c) 2024 Golioth, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "nrf9160dk_nrf9160_arduino_uno_click_common.dtsi"