brcm2708: add linux 4.1 support
[openwrt.git] / target / linux / brcm2708 / patches-4.1 / 0084-BCM270X_DT-Create-a-core-clock-use-it-for-SPI-and-sd.patch
1 From 6bda1bf0de21592f772c2d65b3e66ddf89d50bdf Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Fri, 26 Jun 2015 08:39:19 +0100
4 Subject: [PATCH 084/121] BCM270X_DT: Create a "core" clock, use it for SPI and
5  sdhost
6
7 ---
8  arch/arm/boot/dts/bcm2708-rpi-b-plus.dts      |  1 +
9  arch/arm/boot/dts/bcm2708-rpi-b.dts           |  1 +
10  arch/arm/boot/dts/bcm2708-rpi-cm.dts          |  1 +
11  arch/arm/boot/dts/bcm2708_common.dtsi         |  6 +++---
12  arch/arm/boot/dts/bcm2709-rpi-2-b.dts         |  1 +
13  arch/arm/boot/dts/overlays/sdhost-overlay.dts | 28 ++-------------------------
14  6 files changed, 9 insertions(+), 29 deletions(-)
15
16 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
17 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
18 @@ -124,6 +124,7 @@
19                 i2c1 = <&i2c1>,"status";
20                 i2c0_baudrate = <&i2c0>,"clock-frequency:0";
21                 i2c1_baudrate = <&i2c1>,"clock-frequency:0";
22 +               core_freq = <&clk_core>,"clock-frequency:0";
23  
24                 act_led_gpio = <&act_led>,"gpios:4";
25                 act_led_activelow = <&act_led>,"gpios:8";
26 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
27 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
28 @@ -118,6 +118,7 @@
29                 i2c1 = <&i2c1>,"status";
30                 i2c0_baudrate = <&i2c0>,"clock-frequency:0";
31                 i2c1_baudrate = <&i2c1>,"clock-frequency:0";
32 +               core_freq = <&clk_core>,"clock-frequency:0";
33  
34                 act_led_gpio = <&act_led>,"gpios:4";
35                 act_led_activelow = <&act_led>,"gpios:8";
36 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts
37 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
38 @@ -14,5 +14,6 @@
39         __overrides__ {
40                 uart0 = <&uart0>,"status";
41                 uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
42 +               core_freq = <&clk_core>,"clock-frequency:0";
43         };
44  };
45 --- a/arch/arm/boot/dts/bcm2708_common.dtsi
46 +++ b/arch/arm/boot/dts/bcm2708_common.dtsi
47 @@ -110,7 +110,7 @@
48                         compatible = "brcm,bcm2835-spi";
49                         reg = <0x7e204000 0x1000>;
50                         interrupts = <2 22>;
51 -                       clocks = <&clk_spi>;
52 +                       clocks = <&clk_core>;
53                         #address-cells = <1>;
54                         #size-cells = <0>;
55                         status = "disabled";
56 @@ -203,11 +203,11 @@
57                         clock-frequency = <250000000>;
58                 };
59  
60 -               clk_spi: clock@2 {
61 +               clk_core: clock@2 {
62                         compatible = "fixed-clock";
63                         reg = <2>;
64                         #clock-cells = <0>;
65 -                       clock-output-names = "spi";
66 +                       clock-output-names = "core";
67                         clock-frequency = <250000000>;
68                 };
69  
70 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
71 +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
72 @@ -124,6 +124,7 @@
73                 i2c1 = <&i2c1>,"status";
74                 i2c0_baudrate = <&i2c0>,"clock-frequency:0";
75                 i2c1_baudrate = <&i2c1>,"clock-frequency:0";
76 +               core_freq = <&clk_core>,"clock-frequency:0";
77  
78                 act_led_gpio = <&act_led>,"gpios:4";
79                 act_led_activelow = <&act_led>,"gpios:8";
80 --- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts
81 +++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts
82 @@ -16,7 +16,7 @@
83                                 pinctrl-names = "default";
84                                 pinctrl-0 = <&sdhost_pins>;
85                                 interrupts = <2 24>;
86 -                               clocks = <&clk_sdhost>;
87 +                               clocks = <&clk_core>;
88                                 dmas = <&dma 13>,
89                                        <&dma 13>;
90                                 dma-names = "tx", "rx";
91 @@ -29,22 +29,6 @@
92         };
93  
94         fragment@1 {
95 -               target = <&clocks>;
96 -               __overlay__ {
97 -                       #address-cells = <1>;
98 -                       #size-cells = <0>;
99 -
100 -                       clk_sdhost: sdhost {
101 -                               compatible = "fixed-clock";
102 -                               reg = <0>;
103 -                               #clock-cells = <0>;
104 -                               clock-output-names = "sdhost";
105 -                               clock-frequency = <250000000>;
106 -                       };
107 -               };
108 -       };
109 -
110 -       fragment@2 {
111                 target = <&gpio>;
112                 __overlay__ {
113                         sdhost_pins: sdhost_pins {
114 @@ -54,7 +38,7 @@
115                 };
116         };
117  
118 -       fragment@3 {
119 +       fragment@2 {
120                 target = <&mmc>;
121                 __overlay__ {
122                         /* Find a way to disable the other driver */
123 @@ -63,18 +47,10 @@
124                 };
125         };
126  
127 -       fragment@4 {
128 -               target-path = "/__overrides__";
129 -               __overlay__ {
130 -                       sdhost_freq      = <&clk_sdhost>,"clock-frequency:0";
131 -               };
132 -       };
133 -
134         __overrides__ {
135                 overclock_50     = <&sdhost>,"brcm,overclock-50:0";
136                 force_pio        = <&sdhost>,"brcm,force-pio?";
137                 pio_limit        = <&sdhost>,"brcm,pio-limit:0";
138                 debug            = <&sdhost>,"brcm,debug?";
139 -               sdhost_freq      = <&clk_sdhost>,"clock-frequency:0";
140         };
141  };