mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
UPSTREAM: sconfig: Add 10bit addressing mode to i2c device type
Use the second token for an i2c device entry in devicetree.cb to
indicate if it should use 10-bit addressing or 7-bit. The default if
not provided is to use 7-bit addressing, but it can be changed to
10-bit addressing with the .1 suffix. For example:
chip drivers/i2c/generic
device i2c 3a.1 on end
end
Change-Id: I1d81a7e154fbc040def4d99ad07966fac242a472
Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/14788
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
(cherry-picked from commit b7ce5fe311
)
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/346513
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Commit-Queue: Stefan Reinauer <reinauer@google.com>
Tested-by: Stefan Reinauer <reinauer@google.com>
This commit is contained in:
parent
4dc14ab92a
commit
3b78558264
3 changed files with 5 additions and 3 deletions
|
@ -202,7 +202,7 @@ u32 dev_path_encode(device_t dev)
|
|||
ret |= dev->path.pnp.port << 8 | dev->path.pnp.device;
|
||||
break;
|
||||
case DEVICE_PATH_I2C:
|
||||
ret |= dev->bus->secondary << 8 | dev->path.pnp.device;
|
||||
ret |= dev->path.i2c.mode_10bit << 8 | dev->path.i2c.device;
|
||||
break;
|
||||
case DEVICE_PATH_APIC:
|
||||
ret |= dev->path.apic.apic_id;
|
||||
|
@ -334,7 +334,8 @@ int path_eq(struct device_path *path1, struct device_path *path2)
|
|||
(path1->pnp.device == path2->pnp.device);
|
||||
break;
|
||||
case DEVICE_PATH_I2C:
|
||||
equal = (path1->i2c.device == path2->i2c.device);
|
||||
equal = (path1->i2c.device == path2->i2c.device) &&
|
||||
(path1->i2c.mode_10bit == path2->i2c.mode_10bit);
|
||||
break;
|
||||
case DEVICE_PATH_APIC:
|
||||
equal = (path1->apic.apic_id == path2->apic.apic_id);
|
||||
|
|
|
@ -53,6 +53,7 @@ struct pnp_path
|
|||
struct i2c_path
|
||||
{
|
||||
unsigned device;
|
||||
unsigned mode_10bit;
|
||||
};
|
||||
|
||||
struct apic_path
|
||||
|
|
|
@ -257,7 +257,7 @@ struct device *new_device(struct device *parent, struct device *busdev, const in
|
|||
break;
|
||||
|
||||
case I2C:
|
||||
new_d->path = ".type=DEVICE_PATH_I2C,{.i2c={ .device = 0x%x }}";
|
||||
new_d->path = ".type=DEVICE_PATH_I2C,{.i2c={ .device = 0x%x, .mode_10bit = %d }}";
|
||||
break;
|
||||
|
||||
case APIC:
|
||||
|
|
Loading…
Add table
Reference in a new issue