From 17cd42f94aa7737081af80d08f8c08d769642100 Mon Sep 17 00:00:00 2001 From: Amneesh Singh Date: Mon, 23 Mar 2026 15:22:13 +0530 Subject: [PATCH 1/3] UPSTREAM: soc: ti: k3: am6x: update NUM_IRQ for A53 commit eb5af58b29514836a8bac97d3e7e196455b36a7b upstream. SoC series such as AM62x and AM62Lx use the GIC500 module. This module supports up to 16 SGIs, 16 PPIs and 960 SPIs. This comes to a total of 992 interrupts. Hence, update the NUM_IRQ to match this number. Signed-off-by: Amneesh Singh --- soc/ti/k3/am6x/Kconfig.defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/soc/ti/k3/am6x/Kconfig.defconfig b/soc/ti/k3/am6x/Kconfig.defconfig index 6ea4ff65249d..87ed4c9ea25b 100644 --- a/soc/ti/k3/am6x/Kconfig.defconfig +++ b/soc/ti/k3/am6x/Kconfig.defconfig @@ -17,7 +17,7 @@ config FLASH_BASE_ADDRESS config NUM_IRQS default 64 if SOC_SERIES_AM6X_M4 - default 280 if SOC_SERIES_AM6X_A53 + default 992 if SOC_SERIES_AM6X_A53 default 512 if SOC_SERIES_AM6X_R5 config SYS_CLOCK_HW_CYCLES_PER_SEC From 2d2d58169706cbe9f1ad56e01d307b050170a1ab Mon Sep 17 00:00:00 2001 From: Amneesh Singh Date: Mon, 23 Mar 2026 15:24:46 +0530 Subject: [PATCH 2/3] UPSTREAM: am62l_evm: am62l3: a53: add TI AM335x ADC node commit 0b44422bc9bd916a15d28a106801f8707c99a1f3 upstream. Add devicetree node for TI AM335x ADC. The pinmux configuration is generated by TI's Sysconfig tool. Signed-off-by: Amneesh Singh --- .../am62l_evm_am62l3_a53-pinctrl.dtsi | 8 +++ boards/ti/am62l_evm/am62l_evm_am62l3_a53.dts | 56 +++++++++++++++++++ boards/ti/am62l_evm/am62l_evm_am62l3_a53.yaml | 1 + dts/arm64/ti/am62l3_a53.dtsi | 5 ++ dts/vendor/ti/am62l-main.dtsi | 11 ++++ dts/vendor/ti/am62l_power_domains.dtsi | 6 ++ 6 files changed, 87 insertions(+) diff --git a/boards/ti/am62l_evm/am62l_evm_am62l3_a53-pinctrl.dtsi b/boards/ti/am62l_evm/am62l_evm_am62l3_a53-pinctrl.dtsi index be2e7b062750..e2ee98b2316e 100644 --- a/boards/ti/am62l_evm/am62l_evm_am62l3_a53-pinctrl.dtsi +++ b/boards/ti/am62l_evm/am62l_evm_am62l3_a53-pinctrl.dtsi @@ -192,4 +192,12 @@ main_i2c1_sda: i2c1_sda_default { pinmux = ; /* (A6) I2C1_SDA */ }; + + adc0_ext_trigger0: adc0-ext-trigger0-default { + pinmux = ; /* (D16) ADC_EXT_TRIGGER0 */ + }; + + adc0_ext_trigger1: adc0-ext-trigger1-default { + pinmux = ; /* (M22) ADC_EXT_TRIGGER1 */ + }; }; diff --git a/boards/ti/am62l_evm/am62l_evm_am62l3_a53.dts b/boards/ti/am62l_evm/am62l_evm_am62l3_a53.dts index ebe33e28194d..fc6635bd97c7 100644 --- a/boards/ti/am62l_evm/am62l_evm_am62l3_a53.dts +++ b/boards/ti/am62l_evm/am62l_evm_am62l3_a53.dts @@ -34,6 +34,10 @@ }; }; + aliases { + adc0 = &main_adc0; + }; + cpus { cpu@0 { status = "okay"; @@ -208,3 +212,55 @@ &main_rti0 { status = "okay"; }; + +&main_adc0 { + ti,fifo = <0>; + pinctrl-0 = <&adc0_ext_trigger0>, + <&adc0_ext_trigger1>; + pinctrl-names = "default"; + status = "okay"; + + channel@0 { + reg = <0>; + ti,open-delay = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,acquisition-time = <0>; + zephyr,resolution = <12>; + zephyr,oversampling = <4>; + zephyr,vref-mv = <1800>; + }; + + channel@1 { + reg = <1>; + ti,open-delay = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,acquisition-time = <0>; + zephyr,resolution = <12>; + zephyr,oversampling = <4>; + zephyr,vref-mv = <1800>; + }; + + channel@2 { + reg = <2>; + ti,open-delay = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,acquisition-time = <0>; + zephyr,resolution = <12>; + zephyr,oversampling = <4>; + zephyr,vref-mv = <1800>; + }; + + channel@3 { + reg = <3>; + ti,open-delay = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,acquisition-time = <0>; + zephyr,resolution = <12>; + zephyr,oversampling = <4>; + zephyr,vref-mv = <1800>; + }; +}; diff --git a/boards/ti/am62l_evm/am62l_evm_am62l3_a53.yaml b/boards/ti/am62l_evm/am62l_evm_am62l3_a53.yaml index 6d469560df03..526e9a3b6cde 100644 --- a/boards/ti/am62l_evm/am62l_evm_am62l3_a53.yaml +++ b/boards/ti/am62l_evm/am62l_evm_am62l3_a53.yaml @@ -7,6 +7,7 @@ toolchain: - cross-compile ram: 2048 supported: + - adc - uart testing: ignore_tags: diff --git a/dts/arm64/ti/am62l3_a53.dtsi b/dts/arm64/ti/am62l3_a53.dtsi index 60092c6b683a..86cff7ea20a4 100644 --- a/dts/arm64/ti/am62l3_a53.dtsi +++ b/dts/arm64/ti/am62l3_a53.dtsi @@ -236,3 +236,8 @@ interrupts = ; interrupt-parent = <&gic>; }; + +&main_adc0 { + interrupts = ; + interrupt-parent = <&gic>; +}; diff --git a/dts/vendor/ti/am62l-main.dtsi b/dts/vendor/ti/am62l-main.dtsi index 3c49750bd0b9..cc76ae00d7fa 100644 --- a/dts/vendor/ti/am62l-main.dtsi +++ b/dts/vendor/ti/am62l-main.dtsi @@ -507,4 +507,15 @@ power-domains = <&main_timer3_pd>; status = "disabled"; }; + + main_adc0: adc@28001000 { + compatible = "ti,am335x-adc"; + reg = <0x28001000 DT_SIZE_K(1)>; + status = "disabled"; + power-domains = <&main_adc0_pd>; + clocks = <&scmi_clk 4>; + #io-channel-cells = <1>; + #address-cells = <1>; + #size-cells = <0>; + }; }; diff --git a/dts/vendor/ti/am62l_power_domains.dtsi b/dts/vendor/ti/am62l_power_domains.dtsi index e77292ebdce9..843f6b6853b4 100644 --- a/dts/vendor/ti/am62l_power_domains.dtsi +++ b/dts/vendor/ti/am62l_power_domains.dtsi @@ -8,6 +8,12 @@ #address-cells = <1>; #size-cells = <0>; + main_adc0_pd: power-domain@0 { + compatible = "arm,scmi-power-domain"; + reg = <0>; + #power-domain-cells = <0>; + }; + main_uart0_pd: power-domain@59 { compatible = "arm,scmi-power-domain"; reg = <89>; From d5daafc49207792a4ccc7345afd3e34e57ad6d1e Mon Sep 17 00:00:00 2001 From: Amneesh Singh Date: Mon, 23 Mar 2026 16:00:17 +0530 Subject: [PATCH 3/3] UPSTREAM: samples: drivers: adc_dt: Add overlay for AM62Lx EVM commit a44e2589d1c2766978d67118b36ba65e110d8a70 upstream. Add overlay configuring io-channels for AM62L3 A53 core as required by the ADC DT sample. Signed-off-by: Amneesh Singh --- .../adc/adc_dt/boards/am62l_evm_am62l3_a53.overlay | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 samples/drivers/adc/adc_dt/boards/am62l_evm_am62l3_a53.overlay diff --git a/samples/drivers/adc/adc_dt/boards/am62l_evm_am62l3_a53.overlay b/samples/drivers/adc/adc_dt/boards/am62l_evm_am62l3_a53.overlay new file mode 100644 index 000000000000..c2c2095209fd --- /dev/null +++ b/samples/drivers/adc/adc_dt/boards/am62l_evm_am62l3_a53.overlay @@ -0,0 +1,11 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2026 Texas Instruments + */ + +/ { + zephyr,user { + io-channels = <&main_adc0 0>, <&main_adc0 1>, <&main_adc0 2>, <&main_adc0 3>; + }; +};