[PATCH 2/7] ARM: vf-colibri: add SPI support and enable MCP2515 CAN

Stefan Agner stefan at agner.ch
Wed Jan 28 01:55:23 PST 2015


On 2015-01-27 11:57, Bhuvanchandra DV wrote:
> MCP2515 CAN controller is available on Colibri Evaluation board.
> Hence enable MCP2515 CAN.
> 
> Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv at toradex.com>
> ---
>  arch/arm/boot/dts/vf-colibri-eval-v3.dtsi | 31 +++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/vf-colibri.dtsi         | 15 +++++++++++++++
>  2 files changed, 46 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
> b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
> index 36cafbf..69364b0 100644
> --- a/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
> +++ b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
> @@ -12,6 +12,12 @@
>  		bootargs = "console=ttyLP0,115200";
>  	};
>  
> +	clk16m: clk16m {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <16000000>;
> +	};
> +
>  	regulators {
>  		compatible = "simple-bus";
>  		#address-cells = <1>;
> @@ -47,6 +53,21 @@
>  	status  = "okay";
>  };
>  
> +&dspi1 {
> +	status = "okay";
> +
> +	can2: mcp2515 at 0 {


The device tree usage website states (devicetree.org): "nodes are named
according to what kind of device it represents"...

You can use the label to specify the type, e.g. I would suggest to use
something like:


	mcp2515can: can at 0 {
...




> +		compatible = "microchip,mcp2515";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_can_int>;
> +		reg = <0>;
> +		clocks = <&clk16m>;
> +		spi-max-frequency = <10000000>;
> +		interrupt-parent = <&gpio2>;

The interrupt line of the MCP2515 is connected to SODIMM 73, which is
PORT1[11] on Vybrid. My recent renaming of the GPIO's has been merged
already:
https://lkml.org/lkml/2015/1/16/419

Hence, this should be updated to gpio1.


> +		interrupts = <11 GPIO_ACTIVE_LOW>;
> +	};
> +};
> +
>  &esdhc1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_esdhc1>;
> @@ -94,3 +115,13 @@
>  &usbh1 {
>  	vbus-supply = <&usbh_vbus_reg>;
>  };
> +
> +&iomuxc {
> +	vf610-colibri {
> +		pinctrl_can_int: can_int {
> +			fsl,pins = <
> +				VF610_PAD_PTB21__GPIO_43	0x22ed
> +			>;
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/vf-colibri.dtsi
> b/arch/arm/boot/dts/vf-colibri.dtsi
> index 5c2b732..fbef082 100644
> --- a/arch/arm/boot/dts/vf-colibri.dtsi
> +++ b/arch/arm/boot/dts/vf-colibri.dtsi
> @@ -23,6 +23,12 @@
>  	status = "okay";
>  };
>  
> +&dspi1 {
> +	bus-num = <1>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_dspi1>;
> +};
> +
>  &edma0 {
>  	status = "okay";
>  };
> @@ -107,6 +113,15 @@
>  			>;
>  		};
>  
> +		pinctrl_dspi1: dspi1grp {
> +			fsl,pins = <
> +				VF610_PAD_PTD5__DSPI1_CS0		0x33e2
> +				VF610_PAD_PTD6__DSPI1_SIN		0x33e1
> +				VF610_PAD_PTD7__DSPI1_SOUT		0x33e2
> +				VF610_PAD_PTD8__DSPI1_SCK		0x33e2
> +			>;
> +		};
> +
>  		pinctrl_esdhc1: esdhc1grp {
>  			fsl,pins = <
>  				VF610_PAD_PTA24__ESDHC1_CLK	0x31ef


The rest looks good, thx.

--
Stefan



More information about the linux-arm-kernel mailing list