Merge tag 'imx-dt64-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt
i.MX arm64 device tree changes for 6.15: - New board support: S32G-EVB/RDB, i.MX95 15x15 EVK, i.MX8MP Skov revC BD500 and new 7" panel board, i.MX8MM phyboard polis PEB-AV-10 - A series from Ahmad Fatoum and Oleksij Rempel to flesh out imx8mp-skov device trees, correcting PMIC board limits, adding display pipeline, configuring uart1 for RS485, etc. - A bunch of changes from Alexander Stein, adding PCIe support for mba8xx, enabling jpeg encode and decode for tqma8xx, adding vcc-supply for spi-nor, etc. - A series from Chancel Liu to complete WM8960 power supplies for NXP i.MX8 based boards - A dozen of changes from Frank Li, enabling audio codec for imx8qm-mek, adding PCIe EP for i.MX8Q, improving i.MX93 and i.MX95 support, etc. - A number of changes from Frieder Schrempf to support reading SD_VSEL signal for imx8m-kontron devices, fix SD card IO voltage control for imx93-kontron - A series from Teresa Remmet to improve imx8mm-phycore support, keeping LDO3 on in suspend, adding overlays for devices without Ethernet PHY, SPI NOR Flash, etc. - A couple of changes from Xu Yang to enable usb3 support for imx95-19x19-evk board - Other random improvements and cleanups on various boards * tag 'imx-dt64-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (84 commits) arm64: dts: imx8qm-apalis: Remove compatible from SoM dtsi arm64: dts: imx8mp: change AUDIO_AXI_CLK_ROOT freq. to 800MHz arm64: dts: imx8mp: add AUDIO_AXI_CLK_ROOT to AUDIOMIX block arm64: dts: imx93: add ddr edac support arm64: dts: imx95: add ref clock for pcie nodes arm64: dts: mba8xx: Remove invalid property disable-gpio arm64: dts: imx8qm-ss-hsio: Wire up DMA IRQ for PCIe arm64: dts: im8mq-librem5: move dwc3 usb port under ports arm64: dts: mba8mx: change sound card model name arm64: dts: imx8mp-tqma8mpql-mba8mpxl: change sound card model name arm64: dts: s32g: add FlexCAN[0..3] support for s32g2 and s32g3 arm64: dts: imx95: Add imx95-15x15-evk support arm64: dts: imx95: Add i3c1 and i3c2 arm64: dts: imx95: Add #io-channel-cells = <1> for adc node arm64: dts: imx8mp-skov: support new 7" panel board arm64: dts: imx8mp-skov: add revC BD500 board arm64: dts: imx8mp-skov: describe I2C bus recovery for all controllers arm64: dts: imx8mp-skov: move I2C2 pin control group into DTSI arm64: dts: imx8mp-skov: add basic board as fallback arm64: dts: freescale: imx8mp-skov: operate SoC in nominal mode ... Link: https://lore.kernel.org/r/20250312074005.663165-5-shawnguo2@yeah.net Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -122,6 +122,19 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-mx8menlo.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-nitrogen-r2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phg.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-rdk.dtb
|
||||
|
||||
imx8mm-phyboard-polis-peb-av-10-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phyboard-polis-peb-av-10.dtbo
|
||||
imx8mm-phyboard-polis-peb-eval-01-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phyboard-polis-peb-eval-01.dtbo
|
||||
imx8mm-phycore-no-eth-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phycore-no-eth.dtbo
|
||||
imx8mm-phycore-no-spiflash-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phycore-no-spiflash.dtbo
|
||||
imx8mm-phycore-rpmsg-dtbs += imx8mm-phyboard-polis-rdk.dtb imx8mm-phycore-rpmsg.dtbo
|
||||
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-peb-av-10.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-peb-eval-01.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phycore-no-eth.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phycore-no-spiflash.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phycore-rpmsg.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phygate-tauri-l.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-prt8mm.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-tqma8mqml-mba8mx.dtb
|
||||
@@ -193,9 +206,12 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-nitrogen-smarc-universal-board.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
|
||||
imx8mp-phyboard-pollux-rdk-no-eth-dtbs += imx8mp-phyboard-pollux-rdk.dtb imx8mp-phycore-no-eth.dtbo
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk-no-eth.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-basic.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-hdmi.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-lt6.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-mi1010ait-1cp1.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-bd500.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-tian-g07017.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-var-som-symphony.dtb
|
||||
@@ -267,6 +283,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris-v2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb
|
||||
|
||||
imx8qxp-mek-pcie-ep-dtbs += imx8qxp-mek.dtb imx8qxp-mek-pcie-ep.dtbo
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek-pcie-ep.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-tqma8xqp-mba8xx.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb.dtb
|
||||
@@ -281,6 +301,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-phyboard-segin.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxca.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
|
||||
|
||||
imx8mm-kontron-dl-dtbs := imx8mm-kontron-bl.dtb imx8mm-kontron-dl.dtbo
|
||||
|
||||
@@ -87,6 +87,22 @@
|
||||
los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <2000>;
|
||||
};
|
||||
|
||||
usb1v2_supply: regulator-usbhub-1v2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usbhub_1v2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
system3v3_supply: regulator-system-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "system_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
/* XG1 - Upper SFP */
|
||||
@@ -231,6 +247,12 @@
|
||||
compatible = "atmel,at97sc3204t";
|
||||
reg = <0x29>;
|
||||
};
|
||||
|
||||
usbhub: usb-hub@2d {
|
||||
compatible = "microchip,usb5744";
|
||||
reg = <0x2d>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
@@ -378,10 +400,32 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* LS1088A USB Port 0 - direct to bottom USB-A port */
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* LS1088A USB Port 1 - to Microchip USB5744 USB Hub */
|
||||
&usb1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
hub_2_0: hub@1 {
|
||||
compatible = "usb424,2744";
|
||||
reg = <1>;
|
||||
peer-hub = <&hub_3_0>;
|
||||
i2c-bus = <&usbhub>;
|
||||
vdd-supply = <&system3v3_supply>;
|
||||
vdd2-supply = <&usb1v2_supply>;
|
||||
};
|
||||
|
||||
hub_3_0: hub@2 {
|
||||
compatible = "usb424,5744";
|
||||
reg = <2>;
|
||||
peer-hub = <&hub_2_0>;
|
||||
i2c-bus = <&usbhub>;
|
||||
vdd-supply = <&system3v3_supply>;
|
||||
vdd2-supply = <&usb1v2_supply>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -790,6 +790,22 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Apalis HDMI Audio */
|
||||
&sai5 {
|
||||
assigned-clocks = <&acm IMX_ADMA_ACM_SAI5_MCLK_SEL>,
|
||||
<&acm IMX_ADMA_ACM_AUD_CLK1_SEL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_PLL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_SLV_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_MST_BUS>,
|
||||
<&sai5_lpcg 0>;
|
||||
assigned-clock-parents = <&aud_pll_div0_lpcg 0>, <&aud_rec1_lpcg 0>;
|
||||
assigned-clock-rates = <0>, <0>, <786432000>, <49152000>, <12288000>,
|
||||
<722534400>, <45158400>, <11289600>, <49152000>;
|
||||
};
|
||||
|
||||
/* TODO: Apalis SATA1 */
|
||||
|
||||
/* Apalis SPDIF1 */
|
||||
|
||||
@@ -57,8 +57,9 @@ hsio_subsys: bus@5f000000 {
|
||||
ranges = <0x81000000 0 0x00000000 0x8ff80000 0 0x00010000>,
|
||||
<0x82000000 0 0x80000000 0x80000000 0 0x0ff00000>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "msi";
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "msi", "dma";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
clocks = <&pcieb_lpcg IMX_LPCG_CLK_6>,
|
||||
@@ -68,9 +69,9 @@ hsio_subsys: bus@5f000000 {
|
||||
bus-range = <0x00 0xff>;
|
||||
device_type = "pci";
|
||||
interrupt-map = <0 0 0 1 &gic 0 105 4>,
|
||||
<0 0 0 2 &gic 0 106 4>,
|
||||
<0 0 0 3 &gic 0 107 4>,
|
||||
<0 0 0 4 &gic 0 108 4>;
|
||||
<0 0 0 2 &gic 0 106 4>,
|
||||
<0 0 0 3 &gic 0 107 4>,
|
||||
<0 0 0 4 &gic 0 108 4>;
|
||||
interrupt-map-mask = <0 0 0 0x7>;
|
||||
num-lanes = <1>;
|
||||
num-viewport = <4>;
|
||||
@@ -79,6 +80,25 @@ hsio_subsys: bus@5f000000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pcieb_ep: pcie-ep@5f010000 {
|
||||
compatible = "fsl,imx8q-pcie-ep";
|
||||
reg = <0x5f010000 0x00010000>,
|
||||
<0x80000000 0x10000000>;
|
||||
reg-names = "dbi", "addr_space";
|
||||
num-lanes = <1>;
|
||||
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "dma";
|
||||
clocks = <&pcieb_lpcg IMX_LPCG_CLK_6>,
|
||||
<&pcieb_lpcg IMX_LPCG_CLK_4>,
|
||||
<&pcieb_lpcg IMX_LPCG_CLK_5>;
|
||||
clock-names = "dbi", "mstr", "slv";
|
||||
power-domains = <&pd IMX_SC_R_PCIE_B>;
|
||||
fsl,max-link-speed = <3>;
|
||||
num-ib-windows = <6>;
|
||||
num-ob-windows = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pcieb_lpcg: clock-controller@5f060000 {
|
||||
compatible = "fsl,imx8qxp-lpcg";
|
||||
reg = <0x5f060000 0x10000>;
|
||||
|
||||
@@ -191,6 +191,33 @@
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_audio_5v: regulator-audio-pwr {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-5v";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_3v3: regulator-audio-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_1v8: regulator-audio-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
bt_sco_codec: audio-codec-bt {
|
||||
compatible = "linux,bt-sco";
|
||||
#sound-dai-cells = <1>;
|
||||
@@ -420,6 +447,11 @@
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -444,6 +476,11 @@
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -468,6 +505,11 @@
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -254,6 +254,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_nvcc_sd {
|
||||
sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
@@ -454,7 +458,7 @@
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xd0
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x40000d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -467,7 +471,7 @@
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xd0
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x40000d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -480,7 +484,7 @@
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xd0
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x40000d0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -342,6 +342,7 @@
|
||||
regulator-name = "NVCC_SD (LDO5)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -794,7 +795,7 @@
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 /* SDIO_A_D2 */
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 /* SDIO_A_D3 */
|
||||
MX8MM_IOMUXC_SD2_WP_USDHC2_WP 0x400000d6 /* SDIO_A_WP */
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x90
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x40000090
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -807,7 +808,7 @@
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 /* SDIO_A_D2 */
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 /* SDIO_A_D3 */
|
||||
MX8MM_IOMUXC_SD2_WP_USDHC2_WP 0x400000d6 /* SDIO_A_WP */
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x90
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x40000090
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -820,7 +821,7 @@
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 /* SDIO_A_D2 */
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 /* SDIO_A_D3 */
|
||||
MX8MM_IOMUXC_SD2_WP_USDHC2_WP 0x400000d6 /* SDIO_A_WP */
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x90
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x40000090
|
||||
>;
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,237 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2025 PHYTEC Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include <dt-bindings/clock/imx8mm-clock.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "imx8mm-pinfunc.h"
|
||||
|
||||
&{/} {
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd>;
|
||||
default-brightness-level = <6>;
|
||||
pwms = <&pwm4 0 50000 0>;
|
||||
power-supply = <®_vdd_3v3_s>;
|
||||
enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
|
||||
brightness-levels= <0 4 8 16 32 64 128 255>;
|
||||
};
|
||||
|
||||
panel {
|
||||
compatible = "edt,etml1010g3dra";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_vcc_3v3>;
|
||||
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&bridge_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reg_sound_1v8: regulator-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_1V8_Audio";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
reg_sound_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_3V3_Analog";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
sound-peb-av-10 {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "snd-peb-av-10";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,bitclock-master = <&dailink_master>;
|
||||
simple-audio-card,frame-master = <&dailink_master>;
|
||||
simple-audio-card,mclk-fs = <32>;
|
||||
simple-audio-card,widgets =
|
||||
"Line", "Line In",
|
||||
"Speaker", "Speaker",
|
||||
"Microphone", "Microphone Jack",
|
||||
"Headphone", "Headphone Jack";
|
||||
simple-audio-card,routing =
|
||||
"Speaker", "SPOP",
|
||||
"Speaker", "SPOM",
|
||||
"Headphone Jack", "HPLOUT",
|
||||
"Headphone Jack", "HPROUT",
|
||||
"LINE1L", "Line In",
|
||||
"LINE1R", "Line In",
|
||||
"MIC3R", "Microphone Jack",
|
||||
"Microphone Jack", "Mic Bias";
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&sai5>;
|
||||
};
|
||||
|
||||
dailink_master: simple-audio-card,codec {
|
||||
sound-dai = <&codec>;
|
||||
clocks = <&clk IMX8MM_CLK_SAI5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
pinctrl-1 = <&pinctrl_i2c3_gpio>;
|
||||
sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
codec: codec@18 {
|
||||
compatible = "ti,tlv320aic3007";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_tlv320>;
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x18>;
|
||||
reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
|
||||
ai3x-gpio-func = <0xd 0x0>;
|
||||
ai3x-micbias-vg = <2>;
|
||||
AVDD-supply = <®_sound_3v3>;
|
||||
IOVDD-supply = <®_sound_3v3>;
|
||||
DRVDD-supply = <®_sound_3v3>;
|
||||
DVDD-supply = <®_sound_1v8>;
|
||||
};
|
||||
|
||||
eeprom@57 {
|
||||
compatible = "atmel,24c32";
|
||||
pagesize = <32>;
|
||||
reg = <0x57>;
|
||||
vcc-supply = <®_vdd_3v3_s>;
|
||||
};
|
||||
|
||||
eeprom@5f {
|
||||
compatible = "atmel,24c32";
|
||||
pagesize = <32>;
|
||||
reg = <0x5f>;
|
||||
size = <32>;
|
||||
vcc-supply = <®_vdd_3v3_s>;
|
||||
};
|
||||
};
|
||||
|
||||
&lcdif {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mipi_dsi {
|
||||
samsung,esc-clock-frequency = <10000000>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
dsi_out: endpoint {
|
||||
remote-endpoint = <&bridge_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pwm4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai5 {
|
||||
assigned-clocks = <&clk IMX8MM_CLK_SAI5>;
|
||||
assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL2_OUT>;
|
||||
assigned-clock-rates = <11289600>;
|
||||
clocks = <&clk IMX8MM_CLK_SAI5_IPG>, <&clk IMX8MM_CLK_DUMMY>,
|
||||
<&clk IMX8MM_CLK_SAI5_ROOT>, <&clk IMX8MM_CLK_DUMMY>,
|
||||
<&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>,
|
||||
<&clk IMX8MM_AUDIO_PLL2_OUT>;
|
||||
clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k",
|
||||
"pll11k";
|
||||
fsl,sai-mclk-direction-output;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai5>;
|
||||
#sound-dai-cells = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sn65dsi83 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
bridge_in: endpoint {
|
||||
remote-endpoint = <&dsi_out>;
|
||||
data-lanes = <1 2 3 4>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
bridge_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c2
|
||||
MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3_gpio: i2c3gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18 0x1e2
|
||||
MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19 0x1e2
|
||||
>;
|
||||
};
|
||||
pinctrl_lcd: lcd0grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x12
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pwm4: pwm4grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_MCLK_PWM4_OUT 0x12
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_sai5: sai5grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK 0xd6
|
||||
MX8MM_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0 0xd6
|
||||
MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0xd6
|
||||
MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0xd6
|
||||
MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_tlv320: tlv320grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x16
|
||||
MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x16
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,72 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2025 PHYTEC Messtechnik GmbH
|
||||
* Author: Janine Hagemann <j.hagemann@phytec.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
#include "imx8mm-pinfunc.h"
|
||||
|
||||
&{/} {
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_keys>;
|
||||
|
||||
button-0 {
|
||||
label = "home";
|
||||
linux,code = <KEY_HOME>;
|
||||
gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
button-1 {
|
||||
label = "menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
user-leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_user_leds>;
|
||||
|
||||
user-led1 {
|
||||
gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
user-led2 {
|
||||
gpios = <&gpio4 15 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
user-led3 {
|
||||
gpios = <&gpio5 28 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_gpio_keys: gpio_keysgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17 0x16
|
||||
MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29 0x16
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_user_leds: user_ledsgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x16
|
||||
MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28 0x16
|
||||
MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x16
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -219,9 +219,15 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* RTC */
|
||||
&rv3028 {
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-0 = <&pinctrl_rtc>;
|
||||
pinctrl-names = "default";
|
||||
aux-voltage-chargeable = <1>;
|
||||
trickle-resistor-ohms = <3000>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
&snvs_pwrkey {
|
||||
@@ -255,11 +261,12 @@
|
||||
device-wakeup-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
|
||||
interrupt-names = "host-wakeup";
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <9 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
|
||||
max-speed = <2000000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_bt>;
|
||||
shutdown-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
|
||||
vbat-supply = <®_vcc_3v3>;
|
||||
vddio-supply = <®_vcc_3v3>;
|
||||
};
|
||||
};
|
||||
@@ -332,7 +339,7 @@
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6 0x00
|
||||
MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8 0x00
|
||||
MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x00
|
||||
MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -408,6 +415,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_rtc: rtcgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x1c0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_tpm: tpmgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x140
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2025 PHYTEC Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
ðphy0 {
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2025 PHYTEC Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
&flexspi {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&som_flash {
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2025 PHYTEC Messtechnik GmbH
|
||||
* Author: Dominik Haller <d.haller@phytec.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include <dt-bindings/clock/imx8mm-clock.h>
|
||||
|
||||
&{/} {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
m4_reserved: m4@80000000 {
|
||||
reg = <0 0x80000000 0 0x1000000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
vdev0vring0: vdev0vring0@b8000000 {
|
||||
reg = <0 0xb8000000 0 0x8000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
vdev0vring1: vdev0vring1@b8008000 {
|
||||
reg = <0 0xb8008000 0 0x8000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
rsc_table: rsc_table@b80ff000 {
|
||||
reg = <0 0xb80ff000 0 0x1000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
vdevbuffer: vdevbuffer@b8400000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0 0xb8400000 0 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
core-m4 {
|
||||
compatible = "fsl,imx8mm-cm4";
|
||||
clocks = <&clk IMX8MM_CLK_M4_DIV>;
|
||||
mboxes = <&mu 0 1
|
||||
&mu 1 1
|
||||
&mu 3 1>;
|
||||
mbox-names = "tx", "rx", "rxdb";
|
||||
memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
|
||||
syscon = <&src>;
|
||||
};
|
||||
};
|
||||
@@ -69,7 +69,6 @@
|
||||
|
||||
/* Ethernet */
|
||||
&fec1 {
|
||||
fsl,magic-packet;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <ðphy0>;
|
||||
pinctrl-names = "default";
|
||||
@@ -161,11 +160,13 @@
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-name = "VCC_ENET_2V5 (LDO3)";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-max-microvolt = <2500000>;
|
||||
regulator-suspend-min-microvolt = <2500000>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -285,9 +286,11 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sn65dsi83>;
|
||||
reg = <0x2d>;
|
||||
vcc-supply = <®_vdd_1v8>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* EEPROM */
|
||||
eeprom@51 {
|
||||
compatible = "atmel,24c32";
|
||||
pagesize = <32>;
|
||||
@@ -295,17 +298,14 @@
|
||||
vcc-supply = <®_vdd_3v3_s>;
|
||||
};
|
||||
|
||||
/* RTC */
|
||||
rv3028: rtc@52 {
|
||||
compatible = "microcrystal,rv3028";
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_rtc>;
|
||||
reg = <0x52>;
|
||||
};
|
||||
};
|
||||
|
||||
/* EMMC */
|
||||
/* eMMC */
|
||||
&usdhc3 {
|
||||
assigned-clocks = <&clk IMX8MM_CLK_USDHC3_ROOT>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
@@ -373,12 +373,6 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_rtc: rtcgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x1c0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_sn65dsi83: sn65dsi83grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x0
|
||||
|
||||
@@ -215,8 +215,13 @@
|
||||
|
||||
/* RTC */
|
||||
&rv3028 {
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-0 = <&pinctrl_rtc>;
|
||||
pinctrl-names = "default";
|
||||
aux-voltage-chargeable = <1>;
|
||||
trickle-resistor-ohms = <3000>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
@@ -394,6 +399,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_rtc: rtcgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x1c0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_tempsense: tempsensegrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_TXFS_GPIO4_IO31 0x00
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
spi-max-frequency = <84000000>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
vcc-supply = <&buck5_reg>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
@@ -18,20 +18,6 @@
|
||||
rtc1 = &snvs_rtc;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
brightness-levels = <0 45 63 88 119 158 203 255>;
|
||||
default-brightness-level = <4>;
|
||||
/* Verdin I2S_2_D_OUT (DSI_1_BKL_EN/DSI_1_BKL_EN_LVDS, SODIMM 46) */
|
||||
enable-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2s_2_d_out_dsi_1_bkl_en>;
|
||||
power-supply = <®_3p3v>;
|
||||
/* Verdin PWM_3_DSI/PWM_3_DSI_LVDS (SODIMM 19) */
|
||||
pwms = <&pwm1 0 6666667 PWM_POLARITY_INVERTED>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Fixed clock dedicated to SPI CAN controller */
|
||||
clk40m: oscillator {
|
||||
compatible = "fixed-clock";
|
||||
@@ -66,13 +52,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
panel_lvds: panel-lvds {
|
||||
compatible = "panel-lvds";
|
||||
backlight = <&backlight>;
|
||||
data-mapping = "vesa-24";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Carrier Board Supplies */
|
||||
reg_1p8v: regulator-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
@@ -64,7 +64,6 @@
|
||||
DVDD-supply = <&buck5_reg>;
|
||||
reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
|
||||
ai31xx-micbias-vg = <MICBIAS_AVDDV>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
spi-max-frequency = <84000000>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
vcc-supply = <&buck5_reg>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
@@ -74,6 +74,24 @@
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
reg_audio_3v3: regulator-audio-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_1v8: regulator-audio-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_pwr: regulator-audio-pwr {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
@@ -586,7 +604,11 @@
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <3 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_pwr>;
|
||||
SPKVDD2-supply = <®_audio_pwr>;
|
||||
};
|
||||
|
||||
pca6416: gpio@20 {
|
||||
|
||||
@@ -311,6 +311,7 @@
|
||||
regulator-name = "NVCC_SD (LDO5)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -808,7 +809,7 @@
|
||||
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 /* SDIO_A_D1 */
|
||||
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 /* SDIO_A_D2 */
|
||||
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 /* SDIO_A_D3 */
|
||||
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x1d0
|
||||
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x400001d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -820,7 +821,7 @@
|
||||
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 /* SDIO_A_D1 */
|
||||
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 /* SDIO_A_D2 */
|
||||
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 /* SDIO_A_D3 */
|
||||
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x1d0
|
||||
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x400001d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -832,7 +833,7 @@
|
||||
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 /* SDIO_A_D1 */
|
||||
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 /* SDIO_A_D2 */
|
||||
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 /* SDIO_A_D3 */
|
||||
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x1d0
|
||||
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x400001d0
|
||||
>;
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2024 Pengutronix, Ahmad Fatoum <kernel@pengutronix.de>
|
||||
*/
|
||||
|
||||
&clk {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_A53_SRC>,
|
||||
<&clk IMX8MP_CLK_A53_CORE>,
|
||||
<&clk IMX8MP_SYS_PLL3>,
|
||||
<&clk IMX8MP_CLK_NOC>,
|
||||
<&clk IMX8MP_CLK_NOC_IO>,
|
||||
<&clk IMX8MP_CLK_GIC>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_ARM_PLL_OUT>,
|
||||
<0>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_SYS_PLL3_OUT>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>;
|
||||
assigned-clock-rates = <0>, <0>,
|
||||
<600000000>,
|
||||
<800000000>,
|
||||
<600000000>,
|
||||
<400000000>;
|
||||
fsl,operating-mode = "nominal";
|
||||
};
|
||||
|
||||
&pgc_hdmimix {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_HDMI_AXI>,
|
||||
<&clk IMX8MP_CLK_HDMI_APB>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_SYS_PLL1_133M>;
|
||||
assigned-clock-rates = <400000000>, <133000000>;
|
||||
};
|
||||
|
||||
&pgc_hsiomix {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_HSIO_AXI>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
};
|
||||
|
||||
&pgc_gpumix {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_GPU_AXI>,
|
||||
<&clk IMX8MP_CLK_GPU_AHB>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL3_OUT>,
|
||||
<&clk IMX8MP_SYS_PLL3_OUT>;
|
||||
assigned-clock-rates = <600000000>, <300000000>;
|
||||
};
|
||||
|
||||
&media_blk_ctrl {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_AXI>,
|
||||
<&clk IMX8MP_CLK_MEDIA_APB>,
|
||||
<&clk IMX8MP_CLK_MEDIA_DISP1_PIX>,
|
||||
<&clk IMX8MP_CLK_MEDIA_DISP2_PIX>,
|
||||
<&clk IMX8MP_CLK_MEDIA_ISP>,
|
||||
<&clk IMX8MP_VIDEO_PLL1>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_VIDEO_PLL1_OUT>,
|
||||
<&clk IMX8MP_VIDEO_PLL1_OUT>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>;
|
||||
assigned-clock-rates = <400000000>, <200000000>,
|
||||
<0>, <0>, <400000000>,
|
||||
<1039500000>;
|
||||
};
|
||||
@@ -0,0 +1,10 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mp-skov-reva.dtsi"
|
||||
|
||||
/ {
|
||||
model = "SKOV IMX8MP CPU basic/fallback";
|
||||
compatible = "skov,imx8mp-skov-basic", "fsl,imx8mp";
|
||||
};
|
||||
@@ -1,6 +1,7 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
|
||||
#include "imx8mp.dtsi"
|
||||
#include "imx8mp-nominal.dtsi"
|
||||
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
@@ -116,6 +117,11 @@
|
||||
regulator-name = "24V";
|
||||
regulator-min-microvolt = <24000000>;
|
||||
regulator-max-microvolt = <24000000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg24v>;
|
||||
interrupts-extended = <&gpio4 23 IRQ_TYPE_EDGE_FALLING>;
|
||||
system-critical-regulator;
|
||||
regulator-uv-less-critical-window-ms = <50>;
|
||||
};
|
||||
|
||||
reg_can2rs: regulator-can2rs {
|
||||
@@ -163,6 +169,19 @@
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* Board is passively cooled and heatsink is specced for continuous operation
|
||||
* at 1.2 GHz only. Short bouts of 1.6 GHz are ok, but these should be done
|
||||
* intentionally, not as part of suspend/resume cycles.
|
||||
*/
|
||||
&{/opp-table/opp-1600000000} {
|
||||
/delete-property/ opp-suspend;
|
||||
};
|
||||
|
||||
&{/opp-table/opp-1800000000} {
|
||||
/delete-property/ opp-suspend;
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
@@ -197,7 +216,7 @@
|
||||
&eqos {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_eqos>;
|
||||
phy-mode = "rgmii-txid";
|
||||
phy-mode = "rgmii-rxid";
|
||||
status = "okay";
|
||||
|
||||
fixed-link {
|
||||
@@ -222,8 +241,11 @@
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
pinctrl-1 = <&pinctrl_i2c1_gpio>;
|
||||
scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
|
||||
pmic@25 {
|
||||
@@ -237,8 +259,8 @@
|
||||
regulators {
|
||||
reg_vdd_soc: BUCK1 {
|
||||
regulator-name = "VDD_SOC";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <2187500>;
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
vin-supply = <®_5v_p>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
@@ -247,20 +269,20 @@
|
||||
|
||||
reg_vdd_arm: BUCK2 {
|
||||
regulator-name = "VDD_ARM";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <2187500>;
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
vin-supply = <®_5v_p>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <3125>;
|
||||
nxp,dvs-run-voltage = <950000>;
|
||||
nxp,dvs-run-voltage = <850000>;
|
||||
nxp,dvs-standby-voltage = <850000>;
|
||||
};
|
||||
|
||||
reg_vdd_3v3: BUCK4 {
|
||||
regulator-name = "VDD_3V3";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <®_5v_p>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
@@ -268,8 +290,8 @@
|
||||
|
||||
reg_vdd_1v8: BUCK5 {
|
||||
regulator-name = "VDD_1V8";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <®_5v_p>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
@@ -277,8 +299,8 @@
|
||||
|
||||
reg_nvcc_dram_1v1: BUCK6 {
|
||||
regulator-name = "NVCC_DRAM_1V1";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
vin-supply = <®_5v_p>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
@@ -286,8 +308,8 @@
|
||||
|
||||
reg_nvcc_snvs_1v8: LDO1 {
|
||||
regulator-name = "NVCC_SNVS_1V8";
|
||||
regulator-min-microvolt = <1600000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <®_5v_p>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
@@ -295,8 +317,8 @@
|
||||
|
||||
reg_vdda_1v8: LDO3 {
|
||||
regulator-name = "VDDA_1V8";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <®_5v_p>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
@@ -314,10 +336,21 @@
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
pinctrl-1 = <&pinctrl_i2c2_gpio>;
|
||||
scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
pinctrl-1 = <&pinctrl_i2c3_gpio>;
|
||||
scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
|
||||
i2c_rtc: rtc@51 {
|
||||
@@ -332,8 +365,11 @@
|
||||
|
||||
&i2c4 {
|
||||
clock-frequency = <380000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
pinctrl-1 = <&pinctrl_i2c4_gpio>;
|
||||
scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
|
||||
switch: switch@5f {
|
||||
@@ -391,6 +427,13 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
status = "okay";
|
||||
/*
|
||||
* While there is no CTS line, the property "uart-has-rtscts" is still
|
||||
* the right thing to do to enable the UART to do RS485. In RS485-Mode
|
||||
* CTS isn't used anyhow and there is no dedicated property
|
||||
* "uart-has-rts-but-no-cts".
|
||||
*/
|
||||
uart-has-rtscts;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
@@ -538,6 +581,27 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1_gpio: i2c1gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 0x400001c2
|
||||
MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 0x400001c2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2
|
||||
MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2_gpio: i2c2gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 0x400001c2
|
||||
MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x400001c2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c2
|
||||
@@ -545,6 +609,13 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3_gpio: i2c3gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18 0x400001c2
|
||||
MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19 0x400001c2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c4: i2c4grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3
|
||||
@@ -552,6 +623,13 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c4_gpio: i2c4gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20 0x400001c3
|
||||
MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pmic: pmicirqgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x41
|
||||
@@ -571,6 +649,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg24v: reg24vgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SAI2_RXD0__GPIO4_IO23 0x154
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_vsd_3v3: regvsd3v3grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x40
|
||||
@@ -605,6 +689,8 @@
|
||||
MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x140
|
||||
MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x140
|
||||
MX8MP_IOMUXC_UART3_RXD__UART1_DTE_RTS 0x140
|
||||
/* CTS pin is not connected, but needed as workaround */
|
||||
MX8MP_IOMUXC_UART3_TXD__UART1_DTE_CTS 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,12 +9,53 @@
|
||||
compatible = "skov,imx8mp-skov-revb-hdmi", "fsl,imx8mp";
|
||||
};
|
||||
|
||||
&hdmi_pvi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_tx {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hdmi>;
|
||||
ddc-i2c-bus = <&i2c5>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_tx_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_i2c5>;
|
||||
pinctrl-1 = <&pinctrl_i2c5_gpio>;
|
||||
scl-gpios = <&gpio3 26 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio3 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
clock-frequency = <100000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lcdif3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_hdmi: hdmigrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x1c3
|
||||
MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x1c3
|
||||
MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c5: i2c5grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_HDMI_DDC_SCL__I2C5_SCL 0x400001c2
|
||||
MX8MP_IOMUXC_HDMI_DDC_SDA__I2C5_SDA 0x400001c2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c5_gpio: i2c5gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_HDMI_DDC_SCL__GPIO3_IO26 0x400001c2
|
||||
MX8MP_IOMUXC_HDMI_DDC_SDA__GPIO3_IO27 0x400001c2
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,6 +8,45 @@
|
||||
model = "SKOV IMX8MP CPU revB - LT6";
|
||||
compatible = "skov,imx8mp-skov-revb-lt6", "fsl,imx8mp";
|
||||
|
||||
lvds-decoder {
|
||||
compatible = "ti,sn65lvds822", "lvds-decoder";
|
||||
power-supply = <®_3v3>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
in_lvds1: endpoint {
|
||||
data-mapping = "vesa-24";
|
||||
remote-endpoint = <&ldb_lvds_ch1>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
lvds_decoder_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
panel {
|
||||
compatible = "logictechno,lttd800480070-l6wh-rt";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_tft_vcom>;
|
||||
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&lvds_decoder_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
touchscreen {
|
||||
compatible = "resistive-adc-touch";
|
||||
io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>, <&adc_ts 5>;
|
||||
@@ -78,6 +117,27 @@
|
||||
};
|
||||
};
|
||||
|
||||
&lcdif2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lvds_bridge {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
|
||||
<&clk IMX8MP_VIDEO_PLL1>;
|
||||
assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
|
||||
/* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 2 * 7 */
|
||||
assigned-clock-rates = <0>, <462000000>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@2 {
|
||||
ldb_lvds_ch1: endpoint {
|
||||
remote-endpoint = <&in_lvds1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -27,8 +27,6 @@
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
status = "okay";
|
||||
|
||||
touchscreen@38 {
|
||||
@@ -51,8 +49,11 @@
|
||||
};
|
||||
|
||||
&lvds_bridge {
|
||||
/* IMX8MP_CLK_MEDIA_LDB = IMX8MP_CLK_MEDIA_DISP2_PIX * 7 */
|
||||
assigned-clock-rates = <490000000>;
|
||||
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
|
||||
<&clk IMX8MP_VIDEO_PLL1>;
|
||||
assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
|
||||
/* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 2 * 7 */
|
||||
assigned-clock-rates = <0>, <980000000>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
@@ -64,18 +65,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&media_blk_ctrl {
|
||||
/* currently it is not possible to let display clocks confugure
|
||||
* automatically, so we need to set them manually
|
||||
*/
|
||||
assigned-clock-rates = <500000000>, <200000000>, <0>,
|
||||
/* IMX8MP_CLK_MEDIA_DISP2_PIX = pixelclk of lvds panel */
|
||||
<70000000>,
|
||||
<500000000>,
|
||||
/* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_LDB */
|
||||
<490000000>;
|
||||
};
|
||||
|
||||
&pwm4 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -90,12 +79,3 @@
|
||||
voltage-table = <3160000 73>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2
|
||||
MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mp-skov-reva.dtsi"
|
||||
|
||||
/ {
|
||||
model = "SKOV IMX8MP CPU revC - bd500";
|
||||
compatible = "skov,imx8mp-skov-revc-bd500", "fsl,imx8mp";
|
||||
|
||||
leds {
|
||||
led_system_red: led-3 {
|
||||
label = "bd500:system:red";
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
/* Inverted compared to others due to NMOS inverter */
|
||||
gpios = <&gpioexp 3 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led_system_green: led-4 {
|
||||
label = "bd500:system:green";
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&gpioexp 2 GPIO_ACTIVE_LOW>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
led_lan1_red: led-5 {
|
||||
label = "bd500:lan1:act";
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
linux,default-trigger = "netdev";
|
||||
gpios = <&gpioexp 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan1_green: led-6 {
|
||||
label = "bd500:lan1:link";
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
linux,default-trigger = "netdev";
|
||||
gpios = <&gpioexp 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan2_red: led-7 {
|
||||
label = "bd500:lan2:act";
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
linux,default-trigger = "netdev";
|
||||
gpios = <&gpioexp 6 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan2_green: led-8 {
|
||||
label = "bd500:lan2:link";
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
linux,default-trigger = "netdev";
|
||||
gpios = <&gpioexp 7 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
button-1 {
|
||||
label = "S1";
|
||||
linux,code = <KEY_CONFIG>;
|
||||
gpios = <&gpioexp 5 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <100000>;
|
||||
status = "okay";
|
||||
|
||||
gpioexp: gpio@20 {
|
||||
compatible = "nxp,pca6408";
|
||||
reg = <0x20>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_exp>;
|
||||
interrupts-extended = <&gpio4 28 IRQ_TYPE_EDGE_FALLING>;
|
||||
reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
|
||||
vcc-supply = <®_vdd_3v3>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_gpio_exp: gpioexpgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x0
|
||||
MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x0
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,81 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mp-skov-reva.dtsi"
|
||||
|
||||
/ {
|
||||
model = "SKOV IMX8MP CPU revC - TIAN G07017";
|
||||
compatible = "skov,imx8mp-skov-revc-tian-g07017", "fsl,imx8mp";
|
||||
|
||||
panel {
|
||||
compatible = "topland,tian-g07017-01";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_tft_vcom>;
|
||||
|
||||
port {
|
||||
in_lvds0: endpoint {
|
||||
remote-endpoint = <&ldb_lvds_ch0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&backlight {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <100000>;
|
||||
status = "okay";
|
||||
|
||||
touchscreen@38 {
|
||||
compatible = "edt,edt-ft5506";
|
||||
reg = <0x38>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_touchscreen>;
|
||||
interrupts-extended = <&gpio4 28 IRQ_TYPE_EDGE_FALLING>;
|
||||
reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
|
||||
touchscreen-size-x = <1024>;
|
||||
touchscreen-size-y = <600>;
|
||||
vcc-supply = <®_vdd_3v3>;
|
||||
iovcc-supply = <®_vdd_3v3>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
&lcdif2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lvds_bridge {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
|
||||
<&clk IMX8MP_VIDEO_PLL1>;
|
||||
assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
|
||||
/* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 2 * 7 */
|
||||
assigned-clock-rates = <0>, <358400000>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
ldb_lvds_ch0: endpoint {
|
||||
remote-endpoint = <&in_lvds0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pwm4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_tft_vcom {
|
||||
regulator-min-microvolt = <3160000>;
|
||||
regulator-max-microvolt = <3160000>;
|
||||
voltage-table = <3160000 73>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
sound {
|
||||
compatible = "fsl,imx-audio-tlv320aic32x4";
|
||||
model = "tq-tlv320aic32x";
|
||||
model = "tqm-tlv320aic32";
|
||||
audio-cpu = <&sai3>;
|
||||
audio-codec = <&tlv320aic3x04>;
|
||||
};
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
vcc-supply = <&buck5_reg>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
@@ -816,12 +816,12 @@
|
||||
assigned-clocks = <&clk IMX8MP_CLK_ML_CORE>,
|
||||
<&clk IMX8MP_CLK_ML_AXI>,
|
||||
<&clk IMX8MP_CLK_ML_AHB>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>;
|
||||
assigned-clock-rates = <800000000>,
|
||||
assigned-clock-rates = <1000000000>,
|
||||
<800000000>,
|
||||
<300000000>;
|
||||
<400000000>;
|
||||
};
|
||||
|
||||
pgc_audio: power-domain@5 {
|
||||
@@ -834,7 +834,7 @@
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>;
|
||||
assigned-clock-rates = <400000000>,
|
||||
<600000000>;
|
||||
<800000000>;
|
||||
};
|
||||
|
||||
pgc_gpu2d: power-domain@6 {
|
||||
@@ -1619,10 +1619,11 @@
|
||||
<&clk IMX8MP_CLK_SAI3>,
|
||||
<&clk IMX8MP_CLK_SAI5>,
|
||||
<&clk IMX8MP_CLK_SAI6>,
|
||||
<&clk IMX8MP_CLK_SAI7>;
|
||||
<&clk IMX8MP_CLK_SAI7>,
|
||||
<&clk IMX8MP_CLK_AUDIO_AXI_ROOT>;
|
||||
clock-names = "ahb",
|
||||
"sai1", "sai2", "sai3",
|
||||
"sai5", "sai6", "sai7";
|
||||
"sai5", "sai6", "sai7", "axi";
|
||||
power-domains = <&pgc_audio>;
|
||||
assigned-clocks = <&clk IMX8MP_AUDIO_PLL1>,
|
||||
<&clk IMX8MP_AUDIO_PLL2>;
|
||||
@@ -2232,9 +2233,9 @@
|
||||
clock-names = "core", "shader", "bus", "reg";
|
||||
assigned-clocks = <&clk IMX8MP_CLK_GPU3D_CORE>,
|
||||
<&clk IMX8MP_CLK_GPU3D_SHADER_CORE>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
|
||||
<&clk IMX8MP_SYS_PLL1_800M>;
|
||||
assigned-clock-rates = <800000000>, <800000000>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
|
||||
<&clk IMX8MP_SYS_PLL2_1000M>;
|
||||
assigned-clock-rates = <1000000000>, <1000000000>;
|
||||
power-domains = <&pgc_gpu3d>;
|
||||
};
|
||||
|
||||
@@ -2247,8 +2248,8 @@
|
||||
<&clk IMX8MP_CLK_GPU_AHB>;
|
||||
clock-names = "core", "bus", "reg";
|
||||
assigned-clocks = <&clk IMX8MP_CLK_GPU2D_CORE>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
|
||||
assigned-clock-rates = <800000000>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>;
|
||||
assigned-clock-rates = <1000000000>;
|
||||
power-domains = <&pgc_gpu2d>;
|
||||
};
|
||||
|
||||
|
||||
@@ -979,24 +979,27 @@
|
||||
};
|
||||
|
||||
&usb_dwc3_0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
typec_hs: endpoint {
|
||||
remote-endpoint = <&usb_con_hs>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
typec_hs: endpoint {
|
||||
remote-endpoint = <&usb_con_hs>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
typec_ss: endpoint {
|
||||
remote-endpoint = <&usb_con_ss>;
|
||||
typec_ss: endpoint {
|
||||
remote-endpoint = <&usb_con_ss>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -794,7 +794,6 @@
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "irq";
|
||||
extcon = <&usb3_phy0>;
|
||||
wakeup-source;
|
||||
|
||||
connector {
|
||||
@@ -1322,25 +1321,28 @@
|
||||
};
|
||||
|
||||
&usb_dwc3_0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
dr_mode = "otg";
|
||||
usb-role-switch;
|
||||
status = "okay";
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
typec_hs: endpoint {
|
||||
remote-endpoint = <&usb_con_hs>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
typec_hs: endpoint {
|
||||
remote-endpoint = <&usb_con_hs>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
typec_ss: endpoint {
|
||||
remote-endpoint = <&usb_con_ss>;
|
||||
typec_ss: endpoint {
|
||||
remote-endpoint = <&usb_con_ss>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -254,6 +254,7 @@
|
||||
spi-max-frequency = <84000000>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
vcc-supply = <&nvcc_1v8_reg>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
|
||||
/ {
|
||||
model = "Toradex Apalis iMX8QM V1.1";
|
||||
compatible = "toradex,apalis-imx8-v1.1",
|
||||
"fsl,imx8qm";
|
||||
};
|
||||
|
||||
/* TODO: Cooling Maps */
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
|
||||
/ {
|
||||
model = "Toradex Apalis iMX8QM";
|
||||
compatible = "toradex,apalis-imx8",
|
||||
"fsl,imx8qm";
|
||||
};
|
||||
|
||||
ðphy0 {
|
||||
|
||||
@@ -155,6 +155,13 @@
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_audio: regulator-audio {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cs42888_supply";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_fec2_supply: regulator-fec2-nvcc {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fec2_nvcc";
|
||||
@@ -220,6 +227,33 @@
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
reg_audio_5v: regulator-audio-pwr {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-5v";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_3v3: regulator-audio-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_1v8: regulator-audio-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
bt_sco_codec: audio-codec-bt {
|
||||
compatible = "linux,bt-sco";
|
||||
#sound-dai-cells = <1>;
|
||||
@@ -244,6 +278,26 @@
|
||||
};
|
||||
};
|
||||
|
||||
sound-cs42888 {
|
||||
compatible = "fsl,imx-audio-cs42888";
|
||||
model = "imx-cs42888";
|
||||
audio-cpu = <&esai0>;
|
||||
audio-codec = <&cs42888>;
|
||||
audio-asrc = <&asrc0>;
|
||||
audio-routing = "Line Out Jack", "AOUT1L",
|
||||
"Line Out Jack", "AOUT1R",
|
||||
"Line Out Jack", "AOUT2L",
|
||||
"Line Out Jack", "AOUT2R",
|
||||
"Line Out Jack", "AOUT3L",
|
||||
"Line Out Jack", "AOUT3R",
|
||||
"Line Out Jack", "AOUT4L",
|
||||
"Line Out Jack", "AOUT4R",
|
||||
"AIN1L", "Line In Jack",
|
||||
"AIN1R", "Line In Jack",
|
||||
"AIN2L", "Line In Jack",
|
||||
"AIN2R", "Line In Jack";
|
||||
};
|
||||
|
||||
sound-wm8960 {
|
||||
compatible = "fsl,imx-audio-wm8960";
|
||||
model = "wm8960-audio";
|
||||
@@ -322,12 +376,44 @@
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
cs42888: audio-codec@48 {
|
||||
compatible = "cirrus,cs42888";
|
||||
reg = <0x48>;
|
||||
clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "mclk";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_cs42888_reset>;
|
||||
VA-supply = <®_audio>;
|
||||
VD-supply = <®_audio>;
|
||||
VLS-supply = <®_audio>;
|
||||
VLC-supply = <®_audio>;
|
||||
reset-gpios = <&lsio_gpio4 25 GPIO_ACTIVE_LOW>;
|
||||
assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
|
||||
<&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>;
|
||||
};
|
||||
};
|
||||
|
||||
&cm41_intmux {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&esai0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_esai0>;
|
||||
assigned-clocks = <&acm IMX_ADMA_ACM_ESAI0_MCLK_SEL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
|
||||
<&esai0_lpcg IMX_LPCG_CLK_4>;
|
||||
assigned-clock-parents = <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>;
|
||||
assigned-clock-rates = <0>, <786432000>, <49152000>, <12288000>, <49152000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hsio_phy {
|
||||
fsl,hsio-cfg = "pciea-pcieb-sata";
|
||||
fsl,refclk-pad-mode = "input";
|
||||
@@ -439,6 +525,11 @@
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -718,6 +809,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_cs42888_reset: cs42888_resetgrp {
|
||||
fsl,pins = <
|
||||
IMX8QM_QSPI1A_DATA1_LSIO_GPIO4_IO25 0x0600004c
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c0: i2c0grp {
|
||||
fsl,pins = <
|
||||
IMX8QM_HDMI_TX0_TS_SCL_DMA_I2C0_SCL 0x06000021
|
||||
@@ -752,6 +849,21 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_esai0: esai0grp {
|
||||
fsl,pins = <
|
||||
IMX8QM_ESAI0_FSR_AUD_ESAI0_FSR 0xc6000040
|
||||
IMX8QM_ESAI0_FST_AUD_ESAI0_FST 0xc6000040
|
||||
IMX8QM_ESAI0_SCKR_AUD_ESAI0_SCKR 0xc6000040
|
||||
IMX8QM_ESAI0_SCKT_AUD_ESAI0_SCKT 0xc6000040
|
||||
IMX8QM_ESAI0_TX0_AUD_ESAI0_TX0 0xc6000040
|
||||
IMX8QM_ESAI0_TX1_AUD_ESAI0_TX1 0xc6000040
|
||||
IMX8QM_ESAI0_TX2_RX3_AUD_ESAI0_TX2_RX3 0xc6000040
|
||||
IMX8QM_ESAI0_TX3_RX2_AUD_ESAI0_TX3_RX2 0xc6000040
|
||||
IMX8QM_ESAI0_TX4_RX1_AUD_ESAI0_TX4_RX1 0xc6000040
|
||||
IMX8QM_ESAI0_TX5_RX0_AUD_ESAI0_TX5_RX0 0xc6000040
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_fec1: fec1grp {
|
||||
fsl,pins = <
|
||||
IMX8QM_ENET0_MDC_CONN_ENET0_MDC 0x06000020
|
||||
|
||||
@@ -42,6 +42,25 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pciea_ep: pcie-ep@5f000000 {
|
||||
compatible = "fsl,imx8q-pcie-ep";
|
||||
reg = <0x5f000000 0x00010000>,
|
||||
<0x40000000 0x10000000>;
|
||||
reg-names = "dbi", "addr_space";
|
||||
num-lanes = <1>;
|
||||
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "dma";
|
||||
clocks = <&pciea_lpcg IMX_LPCG_CLK_6>,
|
||||
<&pciea_lpcg IMX_LPCG_CLK_4>,
|
||||
<&pciea_lpcg IMX_LPCG_CLK_5>;
|
||||
clock-names = "dbi", "mstr", "slv";
|
||||
power-domains = <&pd IMX_SC_R_PCIE_A>;
|
||||
fsl,max-link-speed = <3>;
|
||||
num-ib-windows = <6>;
|
||||
num-ob-windows = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pcieb: pcie@5f010000 {
|
||||
compatible = "fsl,imx8q-pcie";
|
||||
reg = <0x5f010000 0x10000>,
|
||||
@@ -50,8 +69,9 @@
|
||||
ranges = <0x81000000 0 0x00000000 0x8ff80000 0 0x00010000>,
|
||||
<0x82000000 0 0x80000000 0x80000000 0 0x0ff00000>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "msi";
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "msi", "dma";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
clocks = <&pcieb_lpcg IMX_LPCG_CLK_6>,
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2025 NXP
|
||||
*/
|
||||
|
||||
#include <dt-bindings/phy/phy.h>
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
&pcieb {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pcieb_ep {
|
||||
phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
|
||||
phy-names = "pcie-phy";
|
||||
pinctrl-0 = <&pinctrl_pcieb>;
|
||||
pinctrl-names = "default";
|
||||
vpcie-supply = <®_pcieb>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -98,6 +98,33 @@
|
||||
regulator-name = "cs42888_supply";
|
||||
};
|
||||
|
||||
reg_audio_5v: regulator-audio-pwr {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-5v";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_3v3: regulator-audio-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_audio_1v8: regulator-audio-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "audio-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_can_en: regulator-can-en {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -418,6 +445,11 @@
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
|
||||
pca6416: gpio@20 {
|
||||
|
||||
@@ -295,8 +295,8 @@
|
||||
"",
|
||||
"SODIMM_61",
|
||||
"SODIMM_103",
|
||||
"",
|
||||
"",
|
||||
"SODIMM_79",
|
||||
"SODIMM_97",
|
||||
"",
|
||||
"SODIMM_25",
|
||||
"SODIMM_27",
|
||||
|
||||
@@ -189,6 +189,7 @@
|
||||
regulator-name = "NVCC_SD (LDO5)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
nxp,sd-vsel-fixed-low;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -282,6 +283,7 @@
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
vmmc-supply = <®_usdhc2_vcc>;
|
||||
vqmmc-supply = <®_nvcc_sd>;
|
||||
cd-gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
@@ -553,7 +555,6 @@
|
||||
MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x40001382 /* SDIO_A_D1 */
|
||||
MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x40001382 /* SDIO_A_D2 */
|
||||
MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x40001382 /* SDIO_A_D3 */
|
||||
MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -565,7 +566,6 @@
|
||||
MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x4000138e /* SDIO_A_D1 */
|
||||
MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x4000138e /* SDIO_A_D2 */
|
||||
MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x4000138e /* SDIO_A_D3 */
|
||||
MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -577,7 +577,6 @@
|
||||
MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x400013fe /* SDIO_A_D1 */
|
||||
MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x400013fe /* SDIO_A_D2 */
|
||||
MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x400013fe /* SDIO_A_D3 */
|
||||
MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
|
||||
* Copyright (c) 2022-2024 TQ-Systems GmbH <linux@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Markus Niebel
|
||||
* Author: Alexander Stein
|
||||
@@ -26,8 +26,8 @@
|
||||
|
||||
aliases {
|
||||
eeprom0 = &eeprom0;
|
||||
ethernet0 = &fec;
|
||||
ethernet1 = &eqos;
|
||||
ethernet0 = &eqos;
|
||||
ethernet1 = &fec;
|
||||
rtc0 = &pcf85063;
|
||||
rtc1 = &bbnsm_rtc;
|
||||
};
|
||||
@@ -448,38 +448,38 @@
|
||||
"WLAN_PERST#", "12V_EN";
|
||||
|
||||
/*
|
||||
* Controls the WiFi card PD pin which is low active
|
||||
* as power down signal. The output-high states, the signal
|
||||
* is active, e.g. card is powered down
|
||||
* Controls the WiFi card's low-active power down pin.
|
||||
* The output-low states, the signal is inactive,
|
||||
* resulting in high signal at power-down pin
|
||||
*/
|
||||
wlan-pd-hog {
|
||||
gpio-hog;
|
||||
gpios = <4 GPIO_ACTIVE_LOW>;
|
||||
output-high;
|
||||
output-low;
|
||||
line-name = "WLAN_PD#";
|
||||
};
|
||||
|
||||
/*
|
||||
* Controls the WiFi card disable pin which is low active
|
||||
* as disable signal. The output-high states, the signal
|
||||
* is active, e.g. card is disabled
|
||||
* Controls the WiFi card's low-active disable pin.
|
||||
* The output-low states, the signal is inactive,
|
||||
* resulting in high signal at power-down pin
|
||||
*/
|
||||
wlan-wdisable-hog {
|
||||
gpio-hog;
|
||||
gpios = <5 GPIO_ACTIVE_LOW>;
|
||||
output-high;
|
||||
output-low;
|
||||
line-name = "WLAN_W_DISABLE#";
|
||||
};
|
||||
|
||||
/*
|
||||
* Controls the WiFi card reset pin which is low active
|
||||
* as reset signal. The output-high states, the signal
|
||||
* is active, e.g. card in reset
|
||||
* Controls the WiFi card's reset pin.
|
||||
* The output-low states, the signal is inactive,
|
||||
* resulting in high signal at power-down pin
|
||||
*/
|
||||
wlan-perst-hog {
|
||||
gpio-hog;
|
||||
gpios = <6 GPIO_ACTIVE_LOW>;
|
||||
output-high;
|
||||
output-low;
|
||||
line-name = "WLAN_PERST#";
|
||||
};
|
||||
};
|
||||
@@ -755,12 +755,6 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcf85063: pcf85063grp {
|
||||
fsl,pins = <
|
||||
MX93_PAD_SAI1_RXD0__GPIO1_IO14 0x1000
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_mipi_csi: mipicsigrp {
|
||||
fsl,pins = <
|
||||
MX93_PAD_CCM_CLKO3__CCMSRCGPCMIX_CLKO3 0x051e /* MCLK */
|
||||
@@ -769,6 +763,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcf85063: pcf85063grp {
|
||||
fsl,pins = <
|
||||
MX93_PAD_SAI1_RXD0__GPIO1_IO14 0x1000
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pexp_irq: pexpirqgrp {
|
||||
fsl,pins = <
|
||||
/* HYS | FSEL_0 | No DSE */
|
||||
@@ -783,13 +783,6 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_temp_sensor_som: tempsensorsomgrp {
|
||||
fsl,pins = <
|
||||
/* HYS | FSEL_0 | no DSE */
|
||||
MX93_PAD_SAI1_TXFS__GPIO1_IO11 0x1000
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_tc9595: tc9595-grp {
|
||||
fsl,pins = <
|
||||
/* HYS | PD | FSEL_0 | no DSE */
|
||||
@@ -797,6 +790,13 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_temp_sensor_som: tempsensorsomgrp {
|
||||
fsl,pins = <
|
||||
/* HYS | FSEL_0 | no DSE */
|
||||
MX93_PAD_SAI1_TXFS__GPIO1_IO11 0x1000
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_tpm5: tpm5grp {
|
||||
fsl,pins = <
|
||||
MX93_PAD_GPIO_IO06__TPM5_CH0 0x57e
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
|
||||
* Copyright (c) 2022-2024 TQ-Systems GmbH <linux@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Markus Niebel
|
||||
* Author: Alexander Stein
|
||||
@@ -26,8 +26,8 @@
|
||||
|
||||
aliases {
|
||||
eeprom0 = &eeprom0;
|
||||
ethernet0 = &fec;
|
||||
ethernet1 = &eqos;
|
||||
ethernet0 = &eqos;
|
||||
ethernet1 = &fec;
|
||||
rtc0 = &pcf85063;
|
||||
rtc1 = &bbnsm_rtc;
|
||||
};
|
||||
|
||||
@@ -1334,6 +1334,14 @@
|
||||
#index-cells = <1>;
|
||||
};
|
||||
|
||||
memory-controller@4e300000 {
|
||||
compatible = "nxp,imx9-memory-controller";
|
||||
reg = <0x4e300000 0x800>, <0x4e301000 0x1000>;
|
||||
reg-names = "ctrl", "inject";
|
||||
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
||||
little-endian;
|
||||
};
|
||||
|
||||
ddr-pmu@4e300dc0 {
|
||||
compatible = "fsl,imx93-ddr-pmu";
|
||||
reg = <0x4e300dc0 0x200>;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
#include <dt-bindings/usb/pd.h>
|
||||
#include "imx95.dtsi"
|
||||
|
||||
#define FALLING_EDGE 1
|
||||
@@ -317,6 +318,48 @@
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
ptn5110: tcpc@50 {
|
||||
compatible = "nxp,ptn5110", "tcpci";
|
||||
reg = <0x50>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_typec>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
typec_con: connector {
|
||||
compatible = "usb-c-connector";
|
||||
label = "USB-C";
|
||||
power-role = "dual";
|
||||
data-role = "dual";
|
||||
try-power-role = "sink";
|
||||
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
|
||||
sink-pdos = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>;
|
||||
op-sink-microwatt = <0>;
|
||||
self-powered;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
typec_con_hs: endpoint {
|
||||
remote-endpoint = <&usb3_data_hs>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
typec_con_ss: endpoint {
|
||||
remote-endpoint = <&usb3_data_ss>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lpuart1 {
|
||||
@@ -418,6 +461,40 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_dwc3 {
|
||||
dr_mode = "otg";
|
||||
hnp-disable;
|
||||
srp-disable;
|
||||
adp-disable;
|
||||
usb-role-switch;
|
||||
role-switch-default-mode = "peripheral";
|
||||
snps,dis-u1-entry-quirk;
|
||||
snps,dis-u2-entry-quirk;
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
usb3_data_hs: endpoint {
|
||||
remote-endpoint = <&typec_con_hs>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb3_phy {
|
||||
fsl,phy-tx-preemp-amp-tune-microamp = <600>;
|
||||
orientation-switch;
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
usb3_data_ss: endpoint {
|
||||
remote-endpoint = <&typec_con_ss>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usdhc1 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
@@ -676,6 +753,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_typec: typecgrp {
|
||||
fsl,pins = <
|
||||
IMX95_PAD_GPIO_IO34__GPIO5_IO_BIT14 0x31e
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_gpio: usdhc2gpiogrp {
|
||||
fsl,pins = <
|
||||
IMX95_PAD_SD2_CD_B__GPIO3_IO_BIT0 0x31e
|
||||
|
||||
@@ -291,6 +291,13 @@
|
||||
clock-output-names = "sai5_mclk";
|
||||
};
|
||||
|
||||
clk_sys100m: clock-sys100m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <100000000>;
|
||||
clock-output-names = "clk_sys100m";
|
||||
};
|
||||
|
||||
osc_24m: clock-24m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
@@ -673,6 +680,19 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i3c2: i3c@42520000 {
|
||||
compatible = "silvaco,i3c-master-v1";
|
||||
reg = <0x42520000 0x10000>;
|
||||
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&scmi_clk IMX95_CLK_BUSAON>,
|
||||
<&scmi_clk IMX95_CLK_I3C2>,
|
||||
<&scmi_clk IMX95_CLK_I3C2SLOW>;
|
||||
clock-names = "pclk", "fast_clk", "slow_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c3: i2c@42530000 {
|
||||
compatible = "fsl,imx95-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x42530000 0x10000>;
|
||||
@@ -1245,6 +1265,19 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i3c1: i3c@44330000 {
|
||||
compatible = "silvaco,i3c-master-v1";
|
||||
reg = <0x44330000 0x10000>;
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&scmi_clk IMX95_CLK_BUSAON>,
|
||||
<&scmi_clk IMX95_CLK_I3C1>,
|
||||
<&scmi_clk IMX95_CLK_I3C1SLOW>;
|
||||
clock-names = "pclk", "fast_clk", "slow_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c1: i2c@44340000 {
|
||||
compatible = "fsl,imx95-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x44340000 0x10000>;
|
||||
@@ -1379,6 +1412,7 @@
|
||||
<GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&scmi_clk IMX95_CLK_ADC>;
|
||||
clock-names = "ipg";
|
||||
#io-channel-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -1537,6 +1571,56 @@
|
||||
};
|
||||
};
|
||||
|
||||
usb3: usb@4c010010 {
|
||||
compatible = "fsl,imx95-dwc3", "fsl,imx8mp-dwc3";
|
||||
reg = <0x0 0x4c010010 0x0 0x04>,
|
||||
<0x0 0x4c1f0000 0x0 0x20>;
|
||||
clocks = <&scmi_clk IMX95_CLK_HSIO>,
|
||||
<&scmi_clk IMX95_CLK_32K>;
|
||||
clock-names = "hsio", "suspend";
|
||||
interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>;
|
||||
dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>;
|
||||
status = "disabled";
|
||||
|
||||
usb3_dwc3: usb@4c100000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x4c100000 0x0 0x10000>;
|
||||
clocks = <&scmi_clk IMX95_CLK_HSIO>,
|
||||
<&scmi_clk IMX95_CLK_24M>,
|
||||
<&scmi_clk IMX95_CLK_32K>;
|
||||
clock-names = "bus_early", "ref", "suspend";
|
||||
interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
|
||||
phys = <&usb3_phy>, <&usb3_phy>;
|
||||
phy-names = "usb2-phy", "usb3-phy";
|
||||
snps,gfladj-refclk-lpm-sel-quirk;
|
||||
snps,parkmode-disable-ss-quirk;
|
||||
iommus = <&smmu 0xe>;
|
||||
};
|
||||
};
|
||||
|
||||
hsio_blk_ctl: syscon@4c0100c0 {
|
||||
compatible = "nxp,imx95-hsio-blk-ctl", "syscon";
|
||||
reg = <0x0 0x4c0100c0 0x0 0x1>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&clk_sys100m>;
|
||||
power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>;
|
||||
};
|
||||
|
||||
usb3_phy: phy@4c1f0040 {
|
||||
compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy";
|
||||
reg = <0x0 0x4c1f0040 0x0 0x40>,
|
||||
<0x0 0x4c1fc000 0x0 0x100>;
|
||||
clocks = <&scmi_clk IMX95_CLK_HSIO>;
|
||||
clock-names = "phy";
|
||||
#phy-cells = <0>;
|
||||
power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pcie0: pcie@4c300000 {
|
||||
compatible = "fsl,imx95-pcie";
|
||||
reg = <0 0x4c300000 0 0x10000>,
|
||||
@@ -1564,8 +1648,9 @@
|
||||
clocks = <&scmi_clk IMX95_CLK_HSIO>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPLL>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPLL_VCO>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPCIEAUX>;
|
||||
clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux";
|
||||
<&scmi_clk IMX95_CLK_HSIOPCIEAUX>,
|
||||
<&hsio_blk_ctl 0>;
|
||||
clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux", "ref";
|
||||
assigned-clocks =<&scmi_clk IMX95_CLK_HSIOPLL_VCO>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPLL>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPCIEAUX>;
|
||||
@@ -1573,6 +1658,12 @@
|
||||
assigned-clock-parents = <0>, <0>,
|
||||
<&scmi_clk IMX95_CLK_SYSPLL1_PFD1_DIV2>;
|
||||
power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>;
|
||||
/* pcie0's Devid(BIT[7:6]) is 0x00, stream id(BIT[5:0]) is 0x10~0x17 */
|
||||
msi-map = <0x0 &its 0x10 0x1>,
|
||||
<0x100 &its 0x11 0x7>;
|
||||
iommu-map = <0x000 &smmu 0x10 0x1>,
|
||||
<0x100 &smmu 0x11 0x7>;
|
||||
iommu-map-mask = <0x1ff>;
|
||||
fsl,max-link-speed = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1631,8 +1722,9 @@
|
||||
clocks = <&scmi_clk IMX95_CLK_HSIO>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPLL>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPLL_VCO>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPCIEAUX>;
|
||||
clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux";
|
||||
<&scmi_clk IMX95_CLK_HSIOPCIEAUX>,
|
||||
<&hsio_blk_ctl 0>;
|
||||
clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux", "ref";
|
||||
assigned-clocks =<&scmi_clk IMX95_CLK_HSIOPLL_VCO>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPLL>,
|
||||
<&scmi_clk IMX95_CLK_HSIOPCIEAUX>;
|
||||
@@ -1640,6 +1732,14 @@
|
||||
assigned-clock-parents = <0>, <0>,
|
||||
<&scmi_clk IMX95_CLK_SYSPLL1_PFD1_DIV2>;
|
||||
power-domains = <&scmi_devpd IMX95_PD_HSIO_TOP>;
|
||||
/* pcie1's Devid(BIT[7:6]) is 0x10, stream id(BIT[5:0]) is 0x18~0x1f */
|
||||
msi-map = <0x0 &its 0x98 0x1>,
|
||||
<0x100 &its 0x99 0x7>;
|
||||
msi-map-mask = <0x1ff>;
|
||||
/* smmu have not Devid(BIT[7:6]) */
|
||||
iommu-map = <0x000 &smmu 0x18 0x1>,
|
||||
<0x100 &smmu 0x19 0x7>;
|
||||
iommu-map-mask = <0x1ff>;
|
||||
fsl,max-link-speed = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
sound {
|
||||
compatible = "fsl,imx-audio-tlv320aic32x4";
|
||||
model = "imx-audio-tlv320aic32x4";
|
||||
model = "tqm-tlv320aic32";
|
||||
ssi-controller = <&sai3>;
|
||||
audio-codec = <&tlv320aic3x04>;
|
||||
};
|
||||
|
||||
@@ -36,6 +36,13 @@
|
||||
stdout-path = &lpuart1;
|
||||
};
|
||||
|
||||
/* Non-controllable PCIe reference clock generator */
|
||||
pcie_refclk: clock-pcie-ref {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
@@ -208,6 +215,12 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hsio_phy {
|
||||
fsl,hsio-cfg = "pciea-x2-pcieb";
|
||||
fsl,refclk-pad-mode = "input";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
tlv320aic3x04: audio-codec@18 {
|
||||
compatible = "ti,tlv320aic32x4";
|
||||
@@ -309,7 +322,15 @@
|
||||
"", "", "", "";
|
||||
};
|
||||
|
||||
/* TODO: Mini-PCIe */
|
||||
&pcieb {
|
||||
phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
|
||||
phy-names = "pcie-phy";
|
||||
pinctrl-0 = <&pinctrl_pcieb>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
|
||||
vpcie-supply = <®_pcie_1v5>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai1 {
|
||||
assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
|
||||
@@ -467,10 +488,10 @@
|
||||
fsl,pins = <IMX8QXP_USDHC1_RESET_B_LSIO_GPIO4_IO19 0x00000020>;
|
||||
};
|
||||
|
||||
pinctrl_pcieb: pcieagrp {
|
||||
fsl,pins = <IMX8QXP_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO00 0x06000041>,
|
||||
<IMX8QXP_PCIE_CTRL0_CLKREQ_B_LSIO_GPIO4_IO01 0x06000041>,
|
||||
<IMX8QXP_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO02 0x04000041>;
|
||||
pinctrl_pcieb: pciebgrp {
|
||||
fsl,pins = <IMX8QXP_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO00 0x06000041>,
|
||||
<IMX8QXP_PCIE_CTRL0_CLKREQ_B_HSIO_PCIE0_CLKREQ_B 0x06000041>,
|
||||
<IMX8QXP_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO02 0x04000041>;
|
||||
};
|
||||
|
||||
pinctrl_reg_pcie_1v5: regpcie1v5grp {
|
||||
|
||||
@@ -317,6 +317,49 @@
|
||||
};
|
||||
};
|
||||
|
||||
edma0: dma-controller@40144000 {
|
||||
compatible = "nxp,s32g2-edma";
|
||||
reg = <0x40144000 0x24000>,
|
||||
<0x4012c000 0x3000>,
|
||||
<0x40130000 0x3000>;
|
||||
#dma-cells = <2>;
|
||||
dma-channels = <32>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-0-15",
|
||||
"tx-16-31",
|
||||
"err";
|
||||
clocks = <&clks 63>, <&clks 64>;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
};
|
||||
|
||||
can0: can@401b4000 {
|
||||
compatible = "nxp,s32g2-flexcan";
|
||||
reg = <0x401b4000 0xa000>;
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can1: can@401be000 {
|
||||
compatible = "nxp,s32g2-flexcan";
|
||||
reg = <0x401be000 0xa000>;
|
||||
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart0: serial@401c8000 {
|
||||
compatible = "nxp,s32g2-linflexuart",
|
||||
"fsl,s32v234-linflexuart";
|
||||
@@ -333,6 +376,82 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c0: i2c@401e4000 {
|
||||
compatible = "nxp,s32g2-i2c";
|
||||
reg = <0x401e4000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@401e8000 {
|
||||
compatible = "nxp,s32g2-i2c";
|
||||
reg = <0x401e8000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@401ec000 {
|
||||
compatible = "nxp,s32g2-i2c";
|
||||
reg = <0x401ec000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
edma1: dma-controller@40244000 {
|
||||
compatible = "nxp,s32g2-edma";
|
||||
reg = <0x40244000 0x24000>,
|
||||
<0x4022c000 0x3000>,
|
||||
<0x40230000 0x3000>;
|
||||
#dma-cells = <2>;
|
||||
dma-channels = <32>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-0-15",
|
||||
"tx-16-31",
|
||||
"err";
|
||||
clocks = <&clks 63>, <&clks 64>;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
};
|
||||
|
||||
can2: can@402a8000 {
|
||||
compatible = "nxp,s32g2-flexcan";
|
||||
reg = <0x402a8000 0xa000>;
|
||||
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can3: can@402b2000 {
|
||||
compatible = "nxp,s32g2-flexcan";
|
||||
reg = <0x402b2000 0xa000>;
|
||||
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart2: serial@402bc000 {
|
||||
compatible = "nxp,s32g2-linflexuart",
|
||||
"fsl,s32v234-linflexuart";
|
||||
@@ -341,6 +460,28 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@402d8000 {
|
||||
compatible = "nxp,s32g2-i2c";
|
||||
reg = <0x402d8000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c4: i2c@402dc000 {
|
||||
compatible = "nxp,s32g2-i2c";
|
||||
reg = <0x402dc000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usdhc0: mmc@402f0000 {
|
||||
compatible = "nxp,s32g2-usdhc";
|
||||
reg = <0x402f0000 0x1000>;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "s32g2.dtsi"
|
||||
#include "s32gxxxa-evb.dtsi"
|
||||
|
||||
/ {
|
||||
model = "NXP S32G2 Evaluation Board (S32G-VNP-EVB)";
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "s32g2.dtsi"
|
||||
#include "s32gxxxa-rdb.dtsi"
|
||||
|
||||
/ {
|
||||
model = "NXP S32G2 Reference Design Board 2 (S32G-VNP-RDB2)";
|
||||
|
||||
@@ -374,6 +374,51 @@
|
||||
};
|
||||
};
|
||||
|
||||
edma0: dma-controller@40144000 {
|
||||
compatible = "nxp,s32g3-edma", "nxp,s32g2-edma";
|
||||
reg = <0x40144000 0x24000>,
|
||||
<0x4012c000 0x3000>,
|
||||
<0x40130000 0x3000>;
|
||||
#dma-cells = <2>;
|
||||
dma-channels = <32>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-0-15",
|
||||
"tx-16-31",
|
||||
"err";
|
||||
clocks = <&clks 63>, <&clks 64>;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
};
|
||||
|
||||
can0: can@401b4000 {
|
||||
compatible = "nxp,s32g3-flexcan",
|
||||
"nxp,s32g2-flexcan";
|
||||
reg = <0x401b4000 0xa000>;
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can1: can@401be000 {
|
||||
compatible = "nxp,s32g3-flexcan",
|
||||
"nxp,s32g2-flexcan";
|
||||
reg = <0x401be000 0xa000>;
|
||||
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart0: serial@401c8000 {
|
||||
compatible = "nxp,s32g3-linflexuart",
|
||||
"fsl,s32v234-linflexuart";
|
||||
@@ -390,6 +435,87 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c0: i2c@401e4000 {
|
||||
compatible = "nxp,s32g3-i2c",
|
||||
"nxp,s32g2-i2c";
|
||||
reg = <0x401e4000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@401e8000 {
|
||||
compatible = "nxp,s32g3-i2c",
|
||||
"nxp,s32g2-i2c";
|
||||
reg = <0x401e8000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@401ec000 {
|
||||
compatible = "nxp,s32g3-i2c",
|
||||
"nxp,s32g2-i2c";
|
||||
reg = <0x401ec000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
edma1: dma-controller@40244000 {
|
||||
compatible = "nxp,s32g3-edma", "nxp,s32g2-edma";
|
||||
reg = <0x40244000 0x24000>,
|
||||
<0x4022c000 0x3000>,
|
||||
<0x40230000 0x3000>;
|
||||
#dma-cells = <2>;
|
||||
dma-channels = <32>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-0-15",
|
||||
"tx-16-31",
|
||||
"err";
|
||||
clocks = <&clks 63>, <&clks 64>;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
};
|
||||
|
||||
can2: can@402a8000 {
|
||||
compatible = "nxp,s32g3-flexcan",
|
||||
"nxp,s32g2-flexcan";
|
||||
reg = <0x402a8000 0xa000>;
|
||||
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can3: can@402b2000 {
|
||||
compatible = "nxp,s32g3-flexcan",
|
||||
"nxp,s32g2-flexcan";
|
||||
reg = <0x402b2000 0xa000>;
|
||||
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mb-0", "state", "berr", "mb-1";
|
||||
clocks = <&clks 9>, <&clks 11>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart2: serial@402bc000 {
|
||||
compatible = "nxp,s32g3-linflexuart",
|
||||
"fsl,s32v234-linflexuart";
|
||||
@@ -398,6 +524,30 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@402d8000 {
|
||||
compatible = "nxp,s32g3-i2c",
|
||||
"nxp,s32g2-i2c";
|
||||
reg = <0x402d8000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c4: i2c@402dc000 {
|
||||
compatible = "nxp,s32g3-i2c",
|
||||
"nxp,s32g2-i2c";
|
||||
reg = <0x402dc000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 40>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usdhc0: mmc@402f0000 {
|
||||
compatible = "nxp,s32g3-usdhc",
|
||||
"nxp,s32g2-usdhc";
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "s32g3.dtsi"
|
||||
#include "s32gxxxa-rdb.dtsi"
|
||||
|
||||
/ {
|
||||
model = "NXP S32G3 Reference Design Board 3 (S32G-VNP-RDB3)";
|
||||
@@ -39,6 +40,14 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
current-sensor@40 {
|
||||
compatible = "ti,ina231";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
||||
};
|
||||
|
||||
&usdhc0 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc0>;
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
|
||||
/*
|
||||
* Copyright 2024 NXP
|
||||
*
|
||||
* Authors: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>
|
||||
* Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>
|
||||
* Larisa Grigore <larisa.grigore@nxp.com>
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
can0_pins: can0-pins {
|
||||
can0-grp0 {
|
||||
pinmux = <0x2c1>;
|
||||
output-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can0-grp1 {
|
||||
pinmux = <0x2b0>;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can0-grp2 {
|
||||
pinmux = <0x2012>;
|
||||
};
|
||||
};
|
||||
|
||||
can2_pins: can2-pins {
|
||||
can2-grp0 {
|
||||
pinmux = <0x1b2>;
|
||||
output-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can2-grp1 {
|
||||
pinmux = <0x1c0>;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can2-grp2 {
|
||||
pinmux = <0x2782>;
|
||||
};
|
||||
};
|
||||
|
||||
can3_pins: can3-pins {
|
||||
can3-grp0 {
|
||||
pinmux = <0x192>;
|
||||
output-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can3-grp1 {
|
||||
pinmux = <0x1a0>;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can3-grp2 {
|
||||
pinmux = <0x2792>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0-pins {
|
||||
i2c0-grp0 {
|
||||
pinmux = <0x101>, <0x111>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c0-grp1 {
|
||||
pinmux = <0x2352>, <0x2362>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_gpio_pins: i2c0-gpio-pins {
|
||||
i2c0-gpio-grp0 {
|
||||
pinmux = <0x100>, <0x110>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c0-gpio-grp1 {
|
||||
pinmux = <0x2350>, <0x2360>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c1_pins: i2c1-pins {
|
||||
i2c1-grp0 {
|
||||
pinmux = <0x131>, <0x141>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c1-grp1 {
|
||||
pinmux = <0x2cd2>, <0x2ce2>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c1_gpio_pins: i2c1-gpio-pins {
|
||||
i2c1-gpio-grp0 {
|
||||
pinmux = <0x130>, <0x140>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c1-gpio-grp1 {
|
||||
pinmux = <0x2cd0>, <0x2ce0>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c2_pins: i2c2-pins {
|
||||
i2c2-grp0 {
|
||||
pinmux = <0x151>, <0x161>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c2-grp1 {
|
||||
pinmux = <0x2cf2>, <0x2d02>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c2_gpio_pins: i2c2-gpio-pins {
|
||||
i2c2-gpio-grp0 {
|
||||
pinmux = <0x150>, <0x160>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c2-gpio-grp1 {
|
||||
pinmux = <0x2cf0>, <0x2d00>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c4_pins: i2c4-pins {
|
||||
i2c4-grp0 {
|
||||
pinmux = <0x211>, <0x222>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c4-grp1 {
|
||||
pinmux = <0x2d43>, <0x2d33>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c4_gpio_pins: i2c4-gpio-pins {
|
||||
i2c4-gpio-grp0 {
|
||||
pinmux = <0x210>, <0x220>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c4-gpio-grp1 {
|
||||
pinmux = <0x2d40>, <0x2d30>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&can0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&can2_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&can3_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-1 = <&i2c0_gpio_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
pinctrl-1 = <&i2c1_gpio_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
pinctrl-1 = <&i2c2_gpio_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
pinctrl-1 = <&i2c4_gpio_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,170 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
|
||||
/*
|
||||
* Copyright 2024 NXP
|
||||
*
|
||||
* Authors: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>
|
||||
* Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>
|
||||
* Larisa Grigore <larisa.grigore@nxp.com>
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
can0_pins: can0-pins {
|
||||
can0-grp0 {
|
||||
pinmux = <0x112>;
|
||||
output-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can0-grp1 {
|
||||
pinmux = <0x120>;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can0-grp2 {
|
||||
pinmux = <0x2013>;
|
||||
};
|
||||
};
|
||||
|
||||
can1_pins: can1-pins {
|
||||
can1-grp0 {
|
||||
pinmux = <0x132>;
|
||||
output-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can1-grp1 {
|
||||
pinmux = <0x140>;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
can1-grp2 {
|
||||
pinmux = <0x2772>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0-pins {
|
||||
i2c0-grp0 {
|
||||
pinmux = <0x1f2>, <0x201>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c0-grp1 {
|
||||
pinmux = <0x2353>, <0x2363>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_gpio_pins: i2c0-gpio-pins {
|
||||
i2c0-gpio-grp0 {
|
||||
pinmux = <0x1f0>, <0x200>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c0-gpio-grp1 {
|
||||
pinmux = <0x2350>, <0x2360>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c2_pins: i2c2-pins {
|
||||
i2c2-grp0 {
|
||||
pinmux = <0x151>, <0x161>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c2-grp1 {
|
||||
pinmux = <0x2cf2>, <0x2d02>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c2_gpio_pins: i2c2-gpio-pins {
|
||||
i2c2-gpio-grp0 {
|
||||
pinmux = <0x2cf0>, <0x2d00>;
|
||||
};
|
||||
|
||||
i2c2-gpio-grp1 {
|
||||
pinmux = <0x150>, <0x160>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c4_pins: i2c4-pins {
|
||||
i2c4-grp0 {
|
||||
pinmux = <0x211>, <0x222>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c4-grp1 {
|
||||
pinmux = <0x2d43>, <0x2d33>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c4_gpio_pins: i2c4-gpio-pins {
|
||||
i2c4-gpio-grp0 {
|
||||
pinmux = <0x210>, <0x220>;
|
||||
drive-open-drain;
|
||||
output-enable;
|
||||
input-enable;
|
||||
slew-rate = <133>;
|
||||
};
|
||||
|
||||
i2c4-gpio-grp1 {
|
||||
pinmux = <0x2d40>, <0x2d30>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&can0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&can1_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-1 = <&i2c0_gpio_pins>;
|
||||
status = "okay";
|
||||
|
||||
pcal6524: gpio-expander@22 {
|
||||
compatible = "nxp,pcal6524";
|
||||
reg = <0x22>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
pinctrl-1 = <&i2c2_gpio_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
pinctrl-1 = <&i2c4_gpio_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -65,6 +65,7 @@
|
||||
spi-max-frequency = <66000000>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
vcc-supply = <®_1v8>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
@@ -74,8 +75,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* TODO GPU */
|
||||
|
||||
&i2c1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -114,6 +113,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
&jpegdec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&jpegenc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&mu_m0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user