diff options
author | Arnd Bergmann <arnd@arndb.de> | 2024-03-01 15:37:49 +0300 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2024-03-01 15:37:57 +0300 |
commit | 06d179e31ce8651bd04822cd174cf342a21f30e9 (patch) | |
tree | bcf8e79867b7aaed2ec7a77953bee1e6a912d49b /arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts | |
parent | a634daed69171b2f959a63291d48beadbafc4a4f (diff) | |
parent | da96424168aa85be683f418414cbfa8b35283186 (diff) | |
download | linux-06d179e31ce8651bd04822cd174cf342a21f30e9.tar.xz |
Merge tag 'imx-dt64-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt
i.MX arm64 device tree for 6.9:
- New board support: Apalis eval v1.2 carrier board, Variscite
VAR-SOM-MX93, phyBOARD-Segin-i.MX93.
- A series from Adam Ford to enable bluetooth, configure multiple queues
on eqos, remove unnecessary clock configuration for i.MX8 Beacon boards.
- Several changesets from Alexander Stein to add i.MX8DXP support, enable
audio and GPU for i.MX8QXP, re-parent MEDIA_MIPI_PHY1_REF clock for
i.MX8MP, and improve MBA8xx board description.
- A few dt-schema fixes from Fabio Estevam for i.MX8MM and i.MX93 devices.
- A bunch of changes from Frank Li to improve i.MX8QM and i.MX8DXL
support, correcting edma3 power-domains and interrupt numbers, adding
I2C, FlexCAN and SMMU devices, etc.
- A series from Frieder Schrempf to improve imx8mm-kontron board
descriptions, disabling pulls, fixing up RTC device, adding EEPROM,
and refactoring OSM-S module, etc.
- A set of Data Modul i.MX8M Plus eDM SBC improvements from Marek Vasut.
- A series from Shengjiu Wang to add PDM micphone and SPDIF sound card
support for imx8mm-evk board.
- A series of imx8mm-venice boards improvement from Tim Harvey to add
TPM device, fix USB OTG VBUS etc.
- Other small and random improvements on various boards.
* tag 'imx-dt64-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (77 commits)
arm64: dts: imx8mm-kontron-bl-osm-s: Fix Ethernet PHY compatible
arm64: dts: imx8-apalis-v1.1: Remove reset-names from ethernet-phy
arm64: dts: imx8mp-evk: Fix hdmi@3d node
arm64: dts: imx93-var-som: Remove phy-supply from eqos
arm64: dts: imx8mp-phyboard-pollux: Disable pull-up for CD GPIO
arm64: dts: imx8mp-phyboard-pollux: Reduce drive strength for eqos tx lines
arm64: dts: imx8mp-phyboard-pollux: Set debug uart muxing to 0x140
arm64: dts: imx8mp-phyboard-pollux: Add and update rtc devicetree node
arm64: dts: imx8mm-evk: Add spdif sound card support
arm64: dts: mba8xx: Add missing #interrupt-cells
arm64: dts: imx8mp: Set SPI NOR to max 40 MHz on Data Modul i.MX8M Plus eDM SBC
arm64: dts: imx8mn: tqma8mqnl-mba8mx: Add USB DR overlay
arm64: dts: imx8mq: tqma8mq-mba8mx: Add missing USB vbus supply
arm64: dts: freescale: imx8mm/imx8mq: mba8mx: Use PCIe clock generator
arm64: dts: imx8mn-beacon: Remove unnecessary clock configuration
arm64: dts: imx8mn: Slow default video_pll clock rate
arm64: dts: imx8mp-beacon: Configure multiple queues on eqos
arm64: dts: imx8mp-beacon: Enable Bluetooth
arm64: dts: freescale: minor whitespace cleanup
arm64: dts: lx2160a: Fix DTS for full PL011 UART
...
Link: https://lore.kernel.org/r/20240226034147.233993-4-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts')
-rw-r--r-- | arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts | 82 |
1 files changed, 80 insertions, 2 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts b/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts index 5828c9d7821d..7e1b58dbe23a 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts +++ b/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts @@ -6,6 +6,7 @@ /dts-v1/; #include <dt-bindings/net/qca-ar803x.h> +#include <dt-bindings/phy/phy-imx8-pcie.h> #include "imx8mp.dtsi" / { @@ -45,6 +46,19 @@ clock-frequency = <25000000>; }; + clk_pwm4: clock-pwm4 { + compatible = "pwm-clock"; + #clock-cells = <0>; + clock-frequency = <12000000>; + clock-output-names = "codec-pwm4"; + /* + * 1 / 83 ns ~= 12 MHz , but since the PWM input clock is 24 MHz + * and the calculated PWM period is 1 and duty cycle is 50%, the + * result is exactly 12 MHz, which is fine for SGTL5000 MCLK. + */ + pwms = <&pwm4 0 83 0>; + }; + panel: panel { /* Compatible string is filled in by panel board DT Overlay. */ backlight = <&backlight>; @@ -82,6 +96,24 @@ vin-supply = <&buck4>; }; + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "SGTL5000-Card"; + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&codec_dai>; + simple-audio-card,frame-master = <&codec_dai>; + simple-audio-card,widgets = "Headphone", "Headphone Jack"; + simple-audio-card,routing = "Headphone Jack", "HP_OUT"; + + cpu_dai: simple-audio-card,cpu { + sound-dai = <&sai3>; + }; + + codec_dai: simple-audio-card,codec { + sound-dai = <&sgtl5000>; + }; + }; + watchdog { /* TPS3813 */ compatible = "linux,wdt-gpio"; pinctrl-names = "default"; @@ -121,7 +153,7 @@ flash@0 { /* W25Q128JVEI */ compatible = "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <100000000>; /* Up to 133 MHz */ + spi-max-frequency = <40000000>; spi-tx-bus-width = <1>; spi-rx-bus-width = <1>; }; @@ -288,6 +320,15 @@ sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; status = "okay"; + sgtl5000: audio-codec@a { + compatible = "fsl,sgtl5000"; + reg = <0x0a>; + #sound-dai-cells = <0>; + clocks = <&clk_pwm4>; + VDDA-supply = <&buck4>; + VDDIO-supply = <&buck4>; + }; + usb-hub@2c { compatible = "microchip,usb2514bi"; reg = <0x2c>; @@ -429,6 +470,21 @@ status = "okay"; }; +&pcie_phy { + clocks = <&pcieclk 0>; + clock-names = "ref"; + fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; + status = "okay"; +}; + +&pcie { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pcie0>; + fsl,max-link-speed = <3>; + reset-gpio = <&gpio1 5 GPIO_ACTIVE_LOW>; + status = "okay"; +}; + &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_panel_pwm>; @@ -436,6 +492,23 @@ status = "disabled"; }; +&pwm4 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm4>; + status = "okay"; +}; + +&sai3 { + #clock-cells = <0>; + #sound-dai-cells = <0>; + assigned-clocks = <&clk IMX8MP_CLK_SAI3>; + assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; + assigned-clock-rates = <12288000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai3>; + status = "okay"; +}; + /* SD slot */ &usdhc2 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; @@ -785,6 +858,12 @@ >; }; + pinctrl_pwm4: pwm4-grp { + fsl,pins = < + MX8MP_IOMUXC_SAI3_MCLK__PWM4_OUT 0xd6 + >; + }; + pinctrl_rtc: rtc-grp { fsl,pins = < /* RTC_IRQ# */ @@ -816,7 +895,6 @@ MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6 MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6 - MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6 MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6 >; }; |