Skip to content

PCF8523 RTC Driver Sends I2C Double Start While Executing RTC Read Time #5614

Closed
@Ben-Rosenfeld-VPS

Description

@Ben-Rosenfeld-VPS

Describe the bug

The PCF8523 datasheet (https://www.nxp.com/docs/en/data-sheet/PCF8523.pdf) states in section 8.11.2:
"For this device, a repeated START is not allowed. Therefore, a STOP has to be released before the next START."
It also states in Figure 33 the Bus Protocol for Read Mode which explicitly shows a Stop/Start.

However, in pcf8523_rtc_read_time the array of msgs is defined for msgs[0] and msgs[1] and then passed in as a parameter to i2c_transfer. Per the i2c_transfer implementation msgs is "One or more messages to execute before STOP is issued to terminate the operation; each message begins with a START.".

Steps to reproduce the behaviour

Configure kernel for use of PCF8523 driver. Connect PCF8523. Analyze with Logic Analyzer.

Repeated Start

Device (s)

Raspberry Pi 4 Mod. B

System

Raspberry Pi reference 2022-09-22
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 8a42abcd1dbd8c9c1fdfca4e0c3778255b2f9cc4, stage2

Jan 5 2023 10:46:54
Copyright (c) 2012 Broadcom
version 8ba17717fbcedd4c3b6d4bce7e50c7af4155cba9 (clean) (release) (start)

Linux pcp 5.15.84-v7l+ #1613 SMP Thu Jan 5 12:01:26 GMT 2023 armv7l GNU/Linux

Logs

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions