From da4472d8f09a2cd66ca2ffb05fdbdc1e3e0c3d52 Mon Sep 17 00:00:00 2001 From: "steve.jeong" Date: Tue, 14 Jun 2022 14:23:18 +0900 Subject: [PATCH] ODROID-M1: dtb/dtbo: Add mcp2515 (can module) Support mcp2515 12M clk and 16M clk. solved the one-bit time that came out twice as long Signed-off-by: Steve Jeong Signed-off-by: Dongjin Kim Change-Id: I47a405f11cdf290deacb9fa266d31525d80cacfc --- .../dts/rockchip/overlays/odroidm1/Makefile | 3 ++ .../rockchip/overlays/odroidm1/mcp2515.dts | 14 +++++ .../rockchip/overlays/odroidm1/mcp2515.dtsi | 52 +++++++++++++++++++ .../overlays/odroidm1/mcp2515_12mhz.dts | 14 +++++ .../overlays/odroidm1/mcp2515_16mhz.dts | 14 +++++ .../boot/dts/rockchip/rk3568-odroid.dtsi | 8 +++ 6 files changed, 105 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dts create mode 100644 arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dtsi create mode 100644 arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_12mhz.dts create mode 100644 arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_16mhz.dts diff --git a/arch/arm64/boot/dts/rockchip/overlays/odroidm1/Makefile b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/Makefile index b38c1dd6da1b..6ddd0ef96cdb 100644 --- a/arch/arm64/boot/dts/rockchip/overlays/odroidm1/Makefile +++ b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/Makefile @@ -5,6 +5,9 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP_ODROIDM1) += \ dht11.dtbo \ i2c0.dtbo \ i2c1.dtbo \ + mcp2515.dtbo \ + mcp2515_12mhz.dtbo \ + mcp2515_16mhz.dtbo \ onewire.dtbo \ pwm1.dtbo \ pwm2.dtbo \ diff --git a/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dts b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dts new file mode 100644 index 000000000000..f0cc4bd6e54f --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include "mcp2515.dtsi" + +/ { + fragment@1 { + __overlay__ { + can0_clk: can0_clk { + clock-frequency = <8000000>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dtsi b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dtsi new file mode 100644 index 000000000000..546e8d494d78 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515.dtsi @@ -0,0 +1,52 @@ +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + fragment@0 { + target = <&spi0>; + + __overlay__ { + num_chipselect = <1>; + cs-gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>; + }; + }; + + fragment@1 { + target-path = "/"; + + __overlay__ { + can0_clk: can0_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <8000000>; + }; + }; + }; + + fragment@2 { + target = <&spi0>; + + __overlay__ { + /* needed to avoid dtc warning */ + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + mcp2515: can@0 { + compatible = "microchip,mcp2515"; + pinctrl-names = "default"; + pinctrl-0 = <&mcp2515_int_pins>; + reg = <0>; + clocks = <&can0_clk>; + interrupt-parent = <&gpio0>; + interrupts = ; + spi-max-frequency = <10000000>; + status = "okay"; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_12mhz.dts b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_12mhz.dts new file mode 100644 index 000000000000..adbf3c1c2c2c --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_12mhz.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include "mcp2515.dtsi" + +/ { + fragment@1 { + __overlay__ { + can0_clk: can0_clk { + clock-frequency = <12000000>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_16mhz.dts b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_16mhz.dts new file mode 100644 index 000000000000..dfaf880f05d8 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/overlays/odroidm1/mcp2515_16mhz.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include "mcp2515.dtsi" + +/ { + fragment@1 { + __overlay__ { + can0_clk: can0_clk { + clock-frequency = <16000000>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-odroid.dtsi index 1d88517975af..8138b84d7842 100644 --- a/arch/arm64/boot/dts/rockchip/rk3568-odroid.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid.dtsi @@ -88,6 +88,14 @@ }; }; +&pinctrl { + can_pins { + mcp2515_int_pins: mcp2515_int_pins { + rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + &pinctrl { /delete-node/ mxc6655xa; /delete-node/ touch;