Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISSUE: Failed to initialize wilc (linux4sam-2021.04) #18

Open
davidtekin37 opened this issue Dec 23, 2021 · 2 comments
Open

ISSUE: Failed to initialize wilc (linux4sam-2021.04) #18

davidtekin37 opened this issue Dec 23, 2021 · 2 comments

Comments

@davidtekin37
Copy link

Hello,
I am facing an issue with the WILC3000 firmware 15.5 directly from the kernel 5.10.50.

I have my SAMA5d27-som1 and my WILC3000 fully working with the version (linux4sam-6.0 WILC 15.2).
But now I want to upgrade to the last version.

I use the WILC3000 in SPI mode, this configuration is defined in my dts file.

dts

When I want to run the firmware I am facing an issue, the firmware won't start.
ATWILC

Anyone does have the same issues? I think there is an error on my device tree file, but I don't know where.

@davidtekin37
Copy link
Author

In order to continue the investigation I captured the debug of the WILC3000 on the UART serial port.
Here is the TX output of the module.
Capture d’écran 2021-12-24 à 09 04 12

@ts-kris
Copy link

ts-kris commented Dec 27, 2021

I use the WILC3000 in SPI mode, this configuration is defined in my dts file.

dts

Your instantiation in your dts file is missing interrupt information. In our experience, this would indeed cause a failure similar to what you are seeing. The driver loads the firmware and then waits for an interrupt to occur. The driver, however, does not error if no interrupt is established, even though it is required for operation. There are a number of quirks like this that are difficult to overcome unless you already are aware of them.

You will likely want to set your interrupt pin to GPIO mode (most CPU GPIO controllers have IRQ modes that the driver correctly enables as needed), and then the actual callout in the section would look something like:

interrupt-parent = <&pioA>;
interrupts = <PIN_... GPIO_ACTIVE_HIGH>;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants