On 5/23/24 5:03 PM, Francesco Dolcini wrote:
On Wed, May 22, 2024 at 03:23:51PM +0200, Marek Vasut wrote:
On 5/22/24 8:39 AM, Francesco Dolcini wrote:
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)

Sorry for the confusion, here the diff.
With that please add

Thank you. I missed this mail and now I found it. Fixed in V3.

Reply via email to