[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