User Tools

Site Tools


i2c

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
i2c [2024/10/10 10:17] arisoturai2c [2025/04/20 11:51] (current) arisotura
Line 7: Line 7:
 In practice, I have only seen Renesas controllers so far, so I don't know how rare the Samsung one is. Considering that the I2C controller is part of the SoC, it is likely that the Samsung controller is solely prototype stuff. As further evidence, the diagnostics firmware only supports the Renesas controller. In practice, I have only seen Renesas controllers so far, so I don't know how rare the Samsung one is. Considering that the I2C controller is part of the SoC, it is likely that the Samsung controller is solely prototype stuff. As further evidence, the diagnostics firmware only supports the Renesas controller.
  
-There are I2C busses, referred to as 1, 2, 3 and 4. Bus 1 appears to be for slave mode, while the others are for master mode. In practice, all the I2C devices are on bus 3, leaving the others unused.+There are I2C busses, referred to as 0, 1, 2, 3 and 4. Busses 0 and 1 appears to be for slave mode, while the others are for master mode. In practice, all the I2C devices are on bus 3, leaving the others unused. It isn't even known if the other busses have any connections outside of the DRC SoC. Busses 2 and 4 are nonfunctional.
  
 The I2C registers are distributed as follows: The I2C registers are distributed as follows:
 ^ Base address ^ Desc. ^ ^ Base address ^ Desc. ^
-| 0xF0005800   | General I2C registers |+| 0xF0005800   | General I2C registers and bus 0 |
 | 0xF0005C00   | Bus 1 | | 0xF0005C00   | Bus 1 |
 | 0xF0006000   | Bus 2 | | 0xF0006000   | Bus 2 |
Line 24: Line 24:
 ^ Address    ^ Desc. ^ ^ Address    ^ Desc. ^
 | 0xF0005800 | IRQ flags | | 0xF0005800 | IRQ flags |
-| 0xF0005804 | Bus enable |+| 0xF0005804 | IRQ enable |
 | 0xF0005808 | IRQ acknowledge | | 0xF0005808 | IRQ acknowledge |
  
-In each register, bit0..corresponds to bus 1..4.+In each register, bit0..corresponds to bus 0..4.
  
  
 ===== Renesas controller ===== ===== Renesas controller =====
  
-==== Slave mode (bus 1) ====+==== Slave mode (bus 0..1) ====
  
 ^ Offset ^ Desc. ^ ^ Offset ^ Desc. ^
Line 52: Line 52:
  
  
-**Base+0x004**+**0xF0006x04**
  
 Data input/output. Data input/output.
  
  
-**Base+0x008**+**0xF0006x08**
  
 Transfer control. Transfer control.
Line 78: Line 78:
  
  
-**Base+0x018**+**0xF0006x18**
  
 Transfer status. Transfer status.
  
 ^ Bits ^ Desc. ^ ^ Bits ^ Desc. ^
-| 0    | Stop  | +| 0    | Stop generated  | 
-| 1    | Start |+| 1    | Start generated |
 | 2    | Ack (from remote) | | 2    | Ack (from remote) |
 | 3    | Direction; 0=reading, 1=writing | | 3    | Direction; 0=reading, 1=writing |
Line 90: Line 90:
  
  
-**Base+0x020**+**0xF0006x20**
  
 Status register of sorts. Status register of sorts.
Line 121: Line 121:
 The following devices are connected to the I2C interface: The following devices are connected to the I2C interface:
 ^ Bus ^ Device ID ^ Device ^ ^ Bus ^ Device ID ^ Device ^
-| 3   | 0x18      | Audio amplifier |+| 3   | 0x18      | [[Audio amplifier]] |
 | 3   | 0x21      | Camera | | 3   | 0x21      | Camera |
 | 3   | 0x39      | [[LCD]] | | 3   | 0x39      | [[LCD]] |
  
i2c.1728555437.txt.gz · Last modified: 2024/10/10 10:17 by arisotura

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki