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.

Failed to enable MCU_I2C0 in MCU SPL

Part Number: DRA821U

Hi experts

         i want to configure TPS65941 at tiboot3.bin for some reason.the demo board interface is wkup_i2c0,it's ok;

our board interface is mcu_i2c0 ,have my change,it's failed to run.


U-Boot SPL 2020.01-dirty (Jul 28 2021 - 11:26:59 +0800)
SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
ti_power_domain_probe(dev=41c85db8)
ti_power_domain_of_xlate: invalid dev-id: 194
Trying to boot from MMC1

--- arch/arm/dts/k3-j7200-r5-common-proc-board.dts      (revision 2630)
+++ arch/arm/dts/k3-j7200-r5-common-proc-board.dts      (working copy)
@@ -117,6 +117,13 @@
                >;
        };
 
+       mcu_i2c0_pins_default: mcu_i2c0_pins_default {
+               pinctrl-single,pins = <
+                       J721E_WKUP_IOPAD(0x108, PIN_INPUT_PULLUP, 0) /* (G21) MCU_I2C0_SCL */
+                       J721E_WKUP_IOPAD(0x10c, PIN_INPUT_PULLUP, 0) /* (G20) MCU_I2C0_SDA */
+               >;
+       };
+
        mcu_fss0_hpb0_pins_default: mcu-fss0-hpb0-pins-default {
                pinctrl-single,pins = <
                        J721E_WKUP_IOPAD(0x0, PIN_OUTPUT, 1) /* (E20) MCU_OSPI0_CLK.MCU_HYPERBUS0_CK */
@@ -215,10 +222,10 @@
        ti,driver-strength-ohm = <50>;
 };
 
-&wkup_i2c0 {
+&mcu_i2c0 {
        u-boot,dm-spl;
        pinctrl-names = "default";
-       pinctrl-0 = <&wkup_i2c0_pins_default>;
+       pinctrl-0 = <&mcu_i2c0_pins_default>;
        clock-frequency = <400000>;
 
        tps659413a: tps659413a@48 {

	mcu_i2c0: i2c@40b00000 {
		compatible = "ti,j721e-i2c", "ti,omap4-i2c";
		reg = <0x0 0x40b00000 0x0 0x100>;
		interrupts = <GIC_SPI 852 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
		#size-cells = <0>;
		clock-names = "fck";
		clocks = <&k3_clks 194 1>;
		power-domains = <&k3_pds 194 TI_SCI_PD_EXCLUSIVE>;
	};

the power-domains of MCU_I2C0 don't match in tiboot3.bin:   power-domains = <&k3_pds 194 TI_SCI_PD_EXCLUSIVE>;

could you help to solve the issue please?

  • Hi Zhao,

    On top of your above changes please add the below change as well:

    diff --git a/arch/arm/mach-k3/j7200/dev-data.c b/arch/arm/mach-k3/j7200/dev-data.c
    index 9956daa31b..ac630097c4 100644
    --- a/arch/arm/mach-k3/j7200/dev-data.c
    +++ b/arch/arm/mach-k3/j7200/dev-data.c
    @@ -58,6 +58,7 @@ static struct ti_dev soc_dev_list[] = {
            PSC_DEV(104, &soc_lpsc_list[12]),
            PSC_DEV(154, &soc_lpsc_list[12]),
            PSC_DEV(149, &soc_lpsc_list[12]),
    +       PSC_DEV(194, &soc_lpsc_list[12]),
            PSC_DEV(113, &soc_lpsc_list[13]),
            PSC_DEV(197, &soc_lpsc_list[13]),
            PSC_DEV(103, &soc_lpsc_list[14]),
    @@ -73,6 +74,6 @@ const struct ti_k3_pd_platdata j7200_pd_platdata = {
            .num_psc = 2,
            .num_pd = 6,
            .num_lpsc = 17,
    -       .num_devs = 22,
    +       .num_devs = 23,
     };
     
    

    I believe that should solve your issue.

    If no other questions please click on verify answer.

    - Keerthy

  • hi Keerthy

         thank you for your response. there is new a issue:

    U-Boot SPL 2020.01-dirty (Jul 29 2021 - 10:08:59 +0800)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    ti_power_domain_probe(dev=41c85db8)
    i2c_write: error waiting for data ACK (status=0x116)
    read error from device: 41c865b4 register: x!

  • Hi Zhao,

    Now you need to verify if the PMIC slave ID and registers are correct. This is board specific setting.
    Is the slave ID of the PMIC on MCU-I2C0 same as the PMIC slave ID in the J7200 EVM.

    - Keerthy

  • thank you for your response