xref: /linux/arch/arm64/boot/dts/ti/k3-am67a-kontron-sa67-ads2.dtso (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1// SPDX-License-Identifier: GPL-2.0-only OR MIT
2/*
3 * Kontron SMARC-sa67 board on the Kontron Eval Carrier 2.2.
4 *
5 * Copyright (c) 2025 Kontron Europe GmbH
6 */
7
8/dts-v1/;
9/plugin/;
10
11#include <dt-bindings/interrupt-controller/irq.h>
12#include "k3-pinctrl.h"
13
14&{/} {
15	pwm-fan {
16		compatible = "pwm-fan";
17		pinctrl-names = "default";
18		pinctrl-0 = <&pwm_fan_pins_default>;
19		interrupts-extended = <&main_gpio1 7 IRQ_TYPE_EDGE_FALLING>;
20		#cooling-cells = <2>;
21		pwms = <&epwm2 1 4000000 0>;
22		cooling-levels = <1 128 192 255>;
23	};
24
25	sound {
26		compatible = "simple-audio-card";
27		simple-audio-card,widgets =
28			"Headphone", "Headphone Jack",
29			"Line", "Line Out Jack",
30			"Microphone", "Microphone Jack",
31			"Line", "Line In Jack";
32		simple-audio-card,routing =
33			"Line Out Jack", "LINEOUTR",
34			"Line Out Jack", "LINEOUTL",
35			"Headphone Jack", "HPOUTR",
36			"Headphone Jack", "HPOUTL",
37			"IN1L", "Line In Jack",
38			"IN1R", "Line In Jack",
39			"Microphone Jack", "MICBIAS",
40			"IN2L", "Microphone Jack",
41			"IN2R", "Microphone Jack";
42		simple-audio-card,mclk-fs = <256>;
43		simple-audio-card,format = "i2s";
44		simple-audio-card,bitclock-master = <&dailink0_master>;
45		simple-audio-card,frame-master = <&dailink0_master>;
46
47		simple-audio-card,cpu {
48			sound-dai = <&mcasp0>;
49		};
50
51		dailink0_master: simple-audio-card,codec {
52			sound-dai = <&wm8904>;
53			clocks = <&audio_refclk0>;
54		};
55	};
56
57	cvcc_1p8v_i2s: regulator-carrier-0 {
58		compatible = "regulator-fixed";
59		regulator-name = "V_1V8_S0_I2S";
60		regulator-min-microvolt = <1800000>;
61		regulator-max-microvolt = <1800000>;
62	};
63
64	cvcc_1p8v_s0: regulator-carrier-1 {
65		compatible = "regulator-fixed";
66		regulator-name = "V_1V8_S0";
67		regulator-min-microvolt = <1800000>;
68		regulator-max-microvolt = <1800000>;
69	};
70
71	cvcc_3p3v_s0: regulator-carrier-2 {
72		compatible = "regulator-fixed";
73		regulator-name = "V_3V3_S0";
74		regulator-min-microvolt = <3300000>;
75		regulator-max-microvolt = <3300000>;
76	};
77};
78
79&audio_refclk0 {
80	status = "okay";
81};
82
83&epwm2 {
84	status = "okay";
85};
86
87&main_pmx0 {
88	pwm_fan_pins_default: pwm-fan-default-pins {
89		pinctrl-single,pins = <
90			J722S_IOPAD(0x1ec, PIN_OUTPUT, 8)	/* (A22) I2C1_SDA.EHRPWM2_B */
91			J722S_IOPAD(0x194, PIN_INPUT, 0)	/* (A25) MCASP0_AXR3.GPIO1_7 */
92		>;
93	};
94};
95
96&mcasp0 {
97	#sound-dai-cells = <0>;
98	status = "okay";
99};
100
101&mcu_i2c0 {
102	status = "okay";
103	#address-cells = <1>;
104	#size-cells = <0>;
105
106	wm8904: audio-codec@1a {
107		#sound-dai-cells = <0>;
108		compatible = "wlf,wm8904";
109		reg = <0x1a>;
110		clocks = <&audio_refclk0>;
111		clock-names = "mclk";
112		AVDD-supply = <&cvcc_1p8v_i2s>;
113		CPVDD-supply = <&cvcc_1p8v_i2s>;
114		DBVDD-supply = <&cvcc_1p8v_i2s>;
115		DCVDD-supply = <&cvcc_1p8v_i2s>;
116		MICVDD-supply = <&cvcc_1p8v_i2s>;
117	};
118};
119
120&mcu_spi0 {
121	status = "okay";
122	#address-cells = <1>;
123	#size-cells = <0>;
124
125	flash@0 {
126		compatible = "jedec,spi-nor";
127		reg = <0>;
128		spi-max-frequency = <104000000>;
129		m25p,fast-read;
130		vcc-supply = <&cvcc_1p8v_s0>;
131	};
132};
133
134&wkup_i2c0 {
135	status = "okay";
136	#address-cells = <1>;
137	#size-cells = <0>;
138
139	/* SMARC Carrier EEPROM */
140	eeprom@57 {
141		compatible = "atmel,24c32";
142		reg = <0x57>;
143		pagesize = <32>;
144		vcc-supply = <&cvcc_3p3v_s0>;
145	};
146};
147