From: petter@ka-long.de
To: mkl@pengutronix.de
Cc: linux-can@vger.kernel.org
Subject: Re: MCP2518FD : Failed to detect MCP2518FD (osc=0x00000000)
Date: Mon, 31 Jan 2022 15:15:03 +0100 (CET) [thread overview]
Message-ID: <20220131141503.C111C5B00631@dd15738.kasserver.com> (raw)
In-Reply-To: <20220131130911.nyfg5ojq77hbqc7d@pengutronix.de>
Hi Marc,
CS = High (de-asserted, slave not selected)
CS = low (asserted, slave selected)
I also did not like the 0/1 starting point, but it is defined here:
aliases {
gpio0 = &gpio1;
gpio1 = &gpio2;
gpio2 = &gpio3;
...
&gpio1 3 = gpiochip0 = 0*32 + 3 = gpio3
&gpio5 1 = gpiochip4 = 4*32 + 1 = gpio129
Interresting with ACTIVE HIGH / LOW. cat debug/gpio tells me "ACTIVE LOW" but anyway I did not see CS toggle at all. Also tested "1" but nothing changed.
By the way, the old kernel is working with the new device tree.
I did a make clean and make sure that I really use latest build artefacts. Everything is okay. Still failure.
Maybe there are problems when using "make imx_v7_defconfig" ... possible conflicts between drivers because there are much changes between 5.4 and 5.10 whats enabled and/or new by default ?
Try to go with a very small kernel.
BR
Niels
Marc Kleine-Budde schrieb am 31.01.2022 13:09 (GMT +00:00):
> On 31.01.2022 13:44:28, petter@ka-long.de wrote:
>> DMA is disabled. CLK and MOSI are looking fine.
>>
>> Very interessing, CSs are not asserted when loading driver (on old
>> kernel it does), but I can measure "high" after HW initialisation.
>
> Asserted means low?
>
>> Since I did not change the IOs between the old and new device tree
>> assuming the "high" on CS also showing correct PAD / GPIO
>> configuration there seems a problem asserting the CS.
>
> | &ecspi2 {
> | pinctrl-names = "default";
> | pinctrl-0 = <&pinctrl_ecspi2>;
> | status = "okay";
> |
> | fsl,spi-num-chipselects = <2>;
> V
> | cs-gpios = <&gpio5 1 0>, <&gpio1 3 0>;
> ^ ^
> Have a look at include/dt-bindings/gpio/gpio.h:
>
> /* Bit 0 express polarity */
> #define GPIO_ACTIVE_HIGH 0
> #define GPIO_ACTIVE_LOW 1
>
> I'm using GPIO_ACTIVE_LOW in my DT on imx6dl.
>
> |
> |
> | mcp2518fd@0 {
> | compatible = "microchip,mcp2518fd";
> | reg = <0>;
> | interrupts-extended = <&gpio3 0 IRQ_TYPE_LEVEL_LOW>;
> | spi-max-frequency = <20000000>;
> | clocks = <&mcp2518fd_clk>;
> | };
>
>
>
> |
> | mcp2518fd@1 {
> | compatible = "microchip,mcp2518fd";
> | reg = <1>;
> | interrupts-extended = <&gpio4 23 IRQ_TYPE_LEVEL_LOW>;
> | spi-max-frequency = <20000000>;
> | clocks = <&mcp2518fd_clk>;
> | };
>
>
>
> | };
>
>> cat /sys/kernel/debug/gpio looks good (gpio-3 and gpio-129)
>
> This doesn't look consistent with your DT, above. I'm always confused
> with numbering starting with 0 and 1 in the DT, but I think:
>
> gpiochip0: gpio-3 == &gpio1 3
> gpiochip3: gpio-129 == &gpio4 1 (not &gpio5 1 as in you DT)
>
>> gpiochip0: GPIOs 0-31, parent: platform/30200000.gpio, 30200000.gpio:
>> gpio-3 ( |spi1 CS1 ) out hi ACTIVE LOW
>> gpio-5 ( |regulator-vbus ) out lo
>>
>> gpiochip1: GPIOs 64-95, parent: platform/30220000.gpio, 30220000.gpio:
>> gpio-67 ( |spi3 CS0 ) out hi ACTIVE LOW
>>
>> gpiochip2: GPIOs 96-127, parent: platform/30230000.gpio, 30230000.gpio:
>>
>> gpiochip3: GPIOs 128-159, parent: platform/30240000.gpio, 30240000.gpio:
>> gpio-128 ( |cd ) in hi IRQ ACTIVE LOW
>> gpio-129 ( |spi1 CS0 ) out hi ACTIVE LOW
>
> regards,
> Marc
>
> --
> Pengutronix e.K. | Marc Kleine-Budde |
> Embedded Linux | https://www.pengutronix.de |
> Vertretung West/Dortmund | Phone: +49-231-2826-924 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
next prev parent reply other threads:[~2022-01-31 14:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-31 8:33 MCP2518FD : Failed to detect MCP2518FD (osc=0x00000000) petter
2022-01-31 8:42 ` Marc Kleine-Budde
2022-01-31 9:35 ` petter
2022-01-31 9:58 ` Marc Kleine-Budde
2022-01-31 12:44 ` petter
2022-01-31 13:09 ` Marc Kleine-Budde
2022-01-31 14:15 ` petter [this message]
2022-01-31 15:17 ` Marc Kleine-Budde
2022-02-01 9:08 ` petter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220131141503.C111C5B00631@dd15738.kasserver.com \
--to=petter@ka-long.de \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox