diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-04-28 11:46:27 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2016-04-28 11:46:27 -0400 |
commit | 6383190203b93ff5915edb378acc76bb6a21a604 (patch) | |
tree | 2fad592b3cc28b596c3f70f8268f6ff66098c3d2 | |
parent | 94379acca0394e8b030d805e7ae20d81b22fa77e (diff) | |
parent | f5515f9cdff136dc32517d4b81fe2b9091237b4a (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.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/r8a7791-porter.dts | 14 | ||||
-rw-r--r-- | arch/arm/boot/dts/r8a7791.dtsi | 5 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/timer.c | 28 | ||||
-rw-r--r-- | arch/arm64/boot/dts/renesas/r8a7795.dtsi | 1 |
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 | ðer { | 224 | ðer { |
238 | pinctrl-0 = <ðer_pins &phy1_pins>; | 225 | pinctrl-0 = <ðer_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, | |||
40 | void __init shmobile_init_delay(void) | 40 | void __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 { |