diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2013-12-27 15:32:17 +0530 |
---|---|---|
committer | Laxman Dewangan <ldewangan@nvidia.com> | 2013-12-30 22:40:01 -0800 |
commit | c9fe0c89feb435dcef10007637bc2c5b676715c1 (patch) | |
tree | 44ec0ab7cdc3ab35ce1b97eaf3b849f5272ff018 /drivers/i2c | |
parent | 5e28646c97bebcf17a6bcda76ec1b8e557688ec0 (diff) |
i2c: tegra: add dt parsing for cldvfs clock requirements
I2C5 (power i2c) bus shared between cldvfs and I2C5 controller.
For bus arbitration, the cldvfs clock need to be enable.
Parse this information from DT node and enable clock accordingly.
Change-Id: Id9b35d465378cb9bba68c3634e647a92249d2947
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/350117
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-tegra.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 0a444595dac7..a6145ede5e17 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -1278,16 +1278,19 @@ static struct tegra_i2c_platform_data *parse_i2c_tegra_dt( if (!of_property_read_u32(np, "clock-frequency", &prop)) pdata->bus_clk_rate = prop; - if (of_find_property(np, "nvidia,clock-always-on", NULL)) - pdata->is_clkon_always = true; + pdata->is_clkon_always = of_property_read_bool(np, + "nvidia,clock-always-on"); if (!of_property_read_u32(np, "nvidia,hs-master-code", &prop)) { pdata->hs_master_code = prop; pdata->is_high_speed_enable = true; } - if (of_find_property(np, "nvidia,bit-banging-xfer-after-shutdown", NULL)) - pdata->bit_banging_xfer_after_shutdown = true; + pdata->needs_cl_dvfs_clock = of_property_read_bool(np, + "nvidia,require-cldvfs-clock"); + + pdata->bit_banging_xfer_after_shutdown = of_property_read_bool(np, + "nvidia,bit-banging-xfer-after-shutdown"); pdata->scl_gpio = of_get_named_gpio(np, "scl-gpio", 0); pdata->sda_gpio = of_get_named_gpio(np, "sda-gpio", 0); |