[U-Boot] [PATCH 07/18] i2c: imx: add macros to setup pads for multiple SoC types

Tim Harvey
2014-08-04T04:28:10Z

On Sun, Aug 3, 2014 at 12:34 AM, Nikita Kiryanov <nikita@compulab.co.il> wrote:
> Add macro which defines i2c_pads_info structs for multiple SoC types,
> and a macro which selects the appropriate struct based on CPU type,
> thus eliminating the need to manage multiple i2c pad configurations
> manually when supporting multiple SoC types.
>
> Cc: Stefano Babic <sbabic@denx.de>
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> ---
> arch/arm/include/asm/imx-common/mxc_i2c.h | 33 +++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/arch/arm/include/asm/imx-common/mxc_i2c.h b/arch/arm/include/asm/imx-common/mxc_i2c.h
> index 47a9edc..182c2f3 100644
> --- a/arch/arm/include/asm/imx-common/mxc_i2c.h
> +++ b/arch/arm/include/asm/imx-common/mxc_i2c.h
> @@ -19,6 +19,39 @@ struct i2c_pads_info {
> struct i2c_pin_ctrl sda;
> };
>
> +#if defined(CONFIG_MX6QDL)
> +#define I2C_PADS(name, scl_i2c, scl_gpio, scl_gp, sda_i2c, sda_gpio, sda_gp) \
> + struct i2c_pads_info mx6q_##name = { \
> + .scl = { \
> + .i2c_mode = MX6Q_##scl_i2c, \
> + .gpio_mode = MX6Q_##scl_gpio, \
> + .gp = scl_gp, \
> + }, \
> + .sda = { \
> + .i2c_mode = MX6Q_##sda_i2c, \
> + .gpio_mode = MX6Q_##sda_gpio, \
> + .gp = sda_gp, \
> + } \
> + }; \
> + struct i2c_pads_info mx6s_##name = { \
> + .scl = { \
> + .i2c_mode = MX6DL_##scl_i2c, \
> + .gpio_mode = MX6DL_##scl_gpio, \
> + .gp = scl_gp, \
> + }, \
> + .sda = { \
> + .i2c_mode = MX6DL_##sda_i2c, \
> + .gpio_mode = MX6DL_##sda_gpio, \
> + .gp = sda_gp, \
> + } \
> + };
> +
> +
> +#define I2C_PADS_INFO(name) \
> + (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) ? \
> + &mx6q_##name : &mx6s_##name
> +#endif
> +
> void setup_i2c(unsigned i2c_index, int speed, int slave_addr,
> struct i2c_pads_info *p);
> void bus_i2c_init(void *base, int speed, int slave_addr,
> --
> 1.9.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

Hi Nikita,

Very nice cleanup!

Acked-by: Tim Harvey <tharvey@gateworks.com>

Tim