[PATCH v2] arm64: dts: imx8mm: imx8mp: Add DTOs for Data Modul i.MX8M Mini and Plus eDM SBC
Marek Vasut
marex at nabladev.com
Tue Apr 7 09:07:24 PDT 2026
On 4/7/26 3:58 AM, Frank Li wrote:
> On Mon, Apr 06, 2026 at 11:58:45PM +0200, Marek Vasut wrote:
>> Add DT overlay for feature connector expansion module eDM-MOD-iMX8Mm-FIO1
>> providing additional UARTs, CAN, PWM Beeper, I2C, SPI and GPIO breakout.
>> This adapter can be optionally populated onto the eDM SBC.
>>
>> Add DT overlay for the DSI-to-HDMI adapter eDM-MOD-iMX8Mm-HDMI populated
>> with Lontium LT9611 bridge. This adapter can be optionally populated onto
>> the eDM SBC.
>>
>> Add DT overlay for the DSI-to-LVDS adapter eDM-MOD-iMX8Mm-LVDS populated
>> with Lontium LT9211 bridge. This adapter can be optionally populated onto
>> the eDM SBC. This adapter can be extended with multiple panels, currently
>> supported are the following:
>
> At least you can split to 3 patches to add these.
I did now, will send V3 patchset as 6 patches, but it won't help much
because most of the stuff is DSI-to-LVDS .
>> +#include "imx8mm-pinfunc.h"
>> +#include "imx8mm-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtsi"
>> +
>> +&can_fio {
>> + interrupts-extended = <&gpio4 25 IRQ_TYPE_LEVEL_LOW>;
>
> Now, I have not good ways to unify this information for difference boards
> yet. It is quite common user case, let me think more.
It is a different interrupt line on these two boards.
>> +};
>> +
>> +&iomuxc {
>> + pinctrl_codec_mclk: codec-mclk_feature-grp {
>> + fsl,pins = <
>> + /* GPIO4_IO27 */
>> + MX8MM_IOMUXC_SAI2_MCLK_SAI5_MCLK 0x2
>> + >;
>> + };
>> +
>> + pinctrl_sai2: sai2_feature-grp {
>> + fsl,pins = <
>> + MX8MM_IOMUXC_SAI2_RXC_SAI2_RX_BCLK 0x90
>> + MX8MM_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0x96
>> + MX8MM_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0 0x90
>> + MX8MM_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0x96
>> + >;
>> + };
>
> I think this part should be in main boards's dts file, there should have
> hardware plug header, which include these signals.
>
> If there are other added on boards, add-on dtso can resuse the label,
> pinctrl_sai2 and pinctrl_codec_mclk.
No, not really, the audio-board is a bit of an outlier so I would prefer
to keep the audio-board specific changes in the audio-board DTO instead
of polluting the base DT with its specifics.
>> +};
>> +
>> +&pinctrl_hog_feature {
>> + fsl,pins = <
>> + /* GPIO5_IO03 */
>> + MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3 0x40000006
>> + /* GPIO5_IO04 */
>> + MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4 0x40000006
>> +
>> + /* CAN_INT# */
>> + MX8MM_IOMUXC_SAI2_TXC_GPIO4_IO25 0x40000090
>> + >;
>> +};
>> +
>> +&sai2 {
>> + assigned-clocks = <&clk IMX8MM_CLK_SAI2>;
>> + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
>> + fsl,sai-bit-clock-swap;
>> +};
>> +
>> +&sgtl5000_fio {
>> + VDDA-supply = <&buck4_reg>;
>> + VDDD-supply = <&buck5_reg>;
>> + VDDIO-supply = <&buck4_reg>;
>
> buck4_reg can provide addtional label, such as porta_vdd ..., so needn't
> this sections.
I simply renamed the base DT regulator names to buckN_reg and ldoN_reg
for both MX8MM and MX8MP eDM SBC , no need for additional labels .
>> +};
>> +
>> +&spba2 {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> +
>> + sai5clk: clock-controller at 30050000 { /* SAI5 */
>> + compatible = "fsl,imx8mm-sai-clock", "fsl,imx8mq-sai-clock";
>> + reg = <0x30050000 0x10000>;
>> + #clock-cells = <1>;
>
> Not sure why need overwrite these informaiton here, suppose it should be
> the same for Soc.
I don't quite understand this comment, I am adding a node separate from
the sai5 node, so I won't end up pulling in unrelated properties for the
"fsl,imx8mm-sai-clock" (which is not "fsl,imx8mm-sai").
More information about the linux-arm-kernel
mailing list