Skip to content

Commit 736df9d

Browse files
KBeichlerpopcornmix
authored andcommitted
overlays: mcp2515: Add support for spi3 and spi5
Extend the mcp2515 overlay to support the spi3 and spi5 buses available on newer Raspberry Pi hardware. This adds the required dormant fragments to disable the default spidev drivers, updates the __overrides__ routing logic, and updates the README accordingly. Signed-off-by: Kevin Beichler <k.beichler@gmx.com>
1 parent 718679a commit 736df9d

File tree

2 files changed

+62
-5
lines changed

2 files changed

+62
-5
lines changed

arch/arm/boot/dts/overlays/README

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3406,9 +3406,9 @@ Params: s08-spi<n>-<m>-present 4-bit integer, bitmap indicating MCP23S08
34063406

34073407

34083408
Name: mcp2515
3409-
Info: Configures the MCP2515 CAN controller on spi0/1/2
3410-
For devices on spi1 or spi2, the interfaces should be enabled
3411-
with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
3409+
Info: Configures the MCP2515 CAN controller on spi0/1/2/3/5
3410+
For devices on spi1, spi2, spi3 or spi5, the interfaces should be
3411+
enabled with one of the spi<n>-1/2/3cs overlays.
34123412
Load: dtoverlay=mcp2515,<param>=<val>
34133413
Params: spi<n>-<m> Configure device at spi<n>, cs<m>
34143414
(boolean, required)

arch/arm/boot/dts/overlays/mcp2515-overlay.dts

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,34 @@
6767
};
6868

6969
fragment@8 {
70+
target-path = "spi3/spidev@0";
71+
__dormant__ {
72+
status = "disabled";
73+
};
74+
};
75+
76+
fragment@9 {
77+
target-path = "spi3/spidev@1";
78+
__dormant__ {
79+
status = "disabled";
80+
};
81+
};
82+
83+
fragment@10 {
84+
target-path = "spi5/spidev@0";
85+
__dormant__ {
86+
status = "disabled";
87+
};
88+
};
89+
90+
fragment@11 {
91+
target-path = "spi5/spidev@1";
92+
__dormant__ {
93+
status = "disabled";
94+
};
95+
};
96+
97+
fragment@12 {
7098
target = <&gpio>;
7199
__overlay__ {
72100
mcp2515_pins: mcp2515_pins {
@@ -76,7 +104,7 @@
76104
};
77105
};
78106

79-
fragment@9 {
107+
fragment@13 {
80108
target-path = "/clocks";
81109
__overlay__ {
82110
clk_mcp2515_osc: mcp2515-osc {
@@ -87,7 +115,7 @@
87115
};
88116
};
89117

90-
mcp2515_frag: fragment@10 {
118+
mcp2515_frag: fragment@14 {
91119
target = <&spi0>;
92120
__overlay__ {
93121
status = "okay";
@@ -118,6 +146,7 @@
118146
<&mcp2515>, "reg:0=1",
119147
<&mcp2515_pins>, "name=mcp2515_spi0_1_pins",
120148
<&clk_mcp2515_osc>, "name=mcp2515-spi0-1-osc";
149+
121150
spi1-0 = <0>, "+2",
122151
<&mcp2515_frag>, "target:0=", <&spi1>,
123152
<&mcp2515>, "reg:0=0",
@@ -133,6 +162,7 @@
133162
<&mcp2515>, "reg:0=2",
134163
<&mcp2515_pins>, "name=mcp2515_spi1_2_pins",
135164
<&clk_mcp2515_osc>, "name=mcp2515-spi1-2-osc";
165+
136166
spi2-0 = <0>, "+5",
137167
<&mcp2515_frag>, "target:0=", <&spi2>,
138168
<&mcp2515>, "reg:0=0",
@@ -148,6 +178,33 @@
148178
<&mcp2515>, "reg:0=2",
149179
<&mcp2515_pins>, "name=mcp2515_spi2_2_pins",
150180
<&clk_mcp2515_osc>, "name=mcp2515-spi2-2-osc";
181+
182+
spi3-0 = <0>, "+8",
183+
<&mcp2515_frag>, "target?=0",
184+
<&mcp2515_frag>, "target-path=spi3",
185+
<&mcp2515>, "reg:0=0",
186+
<&mcp2515_pins>, "name=mcp2515_spi3_0_pins",
187+
<&clk_mcp2515_osc>, "name=mcp2515-spi3-0-osc";
188+
spi3-1 = <0>, "+9",
189+
<&mcp2515_frag>, "target?=0",
190+
<&mcp2515_frag>, "target-path=spi3",
191+
<&mcp2515>, "reg:0=1",
192+
<&mcp2515_pins>, "name=mcp2515_spi3_1_pins",
193+
<&clk_mcp2515_osc>, "name=mcp2515-spi3-1-osc";
194+
195+
spi5-0 = <0>, "+10",
196+
<&mcp2515_frag>, "target?=0",
197+
<&mcp2515_frag>, "target-path=spi5",
198+
<&mcp2515>, "reg:0=0",
199+
<&mcp2515_pins>, "name=mcp2515_spi5_0_pins",
200+
<&clk_mcp2515_osc>, "name=mcp2515-spi5-0-osc";
201+
spi5-1 = <0>, "+11",
202+
<&mcp2515_frag>, "target?=0",
203+
<&mcp2515_frag>, "target-path=spi5",
204+
<&mcp2515>, "reg:0=1",
205+
<&mcp2515_pins>, "name=mcp2515_spi5_1_pins",
206+
<&clk_mcp2515_osc>, "name=mcp2515-spi5-1-osc";
207+
151208
oscillator = <&clk_mcp2515_osc>, "clock-frequency:0";
152209
speed = <&mcp2515>, "spi-max-frequency:0";
153210
interrupt = <&mcp2515_pins>, "brcm,pins:0",

0 commit comments

Comments
 (0)