[PATCH v2 12/21] i.MX: iomuxv3: Add helper type to deconstruct iomux_v3_cfg_t values
Sascha Hauer
s.hauer at pengutronix.de
Mon Jan 9 04:00:28 PST 2017
On Mon, Dec 12, 2016 at 10:02:59AM -0800, Andrey Smirnov wrote:
> Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
> ---
> arch/arm/mach-imx/include/mach/iomux-v3.h | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm/mach-imx/include/mach/iomux-v3.h b/arch/arm/mach-imx/include/mach/iomux-v3.h
> index 3bf457f..470f774 100644
> --- a/arch/arm/mach-imx/include/mach/iomux-v3.h
> +++ b/arch/arm/mach-imx/include/mach/iomux-v3.h
> @@ -78,6 +78,22 @@ typedef u64 iomux_v3_cfg_t;
> ((iomux_v3_cfg_t)(_sel_input_ofs) << MUX_SEL_INPUT_OFS_SHIFT) | \
> ((iomux_v3_cfg_t)(_sel_input) << MUX_SEL_INPUT_SHIFT))
>
> +
> +struct iomux_v3_pad_configuration {
> + u64 mux_ctrl_ofs : 12;
> + u64 pad_ctrl_ofs : 12;
> + u64 sel_input_ofs : 12;
> + u64 mux_mode : 5;
> + u64 pad_ctrl : 18;
> + u64 sel_inp : 4;
> + u64 reserved : 1;
> +} __packed;
> +
> +union iomux_v3_pad {
> + iomux_v3_cfg_t raw;
> + struct iomux_v3_pad_configuration cfg;
> +};
No, please. The order of bitfields is implementation defined. We
shouldn't use this in barebox. Use plain masking/shifting, the defines
are almost there.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list