diff options
-rw-r--r-- | Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt | 38 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-385-linksys.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/meson8.dtsi | 57 | ||||
-rw-r--r-- | arch/arm/boot/dts/meson8b.dtsi | 12 | ||||
-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/configs/u8500_defconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap1/id.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/id.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/devices.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/Kconfig | 10 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/timer.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-uniphier/platsmp.c | 2 | ||||
-rw-r--r-- | arch/arm64/boot/dts/broadcom/vulcan.dtsi | 15 | ||||
-rw-r--r-- | drivers/bus/mvebu-mbus.c | 2 | ||||
-rw-r--r-- | drivers/bus/uniphier-system-bus.c | 2 | ||||
-rw-r--r-- | drivers/soc/mediatek/mtk-scpsys.c | 11 |
18 files changed, 88 insertions, 117 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt index 3f6a524cc5ff..32f4a2d6d0b3 100644 --- a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt | |||
@@ -1,13 +1,16 @@ | |||
1 | == Amlogic Meson pinmux controller == | 1 | == Amlogic Meson pinmux controller == |
2 | 2 | ||
3 | Required properties for the root node: | 3 | Required properties for the root node: |
4 | - compatible: "amlogic,meson8-pinctrl" or "amlogic,meson8b-pinctrl" | 4 | - compatible: one of "amlogic,meson8-cbus-pinctrl" |
5 | "amlogic,meson8b-cbus-pinctrl" | ||
6 | "amlogic,meson8-aobus-pinctrl" | ||
7 | "amlogic,meson8b-aobus-pinctrl" | ||
5 | - reg: address and size of registers controlling irq functionality | 8 | - reg: address and size of registers controlling irq functionality |
6 | 9 | ||
7 | === GPIO sub-nodes === | 10 | === GPIO sub-nodes === |
8 | 11 | ||
9 | The 2 power domains of the controller (regular and always-on) are | 12 | The GPIO bank for the controller is represented as a sub-node and it acts as a |
10 | represented as sub-nodes and each of them acts as a GPIO controller. | 13 | GPIO controller. |
11 | 14 | ||
12 | Required properties for sub-nodes are: | 15 | Required properties for sub-nodes are: |
13 | - reg: should contain address and size for mux, pull-enable, pull and | 16 | - reg: should contain address and size for mux, pull-enable, pull and |
@@ -18,10 +21,6 @@ Required properties for sub-nodes are: | |||
18 | - gpio-controller: identifies the node as a gpio controller | 21 | - gpio-controller: identifies the node as a gpio controller |
19 | - #gpio-cells: must be 2 | 22 | - #gpio-cells: must be 2 |
20 | 23 | ||
21 | Valid sub-node names are: | ||
22 | - "banks" for the regular domain | ||
23 | - "ao-bank" for the always-on domain | ||
24 | |||
25 | === Other sub-nodes === | 24 | === Other sub-nodes === |
26 | 25 | ||
27 | Child nodes without the "gpio-controller" represent some desired | 26 | Child nodes without the "gpio-controller" represent some desired |
@@ -45,7 +44,7 @@ pinctrl-bindings.txt | |||
45 | === Example === | 44 | === Example === |
46 | 45 | ||
47 | pinctrl: pinctrl@c1109880 { | 46 | pinctrl: pinctrl@c1109880 { |
48 | compatible = "amlogic,meson8-pinctrl"; | 47 | compatible = "amlogic,meson8-cbus-pinctrl"; |
49 | reg = <0xc1109880 0x10>; | 48 | reg = <0xc1109880 0x10>; |
50 | #address-cells = <1>; | 49 | #address-cells = <1>; |
51 | #size-cells = <1>; | 50 | #size-cells = <1>; |
@@ -61,15 +60,6 @@ pinctrl-bindings.txt | |||
61 | #gpio-cells = <2>; | 60 | #gpio-cells = <2>; |
62 | }; | 61 | }; |
63 | 62 | ||
64 | gpio_ao: ao-bank@c1108030 { | ||
65 | reg = <0xc8100014 0x4>, | ||
66 | <0xc810002c 0x4>, | ||
67 | <0xc8100024 0x8>; | ||
68 | reg-names = "mux", "pull", "gpio"; | ||
69 | gpio-controller; | ||
70 | #gpio-cells = <2>; | ||
71 | }; | ||
72 | |||
73 | nand { | 63 | nand { |
74 | mux { | 64 | mux { |
75 | groups = "nand_io", "nand_io_ce0", "nand_io_ce1", | 65 | groups = "nand_io", "nand_io_ce0", "nand_io_ce1", |
@@ -79,18 +69,4 @@ pinctrl-bindings.txt | |||
79 | function = "nand"; | 69 | function = "nand"; |
80 | }; | 70 | }; |
81 | }; | 71 | }; |
82 | |||
83 | uart_ao_a { | ||
84 | mux { | ||
85 | groups = "uart_tx_ao_a", "uart_rx_ao_a", | ||
86 | "uart_cts_ao_a", "uart_rts_ao_a"; | ||
87 | function = "uart_ao"; | ||
88 | }; | ||
89 | |||
90 | conf { | ||
91 | pins = "GPIOAO_0", "GPIOAO_1", | ||
92 | "GPIOAO_2", "GPIOAO_3"; | ||
93 | bias-disable; | ||
94 | }; | ||
95 | }; | ||
96 | }; | 72 | }; |
diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi index 3710755c6d76..85d2c377c332 100644 --- a/arch/arm/boot/dts/armada-385-linksys.dtsi +++ b/arch/arm/boot/dts/armada-385-linksys.dtsi | |||
@@ -117,7 +117,7 @@ | |||
117 | }; | 117 | }; |
118 | 118 | ||
119 | /* USB part of the eSATA/USB 2.0 port */ | 119 | /* USB part of the eSATA/USB 2.0 port */ |
120 | usb@50000 { | 120 | usb@58000 { |
121 | status = "okay"; | 121 | status = "okay"; |
122 | }; | 122 | }; |
123 | 123 | ||
diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi index a2ddcb8c545a..45619f6162c5 100644 --- a/arch/arm/boot/dts/meson8.dtsi +++ b/arch/arm/boot/dts/meson8.dtsi | |||
@@ -91,8 +91,8 @@ | |||
91 | clock-frequency = <141666666>; | 91 | clock-frequency = <141666666>; |
92 | }; | 92 | }; |
93 | 93 | ||
94 | pinctrl: pinctrl@c1109880 { | 94 | pinctrl_cbus: pinctrl@c1109880 { |
95 | compatible = "amlogic,meson8-pinctrl"; | 95 | compatible = "amlogic,meson8-cbus-pinctrl"; |
96 | reg = <0xc1109880 0x10>; | 96 | reg = <0xc1109880 0x10>; |
97 | #address-cells = <1>; | 97 | #address-cells = <1>; |
98 | #size-cells = <1>; | 98 | #size-cells = <1>; |
@@ -108,29 +108,6 @@ | |||
108 | #gpio-cells = <2>; | 108 | #gpio-cells = <2>; |
109 | }; | 109 | }; |
110 | 110 | ||
111 | gpio_ao: ao-bank@c1108030 { | ||
112 | reg = <0xc8100014 0x4>, | ||
113 | <0xc810002c 0x4>, | ||
114 | <0xc8100024 0x8>; | ||
115 | reg-names = "mux", "pull", "gpio"; | ||
116 | gpio-controller; | ||
117 | #gpio-cells = <2>; | ||
118 | }; | ||
119 | |||
120 | uart_ao_a_pins: uart_ao_a { | ||
121 | mux { | ||
122 | groups = "uart_tx_ao_a", "uart_rx_ao_a"; | ||
123 | function = "uart_ao"; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | i2c_ao_pins: i2c_mst_ao { | ||
128 | mux { | ||
129 | groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao"; | ||
130 | function = "i2c_mst_ao"; | ||
131 | }; | ||
132 | }; | ||
133 | |||
134 | spi_nor_pins: nor { | 111 | spi_nor_pins: nor { |
135 | mux { | 112 | mux { |
136 | groups = "nor_d", "nor_q", "nor_c", "nor_cs"; | 113 | groups = "nor_d", "nor_q", "nor_c", "nor_cs"; |
@@ -157,4 +134,34 @@ | |||
157 | }; | 134 | }; |
158 | }; | 135 | }; |
159 | 136 | ||
137 | pinctrl_aobus: pinctrl@c8100084 { | ||
138 | compatible = "amlogic,meson8-aobus-pinctrl"; | ||
139 | reg = <0xc8100084 0xc>; | ||
140 | #address-cells = <1>; | ||
141 | #size-cells = <1>; | ||
142 | ranges; | ||
143 | |||
144 | gpio_ao: ao-bank@c1108030 { | ||
145 | reg = <0xc8100014 0x4>, | ||
146 | <0xc810002c 0x4>, | ||
147 | <0xc8100024 0x8>; | ||
148 | reg-names = "mux", "pull", "gpio"; | ||
149 | gpio-controller; | ||
150 | #gpio-cells = <2>; | ||
151 | }; | ||
152 | |||
153 | uart_ao_a_pins: uart_ao_a { | ||
154 | mux { | ||
155 | groups = "uart_tx_ao_a", "uart_rx_ao_a"; | ||
156 | function = "uart_ao"; | ||
157 | }; | ||
158 | }; | ||
159 | |||
160 | i2c_ao_pins: i2c_mst_ao { | ||
161 | mux { | ||
162 | groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao"; | ||
163 | function = "i2c_mst_ao"; | ||
164 | }; | ||
165 | }; | ||
166 | }; | ||
160 | }; /* end of / */ | 167 | }; /* end of / */ |
diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi index 8bad5571af46..2bfe401a4da9 100644 --- a/arch/arm/boot/dts/meson8b.dtsi +++ b/arch/arm/boot/dts/meson8b.dtsi | |||
@@ -155,8 +155,8 @@ | |||
155 | reg = <0xc1108000 0x4>, <0xc1104000 0x460>; | 155 | reg = <0xc1108000 0x4>, <0xc1104000 0x460>; |
156 | }; | 156 | }; |
157 | 157 | ||
158 | pinctrl: pinctrl@c1109880 { | 158 | pinctrl_cbus: pinctrl@c1109880 { |
159 | compatible = "amlogic,meson8b-pinctrl"; | 159 | compatible = "amlogic,meson8b-cbus-pinctrl"; |
160 | reg = <0xc1109880 0x10>; | 160 | reg = <0xc1109880 0x10>; |
161 | #address-cells = <1>; | 161 | #address-cells = <1>; |
162 | #size-cells = <1>; | 162 | #size-cells = <1>; |
@@ -171,6 +171,14 @@ | |||
171 | gpio-controller; | 171 | gpio-controller; |
172 | #gpio-cells = <2>; | 172 | #gpio-cells = <2>; |
173 | }; | 173 | }; |
174 | }; | ||
175 | |||
176 | pinctrl_aobus: pinctrl@c8100084 { | ||
177 | compatible = "amlogic,meson8b-aobus-pinctrl"; | ||
178 | reg = <0xc8100084 0xc>; | ||
179 | #address-cells = <1>; | ||
180 | #size-cells = <1>; | ||
181 | ranges; | ||
174 | 182 | ||
175 | gpio_ao: ao-bank@c1108030 { | 183 | gpio_ao: ao-bank@c1108030 { |
176 | reg = <0xc8100014 0x4>, | 184 | reg = <0xc8100014 0x4>, |
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/configs/u8500_defconfig b/arch/arm/configs/u8500_defconfig index 07055eacbb0f..a691d590fbd1 100644 --- a/arch/arm/configs/u8500_defconfig +++ b/arch/arm/configs/u8500_defconfig | |||
@@ -63,6 +63,9 @@ CONFIG_INPUT_TOUCHSCREEN=y | |||
63 | CONFIG_TOUCHSCREEN_BU21013=y | 63 | CONFIG_TOUCHSCREEN_BU21013=y |
64 | CONFIG_INPUT_MISC=y | 64 | CONFIG_INPUT_MISC=y |
65 | CONFIG_INPUT_AB8500_PONKEY=y | 65 | CONFIG_INPUT_AB8500_PONKEY=y |
66 | CONFIG_RMI4_CORE=y | ||
67 | CONFIG_RMI4_I2C=y | ||
68 | CONFIG_RMI4_F11=y | ||
66 | # CONFIG_SERIO is not set | 69 | # CONFIG_SERIO is not set |
67 | CONFIG_VT_HW_CONSOLE_BINDING=y | 70 | CONFIG_VT_HW_CONSOLE_BINDING=y |
68 | # CONFIG_LEGACY_PTYS is not set | 71 | # CONFIG_LEGACY_PTYS is not set |
diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c index bfabc065d331..52de382fc804 100644 --- a/arch/arm/mach-omap1/id.c +++ b/arch/arm/mach-omap1/id.c | |||
@@ -65,7 +65,6 @@ static struct omap_id omap_ids[] __initdata = { | |||
65 | 65 | ||
66 | unsigned int omap_rev(void) | 66 | unsigned int omap_rev(void) |
67 | { | 67 | { |
68 | WARN_ON_ONCE(!omap_revision || omap_revision == -1); | ||
69 | return omap_revision; | 68 | return omap_revision; |
70 | } | 69 | } |
71 | EXPORT_SYMBOL(omap_rev); | 70 | EXPORT_SYMBOL(omap_rev); |
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index b2f56684c337..2abd53ae3e7a 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c | |||
@@ -46,7 +46,6 @@ u32 omap_features; | |||
46 | 46 | ||
47 | unsigned int omap_rev(void) | 47 | unsigned int omap_rev(void) |
48 | { | 48 | { |
49 | WARN_ON_ONCE(!omap_revision || omap_revision == -1); | ||
50 | return omap_revision; | 49 | return omap_revision; |
51 | } | 50 | } |
52 | EXPORT_SYMBOL(omap_rev); | 51 | EXPORT_SYMBOL(omap_rev); |
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 913a319c7b00..fffb697bbf0e 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -1235,5 +1235,6 @@ static struct platform_device pxa2xx_pxa_dma = { | |||
1235 | void __init pxa2xx_set_dmac_info(int nb_channels, int nb_requestors) | 1235 | void __init pxa2xx_set_dmac_info(int nb_channels, int nb_requestors) |
1236 | { | 1236 | { |
1237 | pxa_dma_pdata.dma_channels = nb_channels; | 1237 | pxa_dma_pdata.dma_channels = nb_channels; |
1238 | pxa_dma_pdata.nb_requestors = nb_requestors; | ||
1238 | pxa_register_device(&pxa2xx_pxa_dma, &pxa_dma_pdata); | 1239 | pxa_register_device(&pxa2xx_pxa_dma, &pxa_dma_pdata); |
1239 | } | 1240 | } |
diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig index c6f6ed1cbed0..36e3c79f4973 100644 --- a/arch/arm/mach-sa1100/Kconfig +++ b/arch/arm/mach-sa1100/Kconfig | |||
@@ -61,10 +61,7 @@ config SA1100_H3100 | |||
61 | select MFD_IPAQ_MICRO | 61 | select MFD_IPAQ_MICRO |
62 | help | 62 | help |
63 | Say Y here if you intend to run this kernel on the Compaq iPAQ | 63 | Say Y here if you intend to run this kernel on the Compaq iPAQ |
64 | H3100 handheld computer. Information about this machine and the | 64 | H3100 handheld computer. |
65 | Linux port to this machine can be found at: | ||
66 | |||
67 | <http://www.handhelds.org/Compaq/index.html#iPAQ_H3100> | ||
68 | 65 | ||
69 | config SA1100_H3600 | 66 | config SA1100_H3600 |
70 | bool "Compaq iPAQ H3600/H3700" | 67 | bool "Compaq iPAQ H3600/H3700" |
@@ -73,10 +70,7 @@ config SA1100_H3600 | |||
73 | select MFD_IPAQ_MICRO | 70 | select MFD_IPAQ_MICRO |
74 | help | 71 | help |
75 | Say Y here if you intend to run this kernel on the Compaq iPAQ | 72 | Say Y here if you intend to run this kernel on the Compaq iPAQ |
76 | H3600 handheld computer. Information about this machine and the | 73 | H3600 and H3700 handheld computers. |
77 | Linux port to this machine can be found at: | ||
78 | |||
79 | <http://www.handhelds.org/Compaq/index.html#iPAQ_H3600> | ||
80 | 74 | ||
81 | config SA1100_BADGE4 | 75 | config SA1100_BADGE4 |
82 | bool "HP Labs BadgePAD 4" | 76 | bool "HP Labs BadgePAD 4" |
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/arm/mach-uniphier/platsmp.c b/arch/arm/mach-uniphier/platsmp.c index 69141357afe8..db04142f88bc 100644 --- a/arch/arm/mach-uniphier/platsmp.c +++ b/arch/arm/mach-uniphier/platsmp.c | |||
@@ -120,7 +120,7 @@ static int __init uniphier_smp_prepare_trampoline(unsigned int max_cpus) | |||
120 | if (ret) | 120 | if (ret) |
121 | return ret; | 121 | return ret; |
122 | 122 | ||
123 | uniphier_smp_rom_boot_rsv2 = ioremap(rom_rsv2_phys, sizeof(SZ_4)); | 123 | uniphier_smp_rom_boot_rsv2 = ioremap(rom_rsv2_phys, SZ_4); |
124 | if (!uniphier_smp_rom_boot_rsv2) { | 124 | if (!uniphier_smp_rom_boot_rsv2) { |
125 | pr_err("failed to map ROM_BOOT_RSV2 register\n"); | 125 | pr_err("failed to map ROM_BOOT_RSV2 register\n"); |
126 | return -ENOMEM; | 126 | return -ENOMEM; |
diff --git a/arch/arm64/boot/dts/broadcom/vulcan.dtsi b/arch/arm64/boot/dts/broadcom/vulcan.dtsi index c49b5a85809c..85820e2bca9d 100644 --- a/arch/arm64/boot/dts/broadcom/vulcan.dtsi +++ b/arch/arm64/boot/dts/broadcom/vulcan.dtsi | |||
@@ -108,12 +108,15 @@ | |||
108 | reg = <0x0 0x30000000 0x0 0x10000000>; | 108 | reg = <0x0 0x30000000 0x0 0x10000000>; |
109 | reg-names = "PCI ECAM"; | 109 | reg-names = "PCI ECAM"; |
110 | 110 | ||
111 | /* IO 0x4000_0000 - 0x4001_0000 */ | 111 | /* |
112 | ranges = <0x01000000 0 0x40000000 0 0x40000000 0 0x00010000 | 112 | * PCI ranges: |
113 | /* MEM 0x4800_0000 - 0x5000_0000 */ | 113 | * IO no supported |
114 | 0x02000000 0 0x48000000 0 0x48000000 0 0x08000000 | 114 | * MEM 0x4000_0000 - 0x6000_0000 |
115 | /* MEM64 pref 0x6_0000_0000 - 0x7_0000_0000 */ | 115 | * MEM64 pref 0x40_0000_0000 - 0x60_0000_0000 |
116 | 0x43000000 6 0x00000000 6 0x00000000 1 0x00000000>; | 116 | */ |
117 | ranges = | ||
118 | <0x02000000 0 0x40000000 0 0x40000000 0 0x20000000 | ||
119 | 0x43000000 0x40 0x00000000 0x40 0x00000000 0x20 0x00000000>; | ||
117 | interrupt-map-mask = <0 0 0 7>; | 120 | interrupt-map-mask = <0 0 0 7>; |
118 | interrupt-map = | 121 | interrupt-map = |
119 | /* addr pin ic icaddr icintr */ | 122 | /* addr pin ic icaddr icintr */ |
diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c index c2e52864bb03..ce54a0160faa 100644 --- a/drivers/bus/mvebu-mbus.c +++ b/drivers/bus/mvebu-mbus.c | |||
@@ -972,7 +972,7 @@ int mvebu_mbus_get_dram_win_info(phys_addr_t phyaddr, u8 *target, u8 *attr) | |||
972 | } | 972 | } |
973 | } | 973 | } |
974 | 974 | ||
975 | pr_err("invalid dram address 0x%x\n", phyaddr); | 975 | pr_err("invalid dram address %pa\n", &phyaddr); |
976 | return -EINVAL; | 976 | return -EINVAL; |
977 | } | 977 | } |
978 | EXPORT_SYMBOL_GPL(mvebu_mbus_get_dram_win_info); | 978 | EXPORT_SYMBOL_GPL(mvebu_mbus_get_dram_win_info); |
diff --git a/drivers/bus/uniphier-system-bus.c b/drivers/bus/uniphier-system-bus.c index 834a2aeaf27a..350b7309c26d 100644 --- a/drivers/bus/uniphier-system-bus.c +++ b/drivers/bus/uniphier-system-bus.c | |||
@@ -108,7 +108,7 @@ static int uniphier_system_bus_check_overlap( | |||
108 | 108 | ||
109 | for (i = 0; i < ARRAY_SIZE(priv->bank); i++) { | 109 | for (i = 0; i < ARRAY_SIZE(priv->bank); i++) { |
110 | for (j = i + 1; j < ARRAY_SIZE(priv->bank); j++) { | 110 | for (j = i + 1; j < ARRAY_SIZE(priv->bank); j++) { |
111 | if (priv->bank[i].end > priv->bank[j].base || | 111 | if (priv->bank[i].end > priv->bank[j].base && |
112 | priv->bank[i].base < priv->bank[j].end) { | 112 | priv->bank[i].base < priv->bank[j].end) { |
113 | dev_err(priv->dev, | 113 | dev_err(priv->dev, |
114 | "region overlap between bank%d and bank%d\n", | 114 | "region overlap between bank%d and bank%d\n", |
diff --git a/drivers/soc/mediatek/mtk-scpsys.c b/drivers/soc/mediatek/mtk-scpsys.c index 57e781c71e67..837effe19907 100644 --- a/drivers/soc/mediatek/mtk-scpsys.c +++ b/drivers/soc/mediatek/mtk-scpsys.c | |||
@@ -491,13 +491,14 @@ static int scpsys_probe(struct platform_device *pdev) | |||
491 | genpd->dev_ops.active_wakeup = scpsys_active_wakeup; | 491 | genpd->dev_ops.active_wakeup = scpsys_active_wakeup; |
492 | 492 | ||
493 | /* | 493 | /* |
494 | * With CONFIG_PM disabled turn on all domains to make the | 494 | * Initially turn on all domains to make the domains usable |
495 | * hardware usable. | 495 | * with !CONFIG_PM and to get the hardware in sync with the |
496 | * software. The unused domains will be switched off during | ||
497 | * late_init time. | ||
496 | */ | 498 | */ |
497 | if (!IS_ENABLED(CONFIG_PM)) | 499 | genpd->power_on(genpd); |
498 | genpd->power_on(genpd); | ||
499 | 500 | ||
500 | pm_genpd_init(genpd, NULL, true); | 501 | pm_genpd_init(genpd, NULL, false); |
501 | } | 502 | } |
502 | 503 | ||
503 | /* | 504 | /* |