[PATCH v2] ARM: imx: verdin-imx8mm: Set CAN oscillator frequency based on model

Marek Vasut marex at denx.de
Wed May 22 15:23:51 CEST 2024


On 5/22/24 8:39 AM, Francesco Dolcini wrote:

Hi,

>> diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
>> index 55c02653da6..ef632d95f0a 100644
>> --- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
>> +++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
>> @@ -125,6 +125,36 @@ int board_phys_sdram_size(phys_size_t *size)
>>   #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
>>   int ft_board_setup(void *blob, struct bd_info *bd)
>>   {
>> +	const char *canoscpath = "/oscillator";
>> +	int freq = 40000000;	/* 40 MHz is used on most variants */
>> +	int canoscoff, ret;
>> +
>> +	canoscoff = fdt_path_offset(blob, canoscpath);
>> +	if (canoscoff < 0)	/* No CAN oscillator found. */
>> +		goto exit;
>> +
>> +	/*
>> +	 * The actual "prodid" (PID4 in Toradex naming) that have the CAN
>> +	 * functionality are 0055 and 0059. Special case 20 MHz variant
>> +	 * here:
>> +	 * - 0055, V1.1A, V1.1B, V1.1C and V1.1D, use a 20MHz oscillator
>> +	 * - 0059, V1.1A and V1.1B, use a 20MHz oscillator
>> +	 */
> 
> Any reason why you ignored my suggestion here? The variants you list
> here are the only one with a 20MHz oscillator, and this is correct.
> 
> What is not correct is that 0055/0059 are the only variant with CAN
> functionality. We have other "prodid" with CAN functionality.
> 
> With that said, the code is correct, thanks. I appreciate you taking care
> of this.

So ... what should I change for V3 ?

Maybe just create me a diff I can squash into the patch before resend ? 
(I think I am a bit confused, I thought I addressed all the V1 feedback)


More information about the U-Boot mailing list