i2c: at91: Add missing probe function to device driver
Subsystems (2)
PATCH 1/1 i2c: at91: Add missing probe function to device driver
Add missing probe function to the device driver to active a device.
Signed-off-by Wenyou Yang <[email protected]>
---
drivers/i2c/at91_i2c.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-)
drivers/i2c/at91_i2c.c +24 -2
@@ -199,7 +199,7 @@ static int at91_i2c_enable_clk(struct udevice *dev)return 0 ; } -static int at91_i2c_probe (struct udevice *dev,uint chip,uint chip_flags) +static int at91_i2c_probe_chip (struct udevice *dev,uint chip,uint chip_flags) {struct at91_i2c_bus *bus =dev_get_priv (dev);struct at91_i2c_regs *reg = bus->regs;
@@ -254,11 +254,32 @@ static int at91_i2c_ofdata_to_platdata(struct udevice *dev)static const struct dm_i2c_ops at91_i2c_ops = { .xfer = at91_i2c_xfer, - .probe_chip = at91_i2c_probe, + .probe_chip = at91_i2c_probe_chip, .set_bus_speed = at91_i2c_set_bus_speed, .get_bus_speed = at91_i2c_get_bus_speed, }; +static int at91_i2c_probe (struct udevice *dev) +{ +struct at91_i2c_bus *bus =dev_get_priv (dev); +struct at91_i2c_regs *reg = bus->regs; +int ret; + + ret =at91_i2c_enable_clk (dev); +if (ret) +return ret; + +writel (TWI_CR_SWRST , ®->cr); + +at91_calc_i2c_clock (dev, bus->clock_frequency); + +writel (bus->cwgr_val, ®->cwgr); +writel (TWI_CR_MSEN , ®->cr); +writel (TWI_CR_SVDIS , ®->cr); + +return 0 ; +} +static const struct at91_i2c_pdata at91rm9200_config = { .clk_max_div =5 , .clk_offset =3 ,
@@ -315,6 +336,7 @@ U_BOOT_DRIVER(i2c_at91) = { .name = "i2c_at91", .id = UCLASS_I2C, .of_match = at91_i2c_ids, + .probe = at91_i2c_probe, .ofdata_to_platdata = at91_i2c_ofdata_to_platdata, .per_child_auto_alloc_size = sizeof(struct dm_i2c_chip), .priv_auto_alloc_size = sizeof(struct at91_i2c_bus),
Signature · 1 line
2.13.0
PATCH 1/1 i2c: at91: Add missing probe function to device driver
Hello Wenyou,
Am 31.07.2017 um 03:56 schrieb Wenyou Yang:
Quoted 7 lines
Add missing probe function to the device driver to active a device.
Signed-off-by Wenyou Yang <[email protected]>---
drivers/i2c/at91_i2c.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-)
Reviewed-by Heiko Schocher <[email protected]>
bye,
Heiko
Quoted 57 lines
drivers/i2c/at91_i2c.c +24
-2@@ -199,7 +199,7 @@ static int at91_i2c_enable_clk(struct udevice *dev)return 0 ; } -static int at91_i2c_probe (struct udevice *dev,uint chip,uint chip_flags) +static int at91_i2c_probe_chip (struct udevice *dev,uint chip,uint chip_flags) {struct at91_i2c_bus *bus =dev_get_priv (dev);struct at91_i2c_regs *reg = bus->regs;@@ -254,11 +254,32 @@ static int at91_i2c_ofdata_to_platdata(struct udevice *dev)static const struct dm_i2c_ops at91_i2c_ops = { .xfer = at91_i2c_xfer, - .probe_chip = at91_i2c_probe, + .probe_chip = at91_i2c_probe_chip, .set_bus_speed = at91_i2c_set_bus_speed, .get_bus_speed = at91_i2c_get_bus_speed, }; +static int at91_i2c_probe (struct udevice *dev) +{ +struct at91_i2c_bus *bus =dev_get_priv (dev); +struct at91_i2c_regs *reg = bus->regs; +int ret; + + ret =at91_i2c_enable_clk (dev); +if (ret) +return ret; + +writel (TWI_CR_SWRST , ®->cr); + +at91_calc_i2c_clock (dev, bus->clock_frequency); + +writel (bus->cwgr_val, ®->cwgr); +writel (TWI_CR_MSEN , ®->cr); +writel (TWI_CR_SVDIS , ®->cr); + +return 0 ; +} +static const struct at91_i2c_pdata at91rm9200_config = { .clk_max_div =5 , .clk_offset =3 ,@@ -315,6 +336,7 @@ U_BOOT_DRIVER(i2c_at91) = { .name = "i2c_at91", .id = UCLASS_I2C, .of_match = at91_i2c_ids, + .probe = at91_i2c_probe, .ofdata_to_platdata = at91_i2c_ofdata_to_platdata, .per_child_auto_alloc_size = sizeof(struct dm_i2c_chip), .priv_auto_alloc_size = sizeof(struct at91_i2c_bus),
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH 1/1 i2c: at91: Add missing probe function to device driver
In reply to Wenyou YangHello Wenyou,
Am 31.07.2017 um 03:56 schrieb Wenyou Yang:
Quoted 7 lines
Add missing probe function to the device driver to active a device.
Signed-off-by Wenyou Yang <[email protected]>---
drivers/i2c/at91_i2c.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-)
applied to u-boot-i2c.git
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany