Skip to content

Commit f2e1ac0

Browse files
nordic-krchkartben
authored andcommitted
drivers: adc: nrfx_saadc: Add support for AIN8-AIN13 on nrf54h20
Extend support in dt bindings and in the driver to allow use of AIN8 to AIN13 analog inputs. Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
1 parent 1179014 commit f2e1ac0

File tree

4 files changed

+29
-3
lines changed

4 files changed

+29
-3
lines changed

drivers/adc/adc_nrfx_saadc.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <haly/nrfy_saadc.h>
1010
#include <zephyr/dt-bindings/adc/nrf-saadc-v3.h>
1111
#include <zephyr/dt-bindings/adc/nrf-saadc-nrf54l.h>
12+
#include <zephyr/dt-bindings/adc/nrf-saadc-haltium.h>
1213
#include <zephyr/linker/devicetree_regions.h>
1314
#include <zephyr/pm/device.h>
1415
#include <zephyr/pm/device_runtime.h>
@@ -23,7 +24,7 @@ LOG_MODULE_REGISTER(adc_nrfx_saadc);
2324
#if (NRF_SAADC_HAS_AIN_AS_PIN)
2425

2526
#if defined(CONFIG_NRF_PLATFORM_HALTIUM)
26-
static const uint8_t saadc_psels[NRF_SAADC_AIN7 + 1] = {
27+
static const uint32_t saadc_psels[NRF_SAADC_AIN13 + 1] = {
2728
[NRF_SAADC_AIN0] = NRF_PIN_PORT_TO_PIN_NUMBER(0U, 1),
2829
[NRF_SAADC_AIN1] = NRF_PIN_PORT_TO_PIN_NUMBER(1U, 1),
2930
[NRF_SAADC_AIN2] = NRF_PIN_PORT_TO_PIN_NUMBER(2U, 1),
@@ -32,6 +33,12 @@ static const uint8_t saadc_psels[NRF_SAADC_AIN7 + 1] = {
3233
[NRF_SAADC_AIN5] = NRF_PIN_PORT_TO_PIN_NUMBER(5U, 1),
3334
[NRF_SAADC_AIN6] = NRF_PIN_PORT_TO_PIN_NUMBER(6U, 1),
3435
[NRF_SAADC_AIN7] = NRF_PIN_PORT_TO_PIN_NUMBER(7U, 1),
36+
[NRF_SAADC_AIN8] = NRF_PIN_PORT_TO_PIN_NUMBER(0U, 9),
37+
[NRF_SAADC_AIN9] = NRF_PIN_PORT_TO_PIN_NUMBER(1U, 9),
38+
[NRF_SAADC_AIN10] = NRF_PIN_PORT_TO_PIN_NUMBER(2U, 9),
39+
[NRF_SAADC_AIN11] = NRF_PIN_PORT_TO_PIN_NUMBER(3U, 9),
40+
[NRF_SAADC_AIN12] = NRF_PIN_PORT_TO_PIN_NUMBER(4U, 9),
41+
[NRF_SAADC_AIN13] = NRF_PIN_PORT_TO_PIN_NUMBER(5U, 9),
3542
};
3643
#elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
3744
static const uint32_t saadc_psels[NRF_SAADC_DVDD + 1] = {

dts/common/nordic/nrf54h20.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include <mem.h>
88
#include <nordic/nrf_common.dtsi>
99

10-
#include <zephyr/dt-bindings/adc/nrf-saadc.h>
10+
#include <zephyr/dt-bindings/adc/nrf-saadc-haltium.h>
1111
#include <zephyr/dt-bindings/misc/nordic-nrf-ficr-nrf54h20.h>
1212
#include <zephyr/dt-bindings/misc/nordic-domain-id-nrf54h20.h>
1313
#include <zephyr/dt-bindings/misc/nordic-owner-id-nrf54h20.h>

dts/common/nordic/nrf9280.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
#include <mem.h>
88
#include <nordic/nrf_common.dtsi>
9-
#include <zephyr/dt-bindings/adc/nrf-saadc.h>
9+
#include <zephyr/dt-bindings/adc/nrf-saadc-haltium.h>
1010
#include <zephyr/dt-bindings/misc/nordic-nrf-ficr-nrf9230-engb.h>
1111
#include <zephyr/dt-bindings/misc/nordic-domain-id-nrf9230.h>
1212
#include <zephyr/dt-bindings/misc/nordic-owner-id-nrf9230.h>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
*
4+
* Copyright (c) 2025 Nordic Semiconductor ASA
5+
*/
6+
7+
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_HALTIUM_H_
8+
#define ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_HALTIUM_H_
9+
10+
#include <zephyr/dt-bindings/adc/nrf-saadc.h>
11+
12+
#define NRF_SAADC_AIN8 9
13+
#define NRF_SAADC_AIN9 10
14+
#define NRF_SAADC_AIN10 11
15+
#define NRF_SAADC_AIN11 12
16+
#define NRF_SAADC_AIN12 13
17+
#define NRF_SAADC_AIN13 14
18+
19+
#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_NRF_SAADC_HALTIUM_H_ */

0 commit comments

Comments
 (0)