This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:尝试在 SK-AM62评估板上与 LCD 一起使用 SPI2

Guru**** 667810 points
Other Parts Discussed in Thread: SK-AM62, ADC128S052, TCA6424
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1210062/am625-trying-to-use-spi2-on-sk-am62-evaluation-board-along-with-lcd

器件型号:AM625
主题中讨论的其他器件:SK-AM62ADC128S052TCA6424

我使用的是 SK-AM62 评估板。 我正在尝试在 J3连接器上使用 SPI2。 另外、我尝试将 LCD 与评估板一起使用。 我连接了一个 SPI 模块- ADC128S052。 为了启动 SPI2和 LCD、我已经对  K3-am625-sk.dts 文件进行了更改:-

// SPDX-License-Identifier: GPL-2.0
/*
 * AM625 SK: www.ti.com/.../sprr448
 *
 * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;

#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/pinctrl/k3.h>
#include <dt-bindings/interrupt-controller/irq.h>

#include "k3-am625.dtsi"
#include "k3-am62x-sk-common.dtsi"



//#include "k3-am62x-lp-sk-oldi-panel.dts"

/ {
	compatible =  "ti,am625-sk", "ti,am625";
    model = "Platform-AM625-SK-13mar2023";

    transceiver1: can-phy0 {
		compatible = "ti,tcan1042";
		#phy-cells = <0>;
		max-bitrate = <5000000>;
	};
    
    display {
            compatible = "microtips,13-101hieb0hf0-s";
            /*
            * Note that the OLDI TX 0 transmits the odd set of pixels
            * while the OLDI TX 1 transmits the even set. This is a
            * fixed configuration in the IP integration and is not
            * changeable. The properties, "dual-lvds-odd-pixels" and
            * "dual-lvds-even-pixels" have been used to merely
            * identify if a Dual Link configuration is required.
            * Swapping them will not make any difference.
            */
            port@0 {
                dual-lvds-odd-pixels;
                lcd_in0: endpoint {
                    remote-endpoint = <&oldi_out0>;
                };
            };

            port@1 {
                dual-lvds-even-pixels;
                lcd_in1: endpoint {
                    remote-endpoint = <&oldi_out1>;
                };
            };
    };

	wlan_lten: regulator-5 {
		compatible = "regulator-fixed";
		regulator-name = "wlan_lten";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		vin-supply = <&vcc_3v3_sys>;
		gpios = <&exp1 11 GPIO_ACTIVE_LOW>;
	};

	wlan_en: regulator-6 {
		/* OUTPUT of SN74AVC2T244DQMR */
		compatible = "regulator-fixed";
		regulator-name = "wlan_en";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		enable-active-high;
		vin-supply = <&wlan_lten>;
		gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&wlan_en_pins_default>;
	};
};

&main_pmx0 {
	wlan_en_pins_default: wlan-en-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x124, PIN_OUTPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */
		>;
	};

	main_mmc2_pins_default: main-mmc2-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
			AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
			AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
			AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
			AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
			AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
			AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
		>;
	};

	main_wlirq_pins_default: main-wlirq-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
		>;
	};
    
    main_spi2_pins_default: main-spi2-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x1B0, PIN_INPUT, 1)   /* (A20) SPI2_CLK pins  on expansion Header*/
            AM62X_IOPAD(0x1AC, PIN_OUTPUT, 1)  /* (E19) SPI2_CS0 pins on expansion Header */
            AM62X_IOPAD(0x194, PIN_INPUT, 1)   /* (B19) SPI2_D0 pins on expansion Header */
            AM62X_IOPAD(0x198, PIN_INPUT, 1)   /* (A19) SPI2_D1 pins on expansion Header */
		>; 
	};   
    main_mcan0_pins_default: main-mcan0-pins-default {
        pinctrl-single,pins = <
            AM62X_IOPAD(0x1dc, PIN_INPUT, 0)  /* (E15) MCAN0_RX */
            AM62X_IOPAD(0x1d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */
        >;    
    };   
    
   	main_oldi0_pins_default: main-oldi0-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
			AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
			AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
			AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
			AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
			AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
			AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
			AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
			AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
			AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
			AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
			AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
			AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
			AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
			AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
			AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
			AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
			AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
			AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
			AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
		>;
	};    
};

&main_mcan0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_mcan0_pins_default>;
	phys = <&transceiver1>;
};

&mcu_pmx0 {
    /* MPU_I2C0_SCL -> MPU_I2C3_RTC_SCL & MPU_I2C0_SDA -> MPU_I2C3_RTC_SDA */
    /* These pins are pulled high on hardware */
	mcu_i2c0_pins_default: mcu_i2c0-pins-default {
		 pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0)   /* (A8) MCU_I2C0_SCL */
			AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0)   /* (D10) MCU_I2C0_SDA */
		>;
	};
};

&mcu_i2c0 {	
    status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_i2c0_pins_default>;
	clock-frequency = <400000>;

	bq32000: rtc@68 {
               compatible = "ti,bq32000";
               //trickle-resistor-ohms = <1120>;
               reg = <0x68>;
       };
};
/************************************************************************************/
&dss {
	pinctrl-names = "default";
	pinctrl-0 = <&main_oldi0_pins_default &main_dss0_pins_default>;
};

&dss_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	/* VP1: LVDS Output (OLDI TX 0) */
	port@0 {
		reg = <0>;
		oldi_out0: endpoint {
			remote-endpoint = <&lcd_in0>;
		};
	};

	/* VP1: LVDS Output (OLDI TX 1) */
	port@2 {
		reg = <2>;
		oldi_out1: endpoint {
			remote-endpoint = <&lcd_in1>;
		};
	};
};

&main_i2c1 {
	exp1: gpio@22 {
		compatible = "ti,tca6424";
		reg = <0x22>;
		gpio-controller;
		#gpio-cells = <2>;
		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
				   "PRU_DETECT", "MMC1_SD_EN",
				   "VPP_LDO_EN", "EXP_PS_3V3_En",
				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
				   "UART1_FET_BUF_EN", "WL_LT_EN",
				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
				   "CSI_GPIO2", "PRU_3V3_EN",
				   "HDMI_INTn", "TEST_GPIO2",
				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
				   "MCASP1_FET_SEL", "UART1_FET_SEL",
				   "TSINT#", "IO_EXP_TEST_LED";

		interrupt-parent = <&main_gpio1>;
		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
		interrupt-controller;
		#interrupt-cells = <2>;

		pinctrl-names = "default";
		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
	};
};

&sdhci2 {
	vmmc-supply = <&wlan_en>;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc2_pins_default>;
	bus-width = <4>;
	non-removable;
	ti,fails-without-test-cd;
	cap-power-off-card;
	keep-power-in-suspend;
	ti,driver-strength-ohm = <50>;
	assigned-clocks = <&k3_clks 157 158>;
	assigned-clock-parents = <&k3_clks 157 160>;

	#address-cells = <1>;
	#size-cells = <0>;
	wlcore: wlcore@2 {
		compatible = "ti,wl1837";
		reg = <2>;
		pinctrl-names = "default";
		pinctrl-0 = <&main_wlirq_pins_default>;
		interrupt-parent = <&main_gpio0>;
		interrupts = <72 IRQ_TYPE_EDGE_FALLING>;
	};
};

&ospi0 {
	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-tx-bus-width = <8>;
		spi-rx-bus-width = <8>;
		spi-max-frequency = <25000000>;
		cdns,tshsl-ns = <60>;
		cdns,tsd2d-ns = <60>;
		cdns,tchsh-ns = <60>;
		cdns,tslch-ns = <60>;
		cdns,read-delay = <4>;
		cdns,phy-mode;

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "ospi.tiboot3";
				reg = <0x0 0x80000>;
			};

			partition@80000 {
				label = "ospi.tispl";
				reg = <0x80000 0x200000>;
			};

			partition@280000 {
				label = "ospi.u-boot";
				reg = <0x280000 0x400000>;
			};

			partition@680000 {
				label = "ospi.env";
				reg = <0x680000 0x40000>;
			};

			partition@6c0000 {
				label = "ospi.env.backup";
				reg = <0x6c0000 0x40000>;
			};

			partition@800000 {
				label = "ospi.rootfs";
				reg = <0x800000 0x37c0000>;
			};

			partition@3fc0000 {
				label = "ospi.phypattern";
				reg = <0x3fc0000 0x40000>;
			};
		};
	};
};
&main_spi2{
    pinctrl-names = "default";
 	pinctrl-0 = <&main_spi2_pins_default>;
    status = "okay";    
    adc@0 {
            compatible = "ti,adc128s052";
            reg = <0>;
            spi-max-frequency = <1000000>;
            #io-channel-cells = <1>;
        };
};

/*
&main_i2c0 {
	#address-cells = <1>;
	#size-cells = <0>;

	touchscreen@41 {
		compatible = "ilitek,ili251x";
		reg = <0x41>;
		interrupt-parent = <&exp1>;
		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
		reset-gpios = <&exp2 18 GPIO_ACTIVE_LOW>;
	};
};
*/

添加我的更改后、我观察到在"/sys/class/i2c-adapter/i2c-1 /"中不存在与 TCA6424相关的文件(因为此 IC 控制板上 J3连接器上的 SPI2)。  

此外、 /dev/中 没有与 SPI 相关的文件


我从'k3-am625-sk'中删除了与 LCD 相关的更改,现在我可以在 /sys/class/i2c-adapter/i2c-1中看到文件'1-0022',但在/dev 中没有与 SPI 相关的文件。 下面是我的不带 LCD 更改的 DTS 文件:-

// SPDX-License-Identifier: GPL-2.0
/*
 * AM625 SK: www.ti.com/.../sprr448
 *
 * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;

#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/pinctrl/k3.h>
#include <dt-bindings/interrupt-controller/irq.h>

#include "k3-am625.dtsi"
#include "k3-am62x-sk-common.dtsi"


/ {
        compatible =  "ti,am625-sk", "ti,am625";
    model = "Platform-AM625-SK-13mar2023";
	transceiver1: can-phy0 {
                compatible = "ti,tcan1042";
                #phy-cells = <0>;
                max-bitrate = <5000000>;
        };
	wlan_lten: regulator-5 {
                compatible = "regulator-fixed";
                regulator-name = "wlan_lten";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
                regulator-always-on;
                vin-supply = <&vcc_3v3_sys>;
                gpios = <&exp1 11 GPIO_ACTIVE_LOW>;
        };

        wlan_en: regulator-6 {
                /* OUTPUT of SN74AVC2T244DQMR */
                compatible = "regulator-fixed";
                regulator-name = "wlan_en";
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <1800000>;
                enable-active-high;
                vin-supply = <&wlan_lten>;
                gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&wlan_en_pins_default>;
        };
};

&main_pmx0 {
        wlan_en_pins_default: wlan-en-pins-default {
                pinctrl-single,pins = <
                        AM62X_IOPAD(0x124, PIN_OUTPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */
                >;
        };

        main_mmc2_pins_default: main-mmc2-pins-default {
                pinctrl-single,pins = <
                        AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
                        AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
                        AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
                        AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
                        AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
                        AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
                        AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
                >;
        };

        main_wlirq_pins_default: main-wlirq-pins-default {
                pinctrl-single,pins = <
                        AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
                >;
        };

    main_spi2_pins_default: main-spi2-pins-default {
                pinctrl-single,pins = <
                        AM62X_IOPAD(0x1B0, PIN_INPUT, 1)   /* (A20) SPI2_CLK pins  on expansion Header*/
            AM62X_IOPAD(0x1AC, PIN_OUTPUT, 1)  /* (E19) SPI2_CS0 pins on expansion Header */
            AM62X_IOPAD(0x194, PIN_INPUT, 1)   /* (B19) SPI2_D0 pins on expansion Header */
            AM62X_IOPAD(0x198, PIN_INPUT, 1)   /* (A19) SPI2_D1 pins on expansion Header */
                >;
        };
	main_mcan0_pins_default: main-mcan0-pins-default {
        pinctrl-single,pins = <
            AM62X_IOPAD(0x1dc, PIN_INPUT, 0)  /* (E15) MCAN0_RX */
            AM62X_IOPAD(0x1d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */
        >;
    };
};

&main_i2c1 {
	exp1: gpio@22 {
		compatible = "ti,tca6424";
		reg = <0x22>;
		gpio-controller;
		#gpio-cells = <2>;
		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
				   "PRU_DETECT", "MMC1_SD_EN",
				   "VPP_LDO_EN", "EXP_PS_3V3_En",
				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
				   "UART1_FET_BUF_EN", "WL_LT_EN",
				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
				   "CSI_GPIO2", "PRU_3V3_EN",
				   "HDMI_INTn", "TEST_GPIO2",
				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
				   "MCASP1_FET_SEL", "UART1_FET_SEL",
				   "TSINT#", "IO_EXP_TEST_LED";

		interrupt-parent = <&main_gpio1>;
		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
		interrupt-controller;
		#interrupt-cells = <2>;

		pinctrl-names = "default";
		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
	};
};

&sdhci2 {
	vmmc-supply = <&wlan_en>;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc2_pins_default>;
	bus-width = <4>;
	non-removable;
	ti,fails-without-test-cd;
	cap-power-off-card;
	keep-power-in-suspend;
	ti,driver-strength-ohm = <50>;
	assigned-clocks = <&k3_clks 157 158>;
	assigned-clock-parents = <&k3_clks 157 160>;

	#address-cells = <1>;
	#size-cells = <0>;
	wlcore: wlcore@2 {
		compatible = "ti,wl1837";
		reg = <2>;
		pinctrl-names = "default";
		pinctrl-0 = <&main_wlirq_pins_default>;
		interrupt-parent = <&main_gpio0>;
		interrupts = <72 IRQ_TYPE_EDGE_FALLING>;
	};
};
&main_mcan0 {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_mcan0_pins_default>;
        phys = <&transceiver1>;
};
&ospi0 {
	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-tx-bus-width = <8>;
		spi-rx-bus-width = <8>;
		spi-max-frequency = <25000000>;
		cdns,tshsl-ns = <60>;
		cdns,tsd2d-ns = <60>;
		cdns,tchsh-ns = <60>;
		cdns,tslch-ns = <60>;
		cdns,read-delay = <4>;
		cdns,phy-mode;

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "ospi.tiboot3";
				reg = <0x0 0x80000>;
			};

			partition@80000 {
				label = "ospi.tispl";
				reg = <0x80000 0x200000>;
			};

			partition@280000 {
				label = "ospi.u-boot";
				reg = <0x280000 0x400000>;
			};

			partition@680000 {
				label = "ospi.env";
				reg = <0x680000 0x40000>;
			};

			partition@6c0000 {
				label = "ospi.env.backup";
				reg = <0x6c0000 0x40000>;
			};

			partition@800000 {
				label = "ospi.rootfs";
				reg = <0x800000 0x37c0000>;
			};

			partition@3fc0000 {
				label = "ospi.phypattern";
				reg = <0x3fc0000 0x40000>;
			};
		};
	};
};
&main_spi2{
    pinctrl-names = "default";
 	pinctrl-0 = <&main_spi2_pins_default>;
    status = "okay";    
    adc@0 {
            compatible = "ti,adc128s052";
            reg = <0>;
            spi-max-frequency = <1000000>;
            #io-channel-cells = <1>;
        };
};

/*
&main_i2c0 {
	#address-cells = <1>;
	#size-cells = <0>;

	touchscreen@41 {
		compatible = "ilitek,ili251x";
		reg = <0x41>;
		interrupt-parent = <&exp1>;
		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
		reset-gpios = <&exp2 18 GPIO_ACTIVE_LOW>;
	};
};
*/

请确认在 SK-AM62评估板上启用 SPI2和 LCD 的正确方法。 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    与原始 TI SDK 文件相比、能否将所需的 DTS 更改重新发送为"公式"、这样分析会更容易。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    原始 dts 文件:-  

    // SPDX-License-Identifier: GPL-2.0
    /*
     * AM625 SK: www.ti.com/.../sprr448
     *
     * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    
    #include <dt-bindings/leds/common.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include "k3-am625.dtsi"
    #include "k3-am62x-sk-common.dtsi"
    
    / {
    	compatible =  "ti,am625-sk", "ti,am625";
    	model = "Texas Instruments AM625 SK";
    
    	wlan_lten: regulator-5 {
    		compatible = "regulator-fixed";
    		regulator-name = "wlan_lten";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-always-on;
    		vin-supply = <&vcc_3v3_sys>;
    		gpios = <&exp1 11 GPIO_ACTIVE_LOW>;
    	};
    
    	wlan_en: regulator-6 {
    		/* OUTPUT of SN74AVC2T244DQMR */
    		compatible = "regulator-fixed";
    		regulator-name = "wlan_en";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <1800000>;
    		enable-active-high;
    		vin-supply = <&wlan_lten>;
    		gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&wlan_en_pins_default>;
    	};
    };
    
    &main_pmx0 {
    	wlan_en_pins_default: wlan-en-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x124, PIN_OUTPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */
    		>;
    	};
    
    	main_mmc2_pins_default: main-mmc2-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
    			AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
    			AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
    			AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
    			AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
    			AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
    			AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
    		>;
    	};
    
    	main_wlirq_pins_default: main-wlirq-pins-default {
    		pinctrl-single,pins = <
    			AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
    		>;
    	};
    
    };
    &main_i2c1 {
    	exp1: gpio@22 {
    		compatible = "ti,tca6424";
    		reg = <0x22>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
    				   "PRU_DETECT", "MMC1_SD_EN",
    				   "VPP_LDO_EN", "EXP_PS_3V3_En",
    				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
    				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
    				   "UART1_FET_BUF_EN", "WL_LT_EN",
    				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
    				   "CSI_GPIO2", "PRU_3V3_EN",
    				   "HDMI_INTn", "TEST_GPIO2",
    				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
    				   "MCASP1_FET_SEL", "UART1_FET_SEL",
    				   "TSINT#", "IO_EXP_TEST_LED";
    
    		interrupt-parent = <&main_gpio1>;
    		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
    		interrupt-controller;
    		#interrupt-cells = <2>;
    
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
    	};
    };
    
    &sdhci2 {
    	vmmc-supply = <&wlan_en>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc2_pins_default>;
    	bus-width = <4>;
    	non-removable;
    	ti,fails-without-test-cd;
    	cap-power-off-card;
    	keep-power-in-suspend;
    	ti,driver-strength-ohm = <50>;
    	assigned-clocks = <&k3_clks 157 158>;
    	assigned-clock-parents = <&k3_clks 157 160>;
    
    	#address-cells = <1>;
    	#size-cells = <0>;
    	wlcore: wlcore@2 {
    		compatible = "ti,wl1837";
    		reg = <2>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_wlirq_pins_default>;
    		interrupt-parent = <&main_gpio0>;
    		interrupts = <72 IRQ_TYPE_EDGE_FALLING>;
    	};
    };
    
    &ospi0 {
    	flash@0 {
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;
    		spi-max-frequency = <25000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <4>;
    		cdns,phy-mode;
    
    		partitions {
    			compatible = "fixed-partitions";
    			#address-cells = <1>;
    			#size-cells = <1>;
    
    			partition@0 {
    				label = "ospi.tiboot3";
    				reg = <0x0 0x80000>;
    			};
    
    			partition@80000 {
    				label = "ospi.tispl";
    				reg = <0x80000 0x200000>;
    			};
    
    			partition@280000 {
    				label = "ospi.u-boot";
    				reg = <0x280000 0x400000>;
    			};
    
    			partition@680000 {
    				label = "ospi.env";
    				reg = <0x680000 0x40000>;
    			};
    
    			partition@6c0000 {
    				label = "ospi.env.backup";
    				reg = <0x6c0000 0x40000>;
    			};
    
    			partition@800000 {
    				label = "ospi.rootfs";
    				reg = <0x800000 0x37c0000>;
    			};
    
    			partition@3fc0000 {
    				label = "ospi.phypattern";
    				reg = <0x3fc0000 0x40000>;
    			};
    		};
    	};
    };
    

    我的更改的差异文件:-

    diff --git a/recipes-kernel/linux/files/git/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/recipes-kernel/linux/files/git/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    index 32aef0f..e71eb6b 100644
    --- a/recipes-kernel/linux/files/git/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    +++ b/recipes-kernel/linux/files/git/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    @@ -10,12 +10,51 @@
     #include <dt-bindings/leds/common.h>
     #include <dt-bindings/gpio/gpio.h>
     #include <dt-bindings/net/ti-dp83867.h>
    +#include <dt-bindings/pinctrl/k3.h>
    +#include <dt-bindings/interrupt-controller/irq.h>
    +
     #include "k3-am625.dtsi"
     #include "k3-am62x-sk-common.dtsi"
     
    +
    +
    +//#include "k3-am62x-lp-sk-oldi-panel.dts"
    +
     / {
     	compatible =  "ti,am625-sk", "ti,am625";
    -	model = "Texas Instruments AM625 SK";
    +    model = "Platform-AM625-SK-13mar2023";
    +
    +    transceiver1: can-phy0 {
    +		compatible = "ti,tcan1042";
    +		#phy-cells = <0>;
    +		max-bitrate = <5000000>;
    +	};
    +    
    +    display {
    +            compatible = "microtips,13-101hieb0hf0-s";
    +            /*
    +            * Note that the OLDI TX 0 transmits the odd set of pixels
    +            * while the OLDI TX 1 transmits the even set. This is a
    +            * fixed configuration in the IP integration and is not
    +            * changeable. The properties, "dual-lvds-odd-pixels" and
    +            * "dual-lvds-even-pixels" have been used to merely
    +            * identify if a Dual Link configuration is required.
    +            * Swapping them will not make any difference.
    +            */
    +            port@0 {
    +                dual-lvds-odd-pixels;
    +                lcd_in0: endpoint {
    +                    remote-endpoint = <&oldi_out0>;
    +                };
    +            };
    +
    +            port@1 {
    +                dual-lvds-even-pixels;
    +                lcd_in1: endpoint {
    +                    remote-endpoint = <&oldi_out1>;
    +                };
    +            };
    +    };
     
     	wlan_lten: regulator-5 {
     		compatible = "regulator-fixed";
    @@ -65,8 +104,105 @@
     			AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
     		>;
     	};
    +    
    +    main_spi2_pins_default: main-spi2-pins-default {
    +		pinctrl-single,pins = <
    +			AM62X_IOPAD(0x1B0, PIN_INPUT, 1)   /* (A20) SPI2_CLK pins  on expansion Header*/
    +            AM62X_IOPAD(0x1AC, PIN_OUTPUT, 1)  /* (E19) SPI2_CS0 pins on expansion Header */
    +            AM62X_IOPAD(0x194, PIN_INPUT, 1)   /* (B19) SPI2_D0 pins on expansion Header */
    +            AM62X_IOPAD(0x198, PIN_INPUT, 1)   /* (A19) SPI2_D1 pins on expansion Header */
    +		>; 
    +	};   
    +    main_mcan0_pins_default: main-mcan0-pins-default {
    +        pinctrl-single,pins = <
    +            AM62X_IOPAD(0x1dc, PIN_INPUT, 0)  /* (E15) MCAN0_RX */
    +            AM62X_IOPAD(0x1d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */
    +        >;    
    +    };   
    +    
    +   	main_oldi0_pins_default: main-oldi0-pins-default {
    +		pinctrl-single,pins = <
    +			AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
    +			AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
    +			AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
    +			AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
    +			AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
    +			AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
    +			AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
    +			AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
    +			AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
    +			AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
    +			AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
    +			AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
    +			AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
    +			AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
    +			AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
    +			AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
    +			AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
    +			AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
    +			AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
    +			AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
    +		>;
    +	};    
    +};
    +
    +&main_mcan0 {
    +	status = "okay";
    +	pinctrl-names = "default";
    +	pinctrl-0 = <&main_mcan0_pins_default>;
    +	phys = <&transceiver1>;
    +};
    +
    +&mcu_pmx0 {
    +    /* MPU_I2C0_SCL -> MPU_I2C3_RTC_SCL & MPU_I2C0_SDA -> MPU_I2C3_RTC_SDA */
    +    /* These pins are pulled high on hardware */
    +	mcu_i2c0_pins_default: mcu_i2c0-pins-default {
    +		 pinctrl-single,pins = <
    +			AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0)   /* (A8) MCU_I2C0_SCL */
    +			AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0)   /* (D10) MCU_I2C0_SDA */
    +		>;
    +	};
    +};
    +
    +&mcu_i2c0 {	
    +    status = "okay";
    +	pinctrl-names = "default";
    +	pinctrl-0 = <&mcu_i2c0_pins_default>;
    +	clock-frequency = <400000>;
    +
    +	bq32000: rtc@68 {
    +               compatible = "ti,bq32000";
    +               //trickle-resistor-ohms = <1120>;
    +               reg = <0x68>;
    +       };
    +};
    +/************************************************************************************/
    +&dss {
    +	pinctrl-names = "default";
    +	pinctrl-0 = <&main_oldi0_pins_default &main_dss0_pins_default>;
    +};
    +
    +&dss_ports {
    +	#address-cells = <1>;
    +	#size-cells = <0>;
    +
    +	/* VP1: LVDS Output (OLDI TX 0) */
    +	port@0 {
    +		reg = <0>;
    +		oldi_out0: endpoint {
    +			remote-endpoint = <&lcd_in0>;
    +		};
    +	};
     
    +	/* VP1: LVDS Output (OLDI TX 1) */
    +	port@2 {
    +		reg = <2>;
    +		oldi_out1: endpoint {
    +			remote-endpoint = <&lcd_in1>;
    +		};
    +	};
     };
    +
     &main_i2c1 {
     	exp1: gpio@22 {
     		compatible = "ti,tca6424";
    @@ -177,4 +313,14 @@
     		};
     	};
     };
    -
    +&main_spi2{
    +    pinctrl-names = "default";
    + 	pinctrl-0 = <&main_spi2_pins_default>;
    +    status = "okay";    
    +    adc@0 {
    +            compatible = "ti,adc128s052";
    +            reg = <0>;
    +            spi-max-frequency = <1000000>;
    +            #io-channel-cells = <1>;
    +        };
    +};
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。 我需要一两天时间才能更深入地了解这件事并与您联系。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Andraes、是否有关于此问题的任何更新?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我还没有能够优先处理这个问题、 因此这仍然是我的简短列表。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好! 您是否能够确定问题是什么?

    谢谢、Andreas