TI论坛
直播中

王静

8年用户 1627经验值
私信 关注
[问答]

请问PCM1864的驱动在设备树该如何描述?


  • 请问PCM1864的驱动在设备树该如何描述呢:
    1. 我使用的不是ti的LINUX内核,是另外一款SOC的LINUX内核
    2. 我在设备树做了以下描述:
            ps7-i2c@e0004000 {
                bus-id = <0x0>;
                clocks = <0x2 0x26>;
                compatible = "cdns,i2c-r1p10";
                clock-frequency = <0x186a0>;
                interrupt-parent = <0x3>;
                interrupts = <0x0 0x19 0x4>;
                reg = <0xe0004000 0x1000>;
                xlnx,has-interrupt = <0x0>;
                
                pcm1864@4a {
                    compatible = "pcm1864";
                    reg = <0x4a>;
                };
            };
    3. 我得到了以下错误信息:
    pcm186x 0-004a: pcm186x_i2c_probe() i2c->addr=74
    0-004a supply avdd not found, using dummy regulator
    0-004a supply dvdd not found, using dummy regulator
    0-004a supply iovdd not found, using dummy regulator

    4. 系统起来后,我看不到声信息:
    root@test:/sys/class/sound/timer# ls
    dev        power      subsystem  uevent

    能在哪里找到PCM1864的完整驱动样例?包括设备树以及上层应用程序?

回帖(1)

王秀兰

2024-10-23 18:14:22
在设备树中描述PCM1864驱动,您需要遵循以下步骤:

1. 确定PCM1864的I2C地址:通常,PCM1864的I2C地址为0x4E(7位地址)或0x9C(8位地址)。您需要根据您的硬件连接来确定正确的地址。

2. 描述I2C控制器:您已经描述了I2C控制器,但是需要确保您的SOC内核支持该控制器。在您的描述中,您使用了“cdns,i2c-r1p10”作为compatible属性。请确保您的内核支持这个compatible字符串。

3. 添加PCM1864设备节点:在I2C控制器节点下,添加一个PCM1864设备节点。以下是设备树中PCM1864的描述示例:

```dts
ps7-i2c@e0004000 {
    bus-id = <0x0>;
    clocks = <0x2 0x26>;
    compatible = "cdns,i2c-r1p10";
    clock-frequency = <0x186a0>;

    pcm1864@4e {
        compatible = "ti,pcm1864";
        reg = <0x4e>; // 7位I2C地址
        // 如果使用8位I2C地址,请使用 <0x9c>
    };
};
```

请注意以下几点:

- 确保您的内核支持“ti,pcm1864”compatible字符串。如果不支持,您可能需要修改驱动代码以支持您的内核。
- 根据您的硬件连接,使用正确的I2C地址(7位或8位)。
- 如果您的内核需要其他属性或配置,请相应地添加它们。

完成这些步骤后,您的设备树应该能够正确描述PCM1864驱动。在启动内核时,内核将根据设备树中的描述自动配置PCM1864设备。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分