Thread 中讨论的其他器件: LP5521
工具与软件:
我们正在尝试在 AM625中为 RGB 指示器配置 LED 驱动器
我们已将 RGB 引脚配置为 GPIO、并配置了 I2C_2与其通信。 我们构建了 LP5521驱动程序作为模块、并在系统手动启动后加载。
以下是我的更改:
SOM 数据表 : https://www.variscite.com/wp-content/uploads/2023/01/VAR-SOM-AM62_Datasheet.pdf
arch/arm/dts/k3-am625-var-som-symphony.dts
&main_pmx0 {
/* RGB Health Indicator */
lp5521_pins_default: lp5521-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0020, PIN_OUTPUT, 7) /* (J25) OSPI0_D5.GPIO0_8 */
>;
};
rgb_health_i2c2_pins_default: rgb-health-i2c2-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */
AM62X_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */
>;
};
};
&main_i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&rgb_health_i2c2_pins_default>;
clock-frequency = <100000>;
status = "okay";
/* RGB health indicator @32 */
lp5521: led-controller@32 {
compatible = "ti,lp5521";
reg = <0x32>;
status = "okay";
pinctrl-names = "default";
label = "lp5521_pri";
pinctrl-0 = <&lp5521_pins_default>;
enable-gpios = <&main_gpio0 8 GPIO_ACTIVE_HIGH>;
// reset-gpio = <&main_gpio0 10 GPIO_ACTIVE_HIGH>;
// Define LED channels with default brightness
led@0 {
label = "lp5521:red";
reg = <0>; // Channel 0
default-state = "on"; // Can be "on", "off", or "keep"
max-brightness = <0x5f>; // Maximum value
brightness = <0x2f>; // Default brightness
};
led@1 {
label = "lp5521:green";
reg = <1>;
default-state = "on";
max-brightness = <0x5f>;
brightness = <0x2f>;
};
led@2 {
label = "lp5521:blue";
reg = <2>;
default-state = "on";
max-brightness = <0x5f>;
brightness = <0x2f>;
};
};
};
arch/arm64/configs/am62x_var_defconfig
CONFIG_LEDS_CLASS_MULTICOLOR=y CONFIG_LEDS_LP55XX_COMMON=y CONFIG_LEDS_LP5521=m // Also try with 'y' option CONFIG_I2C=y CONFIG_I2C_CHARDEV=y
控制台输出 : 
将 GPIO0_8设置为高电平后、LP5521器件会在 I2C 2总线上检测到(如上所示)、但当我们尝试加载驱动器时、系统会显示以下错误消息:
lp5521:2-0032的探测器出现故障、错误为-22
