]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: ti: sa67: add overlay for the ADS2 carrier
authorMichael Walle <mwalle@kernel.org>
Fri, 17 Oct 2025 13:50:46 +0000 (15:50 +0200)
committerVignesh Raghavendra <vigneshr@ti.com>
Thu, 30 Oct 2025 13:43:25 +0000 (19:13 +0530)
The SMARC module can be used on the Kontron SMARC 2.2 Evaluation carrier
(ads2). Add an overlay to enable all the devices found on the carrier
and enable the corresponding peripherals of the SoC.

Signed-off-by: Michael Walle <mwalle@kernel.org>
Link: https://patch.msgid.link/20251017135116.548236-4-mwalle@kernel.org
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/Makefile
arch/arm64/boot/dts/ti/k3-am67a-kontron-sa67-ads2.dtso [new file with mode: 0644]

index d2a40ea642c43f63fbfea9e0209b90942dee0925..361248dcfff42a27f07cea6bca31461f8dc25b92 100644 (file)
@@ -139,12 +139,15 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-usb0-type-a.dtbo
 # Boards with J722s SoC
 k3-am67a-kontron-sa67-dtbs := k3-am67a-kontron-sa67-base.dtb \
        k3-am67a-kontron-sa67-rtc-rv8263.dtbo k3-am67a-kontron-sa67-gbe1.dtbo
+k3-am67a-kontron-sa67-ads2-dtbs := k3-am67a-kontron-sa67.dtb k3-am67a-kontron-sa67-ads2.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am67a-beagley-ai.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am67a-kontron-sa67.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am67a-kontron-sa67-base.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am67a-kontron-sa67-gbe1.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am67a-kontron-sa67-gpios.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am67a-kontron-sa67-rtc-rv8263.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am67a-kontron-sa67-ads2.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am67a-kontron-sa67-ads2.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo
diff --git a/arch/arm64/boot/dts/ti/k3-am67a-kontron-sa67-ads2.dtso b/arch/arm64/boot/dts/ti/k3-am67a-kontron-sa67-ads2.dtso
new file mode 100644 (file)
index 0000000..ae5e2b5
--- /dev/null
@@ -0,0 +1,146 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Kontron SMARC-sa67 board on the Kontron Eval Carrier 2.2.
+ *
+ * Copyright (c) 2025 Kontron Europe GmbH
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "k3-pinctrl.h"
+
+&{/} {
+       pwm-fan {
+               compatible = "pwm-fan";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm_fan_pins_default>;
+               interrupts-extended = <&main_gpio1 7 IRQ_TYPE_EDGE_FALLING>;
+               #cooling-cells = <2>;
+               pwms = <&epwm2 1 4000000 0>;
+               cooling-levels = <1 128 192 255>;
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,widgets =
+                       "Headphone", "Headphone Jack",
+                       "Line", "Line Out Jack",
+                       "Microphone", "Microphone Jack",
+                       "Line", "Line In Jack";
+               simple-audio-card,routing =
+                       "Line Out Jack", "LINEOUTR",
+                       "Line Out Jack", "LINEOUTL",
+                       "Headphone Jack", "HPOUTR",
+                       "Headphone Jack", "HPOUTL",
+                       "IN1L", "Line In Jack",
+                       "IN1R", "Line In Jack",
+                       "Microphone Jack", "MICBIAS",
+                       "IN2L", "Microphone Jack",
+                       "IN2R", "Microphone Jack";
+               simple-audio-card,mclk-fs = <256>;
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&dailink0_master>;
+               simple-audio-card,frame-master = <&dailink0_master>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&mcasp0>;
+               };
+
+               dailink0_master: simple-audio-card,codec {
+                       sound-dai = <&wm8904>;
+                       clocks = <&audio_refclk0>;
+               };
+       };
+
+       cvcc_1p8v_i2s: regulator-carrier-0 {
+               compatible = "regulator-fixed";
+               regulator-name = "V_1V8_S0_I2S";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       cvcc_1p8v_s0: regulator-carrier-1 {
+               compatible = "regulator-fixed";
+               regulator-name = "V_1V8_S0";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       cvcc_3p3v_s0: regulator-carrier-2 {
+               compatible = "regulator-fixed";
+               regulator-name = "V_3V3_S0";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+};
+
+&audio_refclk0 {
+       status = "okay";
+};
+
+&epwm2 {
+       status = "okay";
+};
+
+&main_pmx0 {
+       pwm_fan_pins_default: pwm-fan-default-pins {
+               pinctrl-single,pins = <
+                       J722S_IOPAD(0x1ec, PIN_OUTPUT, 8)       /* (A22) I2C1_SDA.EHRPWM2_B */
+                       J722S_IOPAD(0x194, PIN_INPUT, 0)        /* (A25) MCASP0_AXR3.GPIO1_7 */
+               >;
+       };
+};
+
+&mcasp0 {
+       #sound-dai-cells = <0>;
+       status = "okay";
+};
+
+&mcu_i2c0 {
+       status = "okay";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       wm8904: audio-codec@1a {
+               #sound-dai-cells = <0>;
+               compatible = "wlf,wm8904";
+               reg = <0x1a>;
+               clocks = <&audio_refclk0>;
+               clock-names = "mclk";
+               AVDD-supply = <&cvcc_1p8v_i2s>;
+               CPVDD-supply = <&cvcc_1p8v_i2s>;
+               DBVDD-supply = <&cvcc_1p8v_i2s>;
+               DCVDD-supply = <&cvcc_1p8v_i2s>;
+               MICVDD-supply = <&cvcc_1p8v_i2s>;
+       };
+};
+
+&mcu_spi0 {
+       status = "okay";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <104000000>;
+               m25p,fast-read;
+               vcc-supply = <&cvcc_1p8v_s0>;
+       };
+};
+
+&wkup_i2c0 {
+       status = "okay";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* SMARC Carrier EEPROM */
+       eeprom@57 {
+               compatible = "atmel,24c32";
+               reg = <0x57>;
+               pagesize = <32>;
+               vcc-supply = <&cvcc_3p3v_s0>;
+       };
+};