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.

[参考译文] Linux/AM5749:PCF8574

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/955605/linux-am5749-pcf8574

主题中讨论的其他器件:PCF8574PCF8575

您好、支持人员、

我使用 am5749(定制板) ti-processor-sdk-linux-rt-am57xx-evm-06.03.00.106和 ti-processor-sdk-linux-am57xx-evm-06.03.00.106。

问题在于电路板启动时、我的 PCF8574器件上拉所有8个引脚。正如我从数据表中了解的、这是正常的、但实际上并不正确。

我是说我将其用于控制8继电器、当电路板启动但 Linux 未加载时、所有继电器的状态都为1。 它可能会损坏某些东西…

主要问题是:是否可以从 u-boot 或 spl 快速重新配置 PCF8574?

我需要将0x00发送到 PCF8574的地址。

BR、

Oleg

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

    Oleg、

    如果我在 u-boot 目录上搜索、则不支持 PCF8574的驱动程序。 16线 IP 的 pcf8575支持。
    也就是说、如果目的是检查行的状态、您可以参考:

    电路板/Freescale /mpc8315erdb/mpc8315erdb.c

    静态 u8 read_board_info (void)
    {
    U8 val8;
    I2C_SET_BUS_num (0);
    
    IF (i2c_read (CONFIG_SYS_I2C_PCF8574A_ADDR、0、0、val8、1)= 0)
    返回值8;
    其他
    返回0;
    }
    
    I2C_SET_BUS_num (0);在这里、您设置了具有 pcf 模块的总线编号。 

    IF (i2c_read (CONFIG_SYS_I2C_PCF8574A_ADDR、0、0、val8、1)= 0)

    CONFIG_SYS_I2C_PCF8574A_ADDR 在您的板上为0x27、对吧? 


    您能否在 u-boot 文件夹中的 board/ti/am57xx/board.c 下添加该函数、并查看是否可以像上述操作那样使用 i2c_read 读取这些值?

    即使在最新的 u-boot 中也不支持此功能。 以上可能是前进的道路。

    此致、
    基尔西

    此致、
    基尔西

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

    您好、Keerty、

    非常好的 THx 示例。

    但是...我需要一个不读取的写入...我知道状态(上电后为0xFF)。 正如您所理解的那样、这意味着所有8个端口都处于状态1。

    还有其他东西...我不确定 U-boot。 我的意思是太晚了……我认为应该比你的行李早点…

    但无论如何、我无法对其进行编译。 函数 prototype read_board_info()位于何处;??? 哪一个报头?

    查看控制台:

    board/ti/am57xx/built-in.o:在函数`read_board_info'中:
    /media/scaletto/Secondary/u-boot-2019.01 +gitAUTOINC+333c3e72d3-g3333e72d3/board/ti/am57xx/board.c:866:未`对 i2c_set_fbus_num 的引用
    /media/scaletto/Secondary/u-boot-2019.01 +gitAUTOINC+333c72d3-g333c72d3/board/ti/am57xx/board.c:868:未`对 i2c_read'的引用
    Makefile:1501:目标'u-boot'的配方失败
    make:***[u-boot]错误1.

    BR、

    Oleg