On Thu, Jun 06, 2024 at 11:02:06AM +0200, Michael Walle wrote: > For now, there wasn't any in-tree users of the dtsi files for the > Kontron SMARC-sAMX6i board. Let's add device trees, for this board on a > Kontron SMARC Eval 2.0 Carrier. > > Signed-off-by: Michael Walle <mwalle@xxxxxxxxxx> > --- > arch/arm/boot/dts/nxp/imx/Makefile | 2 + > .../nxp/imx/imx6dl-kontron-samx6i-ads2.dts | 12 ++ > .../dts/nxp/imx/imx6q-kontron-samx6i-ads2.dts | 12 ++ > .../nxp/imx/imx6qdl-kontron-samx6i-ads2.dtsi | 148 ++++++++++++++++++ > 4 files changed, 174 insertions(+) > create mode 100644 arch/arm/boot/dts/nxp/imx/imx6dl-kontron-samx6i-ads2.dts > create mode 100644 arch/arm/boot/dts/nxp/imx/imx6q-kontron-samx6i-ads2.dts > create mode 100644 arch/arm/boot/dts/nxp/imx/imx6qdl-kontron-samx6i-ads2.dtsi > > diff --git a/arch/arm/boot/dts/nxp/imx/Makefile b/arch/arm/boot/dts/nxp/imx/Makefile > index 231c0d73a53e..92e291603ea1 100644 > --- a/arch/arm/boot/dts/nxp/imx/Makefile > +++ b/arch/arm/boot/dts/nxp/imx/Makefile > @@ -99,6 +99,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ > imx6dl-icore.dtb \ > imx6dl-icore-mipi.dtb \ > imx6dl-icore-rqs.dtb \ > + imx6dl-kontron-samx6i-ads2.dtb \ > imx6dl-lanmcu.dtb \ > imx6dl-mamoj.dtb \ > imx6dl-mba6a.dtb \ > @@ -207,6 +208,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ > imx6q-icore-ofcap10.dtb \ > imx6q-icore-ofcap12.dtb \ > imx6q-icore-rqs.dtb \ > + imx6q-kontron-samx6i-ads2.dtb \ > imx6q-kp-tpc.dtb \ > imx6q-logicpd.dtb \ > imx6q-marsboard.dtb \ > diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-kontron-samx6i-ads2.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-kontron-samx6i-ads2.dts > new file mode 100644 > index 000000000000..6a0c53f23a15 > --- /dev/null > +++ b/arch/arm/boot/dts/nxp/imx/imx6dl-kontron-samx6i-ads2.dts > @@ -0,0 +1,12 @@ > +// SPDX-License-Identifier: GPL-2.0 OR X11 > + > +/dts-v1/; > + > +#include "imx6dl.dtsi" > +#include "imx6qdl-kontron-samx6i.dtsi" > +#include "imx6qdl-kontron-samx6i-ads2.dtsi" > + > +/ { > + model = "Kontron SMARC-sAMX6i Dual-Lite/Solo on SMARC Eval 2.0 carrier"; > + compatible = "kontron,imx6dl-samx6i-ads2", "kontron,imx6dl-samx6i", "fsl,imx6dl"; > +}; > diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-kontron-samx6i-ads2.dts b/arch/arm/boot/dts/nxp/imx/imx6q-kontron-samx6i-ads2.dts > new file mode 100644 > index 000000000000..94c395cc020e > --- /dev/null > +++ b/arch/arm/boot/dts/nxp/imx/imx6q-kontron-samx6i-ads2.dts > @@ -0,0 +1,12 @@ > +// SPDX-License-Identifier: GPL-2.0 OR X11 > + > +/dts-v1/; > + > +#include "imx6q.dtsi" > +#include "imx6qdl-kontron-samx6i.dtsi" > +#include "imx6qdl-kontron-samx6i-ads2.dtsi" > + > +/ { > + model = "Kontron SMARC-sAMX6i Quad/Dual on SMARC Eval 2.0 carrier"; > + compatible = "kontron,imx6q-samx6i-ads2", "kontron,imx6q-samx6i", "fsl,imx6q"; > +}; > diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-kontron-samx6i-ads2.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-kontron-samx6i-ads2.dtsi > new file mode 100644 > index 000000000000..15a87ee4159d > --- /dev/null > +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-kontron-samx6i-ads2.dtsi > @@ -0,0 +1,148 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Device Tree include for the Kontron SMARC-sAMX6i board on a SMARC Eval > + * 2.0 carrier (ADS2). > + * > + */ > + > +/ { > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + sound { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "simple-audio-card"; > + simple-audio-card,format = "i2s"; > + simple-audio-card,bitclock-master = <&dailink_master>; > + simple-audio-card,frame-master = <&dailink_master>; > + 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,cpu { > + sound-dai = <&ssi1>; > + }; > + > + dailink_master: simple-audio-card,codec { > + sound-dai = <&wm8904>; > + }; > + }; > + > + reg_codec_mic: regulator-codec-mic { > + compatible = "regulator-fixed"; > + regulator-name = "V_3V3_MIC"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + reg_codec_1p8v: regulator-codec-1p8v { > + compatible = "regulator-fixed"; > + regulator-name = "V_1V8_S0_CODEC"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + }; > +}; > + > +&audmux { > + status = "okay"; > +}; > + > +&can1 { > + status = "okay"; > +}; > + > +&can2 { > + status = "okay"; > +}; > + > +&ecspi4 { > + flash@1 { > + compatible = "jedec,spi-nor"; > + m25p,fast-read; > + spi-max-frequency = <100000000>; > + reg = <1>; compatible reg spi-max-frequency (generic properties) m25p,fast-read (device or vendor specific ones) > + }; > +}; > + > +&fec { > + status = "okay"; > +}; > + > +&i2c1 { > + status = "okay"; > + > + wm8904: audio-codec@1a { > + #sound-dai-cells = <0>; > + compatible = "wlf,wm8904"; > + reg = <0x1a>; Move #sound-dai-cells here? Shawn > + clocks = <&clks IMX6QDL_CLK_CKO2>; > + clock-names = "mclk"; > + AVDD-supply = <®_codec_1p8v>; > + CPVDD-supply = <®_codec_1p8v>; > + DBVDD-supply = <®_codec_1p8v>; > + DCVDD-supply = <®_codec_1p8v>; > + MICVDD-supply = <®_codec_mic>; > + }; > +}; > + > +&i2c3 { > + eeprom@57 { > + compatible = "atmel,24c64"; > + reg = <0x57>; > + pagesize = <32>; > + }; > +}; > + > +&pcie { > + status = "okay"; > +}; > + > +&ssi1 { > + status = "okay"; > +}; > + > +&uart1 { > + status = "okay"; > +}; > + > +&uart2 { > + status = "okay"; > +}; > + > +&uart4 { > + status = "okay"; > +}; > + > +&uart5 { > + status = "okay"; > +}; > + > +&usbh1 { > + status = "okay"; > +}; > + > +&usbotg { > + status = "okay"; > +}; > + > +&usdhc3 { > + status = "okay"; > +}; > -- > 2.39.2 >