e2d168b9c1efb9e871a0885d57a6de26a8a6c332
[librecmc/librecmc.git] / target / linux / brcm2708 / patches-4.4 / 0202-Add-overlay-and-enable-support-for-QCA7000-board.patch
1 From 76d3e26b821b2490619f4762b5f604e77636fdb1 Mon Sep 17 00:00:00 2001
2 From: Michael Heimpold <michael.heimpold@i2se.com>
3 Date: Fri, 29 Jan 2016 12:00:37 +0100
4 Subject: [PATCH 202/232] Add overlay and enable support for QCA7000 board
5
6 This adds a device tree overlay for the QCA7000 which can be used
7 when attaching an I2SE's PLC Stamp micro EVK to the Raspberry Pi.
8
9 This Evaluation Board embeds a QCA7000 chip, a Homeplug Green PHY
10 powerline chip from Qualcomm/Atheros for the Internet of Things.
11
12 This patch also enables the required QCA7000 driver module
13 in the default configurations.
14
15 Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
16 Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
17 ---
18  arch/arm/boot/dts/overlays/Makefile            |  1 +
19  arch/arm/boot/dts/overlays/README              |  8 ++++
20  arch/arm/boot/dts/overlays/qca7000-overlay.dts | 52 ++++++++++++++++++++++++++
21  arch/arm/configs/bcm2709_defconfig             |  1 +
22  arch/arm/configs/bcmrpi_defconfig              |  1 +
23  5 files changed, 63 insertions(+)
24  create mode 100644 arch/arm/boot/dts/overlays/qca7000-overlay.dts
25
26 --- a/arch/arm/boot/dts/overlays/Makefile
27 +++ b/arch/arm/boot/dts/overlays/Makefile
28 @@ -48,6 +48,7 @@ dtbo-$(RPI_DT_OVERLAYS) += pitft28-resis
29  dtbo-$(RPI_DT_OVERLAYS) += pps-gpio.dtbo
30  dtbo-$(RPI_DT_OVERLAYS) += pwm.dtbo
31  dtbo-$(RPI_DT_OVERLAYS) += pwm-2chan.dtbo
32 +dtbo-$(RPI_DT_OVERLAYS) += qca7000.dtbo
33  dtbo-$(RPI_DT_OVERLAYS) += raspidac3.dtbo
34  dtbo-$(RPI_DT_OVERLAYS) += rpi-backlight.dtbo
35  dtbo-$(RPI_DT_OVERLAYS) += rpi-dac.dtbo
36 --- a/arch/arm/boot/dts/overlays/README
37 +++ b/arch/arm/boot/dts/overlays/README
38 @@ -625,6 +625,14 @@ Params: pin                     Output p
39          clock                   PWM clock frequency (informational)
40  
41  
42 +Name:   qca7000
43 +Info:   I2SE's Evaluation Board for PLC Stamp micro
44 +Load:   dtoverlay=qca7000,<param>=<val>
45 +Params: int_pin                 GPIO pin for interrupt signal (default 23)
46 +
47 +        speed                   SPI bus speed (default 12 MHz)
48 +
49 +
50  Name:   raspidac3
51  Info:   Configures the RaspiDAV Rev.3x audio card
52  Load:   dtoverlay=raspidac3
53 --- /dev/null
54 +++ b/arch/arm/boot/dts/overlays/qca7000-overlay.dts
55 @@ -0,0 +1,52 @@
56 +// Overlay for the Qualcomm Atheros QCA7000 on I2SE's PLC Stamp micro EVK
57 +// Visit: https://www.i2se.com/product/plc-stamp-micro-evk for details
58 +
59 +/dts-v1/;
60 +/plugin/;
61 +
62 +/ {
63 +       compatible = "brcm,bcm2708";
64 +
65 +       fragment@0 {
66 +               target = <&spi0>;
67 +               __overlay__ {
68 +                       /* needed to avoid dtc warning */
69 +                       #address-cells = <1>;
70 +                       #size-cells = <0>;
71 +
72 +                       status = "okay";
73 +
74 +                       spidev@0 {
75 +                               status = "disabled";
76 +                       };
77 +
78 +                       eth1: qca7000@0 {
79 +                               compatible = "qca,qca7000";
80 +                               reg = <0>; /* CE0 */
81 +                               pinctrl-names = "default";
82 +                               pinctrl-0 = <&eth1_pins>;
83 +                               interrupt-parent = <&gpio>;
84 +                               interrupts = <23 0x1>; /* rising edge */
85 +                               spi-max-frequency = <12000000>;
86 +                               status = "okay";
87 +                       };
88 +               };
89 +       };
90 +
91 +       fragment@1 {
92 +               target = <&gpio>;
93 +               __overlay__ {
94 +                       eth1_pins: eth1_pins {
95 +                               brcm,pins = <23>;
96 +                               brcm,function = <0>; /* in */
97 +                               brcm,pull = <0>; /* none */
98 +                       };
99 +               };
100 +       };
101 +
102 +       __overrides__ {
103 +               int_pin = <&eth1>, "interrupts:0",
104 +                         <&eth1_pins>, "brcm,pins:0";
105 +               speed   = <&eth1>, "spi-max-frequency:0";
106 +       };
107 +};
108 --- a/arch/arm/configs/bcm2709_defconfig
109 +++ b/arch/arm/configs/bcm2709_defconfig
110 @@ -446,6 +446,7 @@ CONFIG_NETCONSOLE=m
111  CONFIG_TUN=m
112  CONFIG_VETH=m
113  CONFIG_ENC28J60=m
114 +CONFIG_QCA7000=m
115  CONFIG_MDIO_BITBANG=m
116  CONFIG_PPP=m
117  CONFIG_PPP_BSDCOMP=m
118 --- a/arch/arm/configs/bcmrpi_defconfig
119 +++ b/arch/arm/configs/bcmrpi_defconfig
120 @@ -439,6 +439,7 @@ CONFIG_NETCONSOLE=m
121  CONFIG_TUN=m
122  CONFIG_VETH=m
123  CONFIG_ENC28J60=m
124 +CONFIG_QCA7000=m
125  CONFIG_MDIO_BITBANG=m
126  CONFIG_PPP=m
127  CONFIG_PPP_BSDCOMP=m