[PATCH 7/9] serial: lpuart: add new compatible fsl, ls1028a-lpuart

Michael Walle michael at walle.cc
Tue Aug 31 23:37:19 CEST 2021


Am 2021-08-31 20:28, schrieb Vladimir Oltean:
> On Tue, Aug 31, 2021 at 05:40:26PM +0200, Michael Walle wrote:
>> The offical ls1028a binding of the driver uses the following as
>> compatibles:
>>   compatible = "fsl,ls1028a-lpuart";
> 
> s/offical/official/
> 
>> diff --git a/drivers/serial/serial_lpuart.c 
>> b/drivers/serial/serial_lpuart.c
>> index 2b473d70f6..3c9a69598a 100644
>> --- a/drivers/serial/serial_lpuart.c
>> +++ b/drivers/serial/serial_lpuart.c
>> @@ -553,6 +553,8 @@ static const struct dm_serial_ops 
>> lpuart_serial_ops = {
>>  static const struct udevice_id lpuart_serial_ids[] = {
>>  	{ .compatible = "fsl,ls1021a-lpuart", .data =
>>  		LPUART_FLAG_REGMAP_32BIT_REG | LPUART_FLAG_REGMAP_ENDIAN_BIG },
>> +	{ .compatible = "fsl,ls1028a-lpuart",
>> +		.data = LPUART_FLAG_REGMAP_32BIT_REG },
> 
> The LS1028A LPUART is identical to LS1021A except for endianness, true.
> So the U-Boot driver uses the "little-endian" OF property to clear the
> LPUART_FLAG_REGMAP_ENDIAN_BIG flag from LS1021A, while the Linux driver
> selects endianness based on compatible string.

Yeah, and it seems that parsing of the little-endian flag was introduced
just for the ls1028a. If that is true, one could remove that, but I 
wasn't
sure, so I just left it there.

>>  	{ .compatible = "fsl,imx7ulp-lpuart",
>>  		.data = LPUART_FLAG_REGMAP_32BIT_REG },
>>  	{ .compatible = "fsl,vf610-lpuart"},
>> --
>> 2.30.2
> 
> Reviewed-by: Vladimir Oltean <vladimir.oltean at nxp.com>

-- 
-michael


More information about the U-Boot mailing list