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.

[参考译文] TPS65218:TPS65218驱动器无法正常工作

Guru**** 2582405 points
Other Parts Discussed in Thread: AM3358, TPS65218

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1402353/tps65218-tps65218-driver-is-not-working-properly

器件型号:TPS65218
主题中讨论的其他器件:AM3358

工具与软件:

我使用的是 AM3358 CPU 和 TPS65218。
-内核版本5.10.

但是、TPS65218的内核无法正常工作。

root@AptusLx:/sys/kernel/debug/regulator# ls
reg-dummy-regulator-dummy        tps65218-regulator.4.auto-DCDC2  tps65218-regulator.4.auto-DCDC6  vddfix_1v8
regulator_summary                tps65218-regulator.4.auto-DCDC3  tps65218-regulator.4.auto-LDO1   vddfix_3v3
supply_map                       tps65218-regulator.4.auto-DCDC4  tps65218-regulator.4.auto-LS2    vddfix_5v0
tps65218-regulator.4.auto-DCDC1  tps65218-regulator.4.auto-DCDC5  tps65218-regulator.4.auto-LS3
croot@AptusLx:/sys/kernel/debug/regulator# cat regulator_summary
 regulator                      use open bypass  opmode voltage current     min     max
---------------------------------------------------------------------------------------
 regulator-dummy                  3    4      0 unknown     0mV     0mA     0mV     0mV
    1-005d-VDDIO                  1                                 0mA     0mV     0mV
    1-005d-AVDD28                 1                                 0mA     0mV     0mV
    47401b00.usb-phy-vcc          0                                 0mA     0mV     0mV
    47401300.usb-phy-vcc          0                                 0mA     0mV     0mV
 vddfix_3v3                       5    4      0 unknown  3300mV     0mA  3300mV  3300mV
    0-000a-VDDIO                  1                                 0mA     0mV     0mV
    0-000a-VDDA                   1                                 0mA     0mV     0mV
    481d8000.mmc-vmmc             1                                 0mA  3300mV  3400mV
    backlight-power               1                                 0mA     0mV     0mV
 vddfix_1v8                       2    1      0 unknown  1800mV     0mA  1800mV  1800mV
    0-000a-VDDD                   1                                 0mA     0mV     0mV
 vddfix_5v0                       1    0      0 unknown  5000mV     0mA  5000mV  5000mV
 DCDC1                            0    0      0 unknown  1100mV     0mA     0mV     0mV
 DCDC2                            0    0      0 unknown  1330mV     0mA     0mV     0mV
 DCDC3                            0    0      0 unknown  1500mV     0mA     0mV     0mV
 DCDC4                            0    0      0 unknown  3300mV     0mA     0mV     0mV
 DCDC5                            0    0      0 unknown  1000mV     0mA     0mV     0mV
 DCDC6                            0    0      0 unknown  1800mV     0mA     0mV     0mV
 LDO1                             0    0      0 unknown  1800mV     0mA     0mV     0mV
 LS2                              0    0      0 unknown     0mV   100mA     0mA     0mA
 LS3                              0    0      0 unknown     0mV   100mA     0mA     0mA

我目前正在使用的器件树如下所示。

  vdd3p3_fixed: fixedregulator@0 {
    compatible = "regulator-fixed";
    regulator-name = "vddfix_3v3";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
  };

  vdd1p8_fixed: fixedregulator@1 {
    compatible = "regulator-fixed";
    regulator-name = "vddfix_1v8";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
  };

  vdd5p0_fixed: fixedregulator@2 {
    compatible = "regulator-fixed";
    regulator-name = "vddfix_5v0";
    regulator-min-microvolt = <5000000>;
    regulator-max-microvolt = <5000000>;
        regulator-always-on;
  };



&i2c1 {
  pinctrl-names = "default";
  pinctrl-0 = <&i2c1_pins>;

  status = "okay";
  clock-frequency = <100000>;

  tps65218: tps65218@24 {
    reg = <0x24>;
    compatible = "ti,tps65218";
  };

  gt911: gt911@5d {
    compatible = "goodix,gt911";
    pinctrl-names = "default";
    pinctrl-0 = <&touch_control_pins>;
    reg = <0x5d>;                               // 0x14 / 0x5d
    interrupt-parent = <&gpio2>;
    interrupts = <2 IRQ_TYPE_EDGE_RISING>;      // IRQ_TYPE_NONE 0 / IRQ_TYPE_LEVEL_HIGH 4
    irq-gpios = <&gpio2 2 0>;                   // GPIO_ACTIVE_HIGH 0
    reset-gpios = <&gpio2 3 0>;                 // GPIO_ACTIVE_LOW 1
  };
};

&tps65218 {
  /*
   * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
   * mode") at poweroff.  Most BeagleBone versions do not support RTC-only
   * mode and risk hardware damage if this mode is entered.
   *
   * For details, see linux-omap mailing list May 2015 thread
   *      [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
   * In particular, messages:
   *      www.spinics.net/.../msg118585.html
   *      www.spinics.net/.../msg118615.html
   *
   * You can override this later with
   *      &tps {  /delete-property/ ti,pmic-shutdown-controller;  }
   * if you want to use RTC-only mode and made sure you are not affected
   * by the hardware problems. (Tip: double-check by performing a current
   * measurement after shutdown: it should be less than 1 mA.)
   */

  compatible = "ti,tps65218";
  interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>;     /* NMIn */
  interrupt-controller;
  #interrupt-cells = <2>;

  regulators {
    dcdc1_reg: regulator-dcdc1 {
      regulator-name = "vdd_core";
      regulator-min-microvolt = <912000>;
      regulator-max-microvolt = <1144000>;
      regulator-boot-on;
      regulator-always-on;
    };

    dcdc2_reg: regulator-dcdc2 {
      /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
      regulator-name = "vdd_mpu";
      regulator-min-microvolt = <912000>;
      regulator-max-microvolt = <1326000>;
      regulator-boot-on;
      regulator-always-on;
    };

    dcdc3_reg: regulator-dcdc3 {
      /* VDD_DDR voltage 1.5V with +/-5% tolerance */
      regulator-name = "vdd_ddr";
      regulator-min-microvolt = <1500000>;
      regulator-max-microvolt = <1500000>;
      regulator-boot-on;
      regulator-always-on;
    };

    dcdc4_reg: regulator-dcdc4 {
      /* VDD_3V3 voltage 3.3V with +/-5% tolerance */
      regulator-name = "vdd_3v3a";
      regulator-min-microvolt = <3300000>;
      regulator-max-microvolt = <3300000>;
      regulator-boot-on;
      regulator-always-on;
    };

    ldo1_reg: regulator-ldo1 {
      /* VDD_1V8 voltage 1.8V with +/-5% tolerance */
      regulator-name = "vdd_1v8";
      regulator-min-microvolt = <1800000>;
      regulator-max-microvolt = <1800000>;
      regulator-boot-on;
      regulator-always-on;
    };
  };
};

设备树和内核日志已附加。

e2e.ti.com/.../gmdss_5F00_sdt_5F00_igt.dts.log

e2e.ti.com/.../_5B00_COM4_5D00_2024_2D00_08_2D00_20_5F00_162358.log

由于这种现象、CPU 频率驱动器也无法工作。

- https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1380293/am3358-change-cpu-frequency-of-am3358

我需要调试帮助。

请检查。

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

    您好!  

    您是否已向 AM3358团队寻求支持(标题中包含 AM3358的主题)? 我们尚未发现 TPS65218 Linux 驱动程序有任何问题、因此最好查看他们是否有建议。

    此致、

    Matt

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

    尊敬的 Matt:

    如果您查看我上传的日志、则表明稳压器名称也未正确注册。
    我在器件树中写入了 VDD_CORE、VDD_MPU、VDD_DDR。
    但它显示为 DCDC1、DCDC2和 DCDC3。
    这是否正常?

    稳压器无法正常工作(如器件树所述)。

    您有什么办法可以帮助我吗?

    此致、
    南承珉