GithubHelp home page GithubHelp logo

I2C about pi5_pcie HOT 6 CLOSED

m1geo avatar m1geo commented on August 19, 2024 1
I2C

from pi5_pcie.

Comments (6)

trejan avatar trejan commented on August 19, 2024 2

Pull up only 1 and see what changes in pinctrl?

from pi5_pcie.

m1geo avatar m1geo commented on August 19, 2024 1

Using pinctrl as suggested by @trejan the following can be observed:

Pulling P3 high:

$ diff idle.txt p3_high.txt
< 114: a1    pd | lo // PCIE_SDA/GPIO14 = SPI_S_MOSI_OR_BSC_S_SDA
> 114: a1    pd | hi // PCIE_SDA/GPIO14 = SPI_S_MOSI_OR_BSC_S_SDA

Pulling P4 high:

$ diff idle.txt p4_high.txt
< 28: no    pd | lo // PCIE_RP1_WAKE/GPIO28 = none
> 28: no    pd | hi // PCIE_RP1_WAKE/GPIO28 = none
< 115: a1    pd | lo // PCIE_SCL/GPIO15 = SPI_S_SCK_OR_BSC_S_SCL
> 115: a1    pd | hi // PCIE_SCL/GPIO15 = SPI_S_SCK_OR_BSC_S_SCL

Interesting that the PCIE_WAKE signal appears to be trigged with the clock being high. Taking this literally, a low BSC_S_SCL/GPIO15 indicates the PCIE_nWAKE request, too? Perhaps the signalling is to use the I2C clock stretching condition to signal a wake?

Couldn't get any life out of P1 and P2. Grounding P2 resulted in no difference from pinctrl. I was hoping it may have triggered RP1_PCIE_CLKREQ_N (as below) but nothing.

36: no pd | lo // RP1_PCIE_CLKREQ_N/GPIO36 = none

P3=PCIE_SDA
P4=PCIE_SCL (and WAKE?)

Closing ticket. I2C pins identified. Thanks for the help @trejan!

from pi5_pcie.

m1geo avatar m1geo commented on August 19, 2024

Thanks for this. I'll add provision for this on the board. That's really useful knowledge. I'm also pretty sure that P1 is RST and P2 is CLKREQ (based on probing around with the scope some more). Means there is likely no presence detect (or some magic the RP2040 is doing over I2C with the driver?).

from pi5_pcie.

trejan avatar trejan commented on August 19, 2024

I expect autodetection would be via I2C like the Poe HATs. The prototype M.2 HAT has a fan connector and current sensing so that'll be via I2C as well if it ends up in the release board. I don't know how much of this is implemented in the public firmware though.

Adding a couple pullup resistors might make it show some activity during startup.

from pi5_pcie.

m1geo avatar m1geo commented on August 19, 2024

Will give that a shot. I'm just looking at the kernel & DT overlay source on the Pi5 GitHub. See if I can work out a way to tell SCL vs SDA when there's no data/clock on the bus.

from pi5_pcie.

m1geo avatar m1geo commented on August 19, 2024

Looking at the official Pi5 PCIe documentation,

P4=PCIE_SCL and WAKE is correct.
P3=PCIE_SDA also appears to serve as a PWR_EN signal.

from pi5_pcie.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.