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)