[U-Boot] [PATCH v3 0/9] tegra: Add I2C driver and associated parts

Heiko Schocher hs at denx.de
Thu Feb 9 08:02:13 CET 2012


Hello Tom,

Simon Glass wrote:
> This series brings in an I2C driver for Tegra which can be
> configured by a flat device tree.
> 
> It supports 8- and 16-bit addresses and both the normal I2C ports and
> the DVC port (for controlling the power management unit (PMU)).
> 
> Recent Linux bindings are used, based on example .dts files found in
> branch for-3.3/dt at:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra.git
> 
> (I could not find the actual binding documentation to include here)
> 
> Note: There is still an open question on I2C2 pinmux. The idea of an
> 'nvidia,pinmux-config' settings did not find favour, so we have no way
> of passing the correct config to funcmux for this port. Therefore we have
> disabled it for now. The impact on Seaboard is that the TPM and battery
> charger cannot be accessed.
> 
> I am sending this series to the linux-tegra list also, and will do so for
> future series also. This is because anything to do with fdt also affects
> the kernel bindings. Please advise if this is not useful.
> 
> Changes in v2:
> - Add build warning if CONFIG_SYS_I2C_INIT_BOARD is not defined
> - Adjust definitions to fit new peripheral clock bindings
> - Change 'speed' to 'clock-frequency'
> - Change i2c array to static
> - Disable port 2 as it is not used
> - Make i2c/dvc decision come from fdt
> - Remove i2c configuring using CONFIG (use fdt instead)
> - Remove u-boot,pinmux binding (sadly)
> - Return an error if an unavailable i2c bus is selected
> - Simplify code in i2c_addr_ok()
> - Tidy comment style
> - Use DIV_ROUND_UP() instead of a home-grown macro
> - Use new fdtdec alias decode function
> 
> Changes in v3:
> - Add TEGRA_I2C_NUM_CONTROLLERS to select number of I2C ports
> - Add comment on how to select pinmux for I2C2
> - Add comments and warning for mixed alias use in fdtdec
> - Add new patch to support 16-bit clock divisors required by I2C
> - Change i2c_init() to reset speed and override the fdt setting
> - Fix i2c_addr_ok() function to check addresses correctly
> - Move speed setting from tegra20.dtsi to board .dts file
> - Rename driver to tegra_i2c since it will later be shared with Tegra3
> - Tidy up I2C speed selection to use the peripheral clock
> - Use CONFIG_TEGRA_I2C instead of CONFIG_TEGRA2_I2C
> 
> Simon Glass (8):
>   tegra: Rename NV_PA_PMC_BASE to TEGRA2_PMC_BASE
>   fdt: Add function to allow aliases to refer to multiple nodes
>   tegra: Enhance clock support to handle 16-bit clock divisors
>   tegra: fdt: i2c: Add extra I2C bindings for U-Boot
>   tegra: i2c: Initialise I2C on Nvidia boards
>   tegra: i2c: Select I2C ordering for Seaboard
>   tegra: i2c: Select number of controllers for Tegra2 boards
>   tegra: i2c: Enable I2C on Seaboard
> 
> Yen Lin (1):
>   tegra: i2c: Add I2C driver
> 
>  arch/arm/cpu/armv7/tegra2/ap20.c             |   10 +-
>  arch/arm/cpu/armv7/tegra2/board.c            |    2 +-
>  arch/arm/cpu/armv7/tegra2/clock.c            |   63 ++-
>  arch/arm/dts/tegra20.dtsi                    |    6 +-
>  arch/arm/include/asm/arch-tegra2/clk_rst.h   |   10 +-
>  arch/arm/include/asm/arch-tegra2/tegra2.h    |    4 +-
>  arch/arm/include/asm/arch-tegra2/tegra_i2c.h |  160 ++++++++
>  board/nvidia/common/board.c                  |    7 +
>  board/nvidia/dts/tegra2-seaboard.dts         |   21 +
>  drivers/i2c/Makefile                         |    1 +
>  drivers/i2c/tegra_i2c.c                      |  566 ++++++++++++++++++++++++++
>  include/configs/seaboard.h                   |    8 +
>  include/configs/tegra2-common.h              |    3 +
>  include/fdtdec.h                             |   25 ++
>  lib/fdtdec.c                                 |   24 +-
>  15 files changed, 873 insertions(+), 37 deletions(-)
>  create mode 100644 arch/arm/include/asm/arch-tegra2/tegra_i2c.h
>  create mode 100644 drivers/i2c/tegra_i2c.c

Do you want to pick up this patchserie? So I can send my Ack for it.
If I should pick it up, please send your Acked-by, thanks!

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list