]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: tegra: update CONFIG_LOAD for new conifiguration
authorLaxman Dewangan <ldewangan@nvidia.com>
Tue, 30 Jun 2015 10:54:26 +0000 (16:24 +0530)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 10 Aug 2015 06:37:33 +0000 (08:37 +0200)
commitcb289574853e571d135b807f765ab5f8176ba5b3
treefef4bbe9df6cd3e4c56725d7d232261644b2cc89
parente5e3831e3a1d724a65bc08554b98bb1a994da5c3
i2c: tegra: update CONFIG_LOAD for new conifiguration

Once the new configuration is set on the conifg register of
I2C controller, it is require to update the CONFIG_LOAD register
to transfer the new SW configuration to actual HW internal
registers that would be used in the actual logic.

It is like, SW is programming only shadow registers through
regular configuration and when these load_config bit fields
are set to 1, it causes the regular/shadows registers
configuration transferred to the HW internal active registers.
So SW has to set these bit fields at the end of all regular
registers configuration. And these config_load bits are HW
auto-clear bits. HW clears these bit fields once the register
configuration is moved to HW internal active registers. So SW
has to wait until these bits are auto-cleared before going
for any further programming

This mechanism is supported on T124 and after this SoCs.

Signed-off-by: Chaitanya Bandi <bandik@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-tegra.c