BCM2708: Add core Device Tree support
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / spi2-3cs-overlay.dts
1 /dts-v1/;
2 /plugin/;
3
4
5 / {
6         compatible = "brcm,bcm2835";
7
8         fragment@0 {
9                 target = <&gpio>;
10                 __overlay__ {
11                         spi2_pins: spi2_pins {
12                                 brcm,pins = <40 41 42>;
13                                 brcm,function = <3>; /* alt4 */
14                         };
15
16                         spi2_cs_pins: spi2_cs_pins {
17                                 brcm,pins = <43 44 45>;
18                                 brcm,function = <1>; /* output */
19                         };
20                 };
21         };
22
23         fragment@1 {
24                 target = <&spi2>;
25                 frag1: __overlay__ {
26                         /* needed to avoid dtc warning */
27                         #address-cells = <1>;
28                         #size-cells = <0>;
29                         pinctrl-names = "default";
30                         pinctrl-0 = <&spi2_pins &spi2_cs_pins>;
31                         cs-gpios = <&gpio 43 1>, <&gpio 44 1>, <&gpio 45 1>;
32                         status = "okay";
33
34                         spidev2_0: spidev@0 {
35                                 compatible = "spidev";
36                                 reg = <0>;      /* CE0 */
37                                 #address-cells = <1>;
38                                 #size-cells = <0>;
39                                 spi-max-frequency = <125000000>;
40                                 status = "okay";
41                         };
42
43                         spidev2_1: spidev@1 {
44                                 compatible = "spidev";
45                                 reg = <1>;      /* CE1 */
46                                 #address-cells = <1>;
47                                 #size-cells = <0>;
48                                 spi-max-frequency = <125000000>;
49                                 status = "okay";
50                         };
51
52                         spidev2_2: spidev@2 {
53                                 compatible = "spidev";
54                                 reg = <2>;      /* CE2 */
55                                 #address-cells = <1>;
56                                 #size-cells = <0>;
57                                 spi-max-frequency = <125000000>;
58                                 status = "okay";
59                         };
60                 };
61         };
62
63         fragment@2 {
64                 target = <&aux>;
65                 __overlay__ {
66                         status = "okay";
67                 };
68         };
69
70         __overrides__ {
71                 cs0_pin  = <&spi2_cs_pins>,"brcm,pins:0",
72                            <&frag1>,"cs-gpios:4";
73                 cs1_pin  = <&spi2_cs_pins>,"brcm,pins:4",
74                            <&frag1>,"cs-gpios:16";
75                 cs2_pin  = <&spi2_cs_pins>,"brcm,pins:8",
76                            <&frag1>,"cs-gpios:28";
77                 cs0_spidev = <&spidev2_0>,"status";
78                 cs1_spidev = <&spidev2_1>,"status";
79                 cs2_spidev = <&spidev2_2>,"status";
80         };
81 };