Hi,
I have a custom board similar to the thingy91.
I use two MCP251863 (same as MCP2518FD with an integrated tranceiver) on the spi3.
schematic
device tree
/ { model = "custom thingy nRF9160"; compatible = "nordic,asl01-nrf9160"; chosen { zephyr,console = &uart0; zephyr,shell-uart = &uart0; zephyr,uart-mcumgr = &uart0; zephyr,canbus = &can1; }; buttons { compatible = "gpio-keys"; button0: button_0 { gpios = <&gpio0 26 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Button 1"; }; }; leds { compatible = "gpio-leds"; red_led: led_1 { gpios = <&gpio0 13 0>; label = "RGB red channel"; }; green_led: led_2 { gpios = <&gpio0 9 0>; label = "RGB green channel"; }; blue_led: led_3 { gpios = <&gpio0 14 0>; label = "RGB blue channel"; }; }; pwmleds { compatible = "pwm-leds"; pwm_led0: pwm_led_0 { pwms = <&pwm0 0 PWM_MSEC(8) PWM_POLARITY_NORMAL>; }; pwm_led1: pwm_led_1 { pwms = <&pwm0 1 PWM_MSEC(8) PWM_POLARITY_NORMAL>; }; pwm_led2: pwm_led_2 { pwms = <&pwm0 2 PWM_MSEC(8) PWM_POLARITY_NORMAL>; }; }; nrf52840_reset: gpio-reset { compatible = "nordic,asl01-nrf52840-reset"; status = "okay"; gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; }; aliases { sw0 = &button0; led0 = &red_led; led1 = &green_led; led2 = &blue_led; pwm-led0 = &pwm_led0; pwm-led1 = &pwm_led1; pwm-led2 = &pwm_led2; rgb-pwm = &pwm0; mcuboot-button0 = &button0; mcuboot-led0 = &blue_led; }; }; &adc { status = "okay"; }; &gpiote { status = "okay"; }; &gpio0 { status = "okay"; }; /* PWM0 is intended for RGB LED control */ &pwm0 { status = "okay"; pinctrl-0 = <&pwm0_default>; pinctrl-1 = <&pwm0_sleep>; pinctrl-names = "default", "sleep"; }; &spi3 { compatible = "nordic,nrf-spim"; status = "okay"; cs-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; pinctrl-0 = <&spi3_default>; pinctrl-1 = <&spi3_sleep>; pinctrl-names = "default", "sleep"; can1: mcp251xfd@0 { compatible = "microchip,mcp251xfd"; status = "okay"; spi-max-frequency = <18000000>; int-gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; reg = <0x0>; osc-freq = <40000000>; bus-speed-data = <1000000>; bus-speed = <500000>; // 500Kbits/s sample-point = <875>; sample-point-data = <875>; }; };
prj.conf
CONFIG_SPI=y CONFIG_CAN=y CONFIG_CAN_FD_MODE=y CONFIG_CAN_MCP251XFD=y
Q1: how to add both MCP to my device tree ?
Q2: do I add the tranceiver to the device tree, if yes, how to do so ?
Q3: how to enable disble the tranceiver ?
thanks for your time,