lowRISC / lowRISC/opentitan

[i2c,cw340] Getting I2C working on CW340

Open
#27,960 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

I'm trying to use OpenTitan as an I2C device. I have an implementation of an I2C host in a breadboarded generic microcontroller, and intend to connect the I2C bus to my CW340 FPGA.

I need some guidance on getting this set up correctly on the CW340. It's unclear to me which pins should be used for I2C0 on the CW340 board, and I didn't find anything in the CW340 schematic for the I2C0 peripheral. I assume there will need to be some calls in my OpenTitan software to `dif_pinmux_input_select` and `dif_pinmux_output_select`, but I don't know which MIO input/outputs should be used for I2C0. I've tried a few different random pins that are broken out on the CW340 board without any success.

I would really appreciate some guidance on this. Thanks for your help in advance.

Contributor guide

Open the contributing guide

Research direction

Start with the CW340 schematic and the OpenTitan I2C0 pinmux configuration, including dif_pinmux_input_select and dif_pinmux_output_select. Identify which MIO signals reach the board's broken-out pins, then document the required pin choices and setup; done means an external I2C host can communicate with I2C0 through the CW340.

Written by the indexing model from the issue text.

Assessment

Tech stack
embedded-iot
Domain
embedded-iot
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.