Skip to content

Commit f4be9f7

Browse files
committed
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 2275520 commit f4be9f7

2 files changed

Lines changed: 59 additions & 6 deletions

File tree

arch/arm/boot/dts/overlays/README

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

33943394

33953395
Name: mcp2515
3396-
Info: Configures the MCP2515 CAN controller on spi0/1/2
3397-
For devices on spi1 or spi2, the interfaces should be enabled
3398-
with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
3396+
Info: Configures the MCP2515 CAN controller on spi0/1/2/3/5
3397+
For devices on spi1, spi2, spi3 or spi5, the interfaces should be enabled
3398+
with one of the spi<n>-1/2/3cs overlays.
33993399
Load: dtoverlay=mcp2515,<param>=<val>
34003400
Params: spi<n>-<m> Configure device at spi<n>, cs<m>
34013401
(boolean, required)

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

Lines changed: 56 additions & 3 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,9 +178,32 @@
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=", <&spi3>,
184+
<&mcp2515>, "reg:0=0",
185+
<&mcp2515_pins>, "name=mcp2515_spi3_0_pins",
186+
<&clk_mcp2515_osc>, "name=mcp2515-spi3-0-osc";
187+
spi3-1 = <0>, "+9",
188+
<&mcp2515_frag>, "target:0=", <&spi3>,
189+
<&mcp2515>, "reg:0=1",
190+
<&mcp2515_pins>, "name=mcp2515_spi3_1_pins",
191+
<&clk_mcp2515_osc>, "name=mcp2515-spi3-1-osc";
192+
193+
spi5-0 = <0>, "+10",
194+
<&mcp2515_frag>, "target:0=", <&spi5>,
195+
<&mcp2515>, "reg:0=0",
196+
<&mcp2515_pins>, "name=mcp2515_spi5_0_pins",
197+
<&clk_mcp2515_osc>, "name=mcp2515-spi5-0-osc";
198+
spi5-1 = <0>, "+11",
199+
<&mcp2515_frag>, "target:0=", <&spi5>,
200+
<&mcp2515>, "reg:0=1",
201+
<&mcp2515_pins>, "name=mcp2515_spi5_1_pins",
202+
<&clk_mcp2515_osc>, "name=mcp2515-spi5-1-osc";
203+
151204
oscillator = <&clk_mcp2515_osc>, "clock-frequency:0";
152205
speed = <&mcp2515>, "spi-max-frequency:0";
153206
interrupt = <&mcp2515_pins>, "brcm,pins:0",
154207
<&mcp2515>, "interrupts:0";
155208
};
156-
};
209+
};

0 commit comments

Comments
 (0)