[PATCH v2 12/21] i.MX: iomuxv3: Add helper type to deconstruct iomux_v3_cfg_t values
Andrey Smirnov
andrew.smirnov at gmail.com
Tue Jan 10 07:01:25 PST 2017
On Mon, Jan 9, 2017 at 4:00 AM, Sascha Hauer <s.hauer at pengutronix.de> wrote:
> 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.
OK, will change in v3
Thanks,
Andrey
More information about the barebox
mailing list