aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-04-28 11:46:27 -0400
committerArnd Bergmann <arnd@arndb.de>2016-04-28 11:46:27 -0400
commit6383190203b93ff5915edb378acc76bb6a21a604 (patch)
tree2fad592b3cc28b596c3f70f8268f6ff66098c3d2
parent94379acca0394e8b030d805e7ae20d81b22fa77e (diff)
parentf5515f9cdff136dc32517d4b81fe2b9091237b4a (diff)
Merge tag 'renesas-fixes2-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
Merge "Second Round of Renesas ARM Based SoC Fixes for v4.6" from Simon Horman: * Don't disable referenced optional scif clock * tag 'renesas-fixes2-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: r8a7795: Don't disable referenced optional scif clock ARM: shmobile: timer: Fix preset_lpj leading to too short delays Revert "ARM: dts: porter: Enable SCIF_CLK frequency and pins" ARM: dts: r8a7791: Don't disable referenced optional clocks
-rw-r--r--arch/arm/boot/dts/r8a7791-koelsch.dts1
-rw-r--r--arch/arm/boot/dts/r8a7791-porter.dts14
-rw-r--r--arch/arm/boot/dts/r8a7791.dtsi5
-rw-r--r--arch/arm/mach-shmobile/timer.c28
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795.dtsi1
5 files changed, 14 insertions, 35 deletions
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
index 0ad71b81d3a2..cc6e28f81fe4 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -661,6 +661,7 @@
661}; 661};
662 662
663&pcie_bus_clk { 663&pcie_bus_clk {
664 clock-frequency = <100000000>;
664 status = "okay"; 665 status = "okay";
665}; 666};
666 667
diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts
index 6c08314427d6..a9285d9a57cd 100644
--- a/arch/arm/boot/dts/r8a7791-porter.dts
+++ b/arch/arm/boot/dts/r8a7791-porter.dts
@@ -143,19 +143,11 @@
143}; 143};
144 144
145&pfc { 145&pfc {
146 pinctrl-0 = <&scif_clk_pins>;
147 pinctrl-names = "default";
148
149 scif0_pins: serial0 { 146 scif0_pins: serial0 {
150 renesas,groups = "scif0_data_d"; 147 renesas,groups = "scif0_data_d";
151 renesas,function = "scif0"; 148 renesas,function = "scif0";
152 }; 149 };
153 150
154 scif_clk_pins: scif_clk {
155 renesas,groups = "scif_clk";
156 renesas,function = "scif_clk";
157 };
158
159 ether_pins: ether { 151 ether_pins: ether {
160 renesas,groups = "eth_link", "eth_mdio", "eth_rmii"; 152 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
161 renesas,function = "eth"; 153 renesas,function = "eth";
@@ -229,11 +221,6 @@
229 status = "okay"; 221 status = "okay";
230}; 222};
231 223
232&scif_clk {
233 clock-frequency = <14745600>;
234 status = "okay";
235};
236
237&ether { 224&ether {
238 pinctrl-0 = <&ether_pins &phy1_pins>; 225 pinctrl-0 = <&ether_pins &phy1_pins>;
239 pinctrl-names = "default"; 226 pinctrl-names = "default";
@@ -414,6 +401,7 @@
414}; 401};
415 402
416&pcie_bus_clk { 403&pcie_bus_clk {
404 clock-frequency = <100000000>;
417 status = "okay"; 405 status = "okay";
418}; 406};
419 407
diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
index 6439f0569fe2..1cd1b6a3a72a 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -1083,9 +1083,8 @@
1083 pcie_bus_clk: pcie_bus_clk { 1083 pcie_bus_clk: pcie_bus_clk {
1084 compatible = "fixed-clock"; 1084 compatible = "fixed-clock";
1085 #clock-cells = <0>; 1085 #clock-cells = <0>;
1086 clock-frequency = <100000000>; 1086 clock-frequency = <0>;
1087 clock-output-names = "pcie_bus"; 1087 clock-output-names = "pcie_bus";
1088 status = "disabled";
1089 }; 1088 };
1090 1089
1091 /* External SCIF clock */ 1090 /* External SCIF clock */
@@ -1094,7 +1093,6 @@
1094 #clock-cells = <0>; 1093 #clock-cells = <0>;
1095 /* This value must be overridden by the board. */ 1094 /* This value must be overridden by the board. */
1096 clock-frequency = <0>; 1095 clock-frequency = <0>;
1097 status = "disabled";
1098 }; 1096 };
1099 1097
1100 /* External USB clock - can be overridden by the board */ 1098 /* External USB clock - can be overridden by the board */
@@ -1112,7 +1110,6 @@
1112 /* This value must be overridden by the board. */ 1110 /* This value must be overridden by the board. */
1113 clock-frequency = <0>; 1111 clock-frequency = <0>;
1114 clock-output-names = "can_clk"; 1112 clock-output-names = "can_clk";
1115 status = "disabled";
1116 }; 1113 };
1117 1114
1118 /* Special CPG clocks */ 1115 /* Special CPG clocks */
diff --git a/arch/arm/mach-shmobile/timer.c b/arch/arm/mach-shmobile/timer.c
index ad008e4b0c49..67d79f9c6bad 100644
--- a/arch/arm/mach-shmobile/timer.c
+++ b/arch/arm/mach-shmobile/timer.c
@@ -40,8 +40,7 @@ static void __init shmobile_setup_delay_hz(unsigned int max_cpu_core_hz,
40void __init shmobile_init_delay(void) 40void __init shmobile_init_delay(void)
41{ 41{
42 struct device_node *np, *cpus; 42 struct device_node *np, *cpus;
43 bool is_a7_a8_a9 = false; 43 unsigned int div = 0;
44 bool is_a15 = false;
45 bool has_arch_timer = false; 44 bool has_arch_timer = false;
46 u32 max_freq = 0; 45 u32 max_freq = 0;
47 46
@@ -55,27 +54,22 @@ void __init shmobile_init_delay(void)
55 if (!of_property_read_u32(np, "clock-frequency", &freq)) 54 if (!of_property_read_u32(np, "clock-frequency", &freq))
56 max_freq = max(max_freq, freq); 55 max_freq = max(max_freq, freq);
57 56
58 if (of_device_is_compatible(np, "arm,cortex-a8") || 57 if (of_device_is_compatible(np, "arm,cortex-a8")) {
59 of_device_is_compatible(np, "arm,cortex-a9")) { 58 div = 2;
60 is_a7_a8_a9 = true; 59 } else if (of_device_is_compatible(np, "arm,cortex-a9")) {
61 } else if (of_device_is_compatible(np, "arm,cortex-a7")) { 60 div = 1;
62 is_a7_a8_a9 = true; 61 } else if (of_device_is_compatible(np, "arm,cortex-a7") ||
63 has_arch_timer = true; 62 of_device_is_compatible(np, "arm,cortex-a15")) {
64 } else if (of_device_is_compatible(np, "arm,cortex-a15")) { 63 div = 1;
65 is_a15 = true;
66 has_arch_timer = true; 64 has_arch_timer = true;
67 } 65 }
68 } 66 }
69 67
70 of_node_put(cpus); 68 of_node_put(cpus);
71 69
72 if (!max_freq) 70 if (!max_freq || !div)
73 return; 71 return;
74 72
75 if (!has_arch_timer || !IS_ENABLED(CONFIG_ARM_ARCH_TIMER)) { 73 if (!has_arch_timer || !IS_ENABLED(CONFIG_ARM_ARCH_TIMER))
76 if (is_a7_a8_a9) 74 shmobile_setup_delay_hz(max_freq, 1, div);
77 shmobile_setup_delay_hz(max_freq, 1, 3);
78 else if (is_a15)
79 shmobile_setup_delay_hz(max_freq, 2, 4);
80 }
81} 75}
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index a7315ebe3883..706d2426024f 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -120,7 +120,6 @@
120 compatible = "fixed-clock"; 120 compatible = "fixed-clock";
121 #clock-cells = <0>; 121 #clock-cells = <0>;
122 clock-frequency = <0>; 122 clock-frequency = <0>;
123 status = "disabled";
124 }; 123 };
125 124
126 soc { 125 soc {