diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-28 19:11:04 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-28 19:11:04 -0500 |
commit | 97ace515f01439d4cf6e898b4094040dc12d36e7 (patch) | |
tree | cf1979d9026c13e49af98fbee0f76a285b56c76d | |
parent | b5e792f11adac6ca70fa2698fa118f3ad432b465 (diff) | |
parent | 8f148f32926c8226cb26b0108aec0c295056775b (diff) |
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Arnd Bergmann:
"This is the first set of bugfixes for ARM SoCs, fixing a couple of
stability problems, mostly on TI OMAP and Rockchips platforms:
- OMAP2 hwmod clocks must be enabled in the correct order
- OMAP3 Wakeup from resume through PRM IRQ was unreliable
- one regression on OMAP5 caused by a kexec fix
- Rockchip ethernet needs some settings for stable operation on
Rock64
- Rockchip based Chrombook Plus needs another clock setting for
stable display suspend/resume
- Rockchip based phyCORE-RK3288 was able to run at an invalid CPU
clock frequency
- Rockchip MMC link was sometimes unreliable
- multiple fixes to avoid crashes in the Broadcom STB DPFE driver
Other minor changes include:
- Devicetree fixes for incorrect hardware description (rockchip,
omap, Gemini, amlogic)
- some MAINTAINER file updates to correct email and git addresses
- some fixes addressing 'make W=1' dtc warnings (broadcom, amlogic,
cavium, qualcomm, hisilicon, zx)
- fixes for LTO-compilation (orion, davinci, clps711x)
- one fix for an incorrect Kconfig errata selection
- a memory leak in the OMAP timer driver
- a kernel data leak in OMAP1 debugfs files"
* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (38 commits)
MAINTAINERS: update entries for ARM/STM32
ARM: dts: bcm283x: Move arm-pmu out of soc node
ARM: dts: bcm283x: Fix unit address of local_intc
ARM: dts: NSP: Fix amount of RAM on BCM958625HR
ARM: dts: Set D-Link DNS-313 SATA to muxmode 0
ARM: omap2: set CONFIG_LIRC=y in defconfig
ARM: dts: imx6dl: Include correct dtsi file for Engicam i.CoreM6 DualLite/Solo RQS
memory: brcmstb: dpfe: support new way of passing data from the DCPU
memory: brcmstb: dpfe: fix type declaration of variable "ret"
memory: brcmstb: dpfe: properly mask vendor error bits
ARM: BCM: dts: Remove leading 0x and 0s from bindings notation
ARM: orion: fix orion_ge00_switch_board_info initialization
ARM: davinci: mark spi_board_info arrays as const
ARM: clps711x: mark clps711x_compat as const
arm: zx: dts: Remove leading 0x and 0s from bindings notation
arm64: dts: Remove leading 0x and 0s from bindings notation
arm64: dts: cavium: fix PCI bus dtc warnings
MAINTAINERS: ARM: at91: update my email address
soc: imx: gpc: de-register power domains only if initialized
ARM: dts: rockchip: Fix DWMMC clocks
...
45 files changed, 191 insertions, 137 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 93a12af4f180..8249251527ca 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -1238,7 +1238,7 @@ F: drivers/clk/at91 | |||
1238 | 1238 | ||
1239 | ARM/ATMEL AT91RM9200, AT91SAM9 AND SAMA5 SOC SUPPORT | 1239 | ARM/ATMEL AT91RM9200, AT91SAM9 AND SAMA5 SOC SUPPORT |
1240 | M: Nicolas Ferre <nicolas.ferre@microchip.com> | 1240 | M: Nicolas Ferre <nicolas.ferre@microchip.com> |
1241 | M: Alexandre Belloni <alexandre.belloni@free-electrons.com> | 1241 | M: Alexandre Belloni <alexandre.belloni@bootlin.com> |
1242 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 1242 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
1243 | W: http://www.linux4sam.org | 1243 | W: http://www.linux4sam.org |
1244 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91.git | 1244 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91.git |
@@ -1590,7 +1590,7 @@ ARM/Marvell Dove/MV78xx0/Orion SOC support | |||
1590 | M: Jason Cooper <jason@lakedaemon.net> | 1590 | M: Jason Cooper <jason@lakedaemon.net> |
1591 | M: Andrew Lunn <andrew@lunn.ch> | 1591 | M: Andrew Lunn <andrew@lunn.ch> |
1592 | M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 1592 | M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> |
1593 | M: Gregory Clement <gregory.clement@free-electrons.com> | 1593 | M: Gregory Clement <gregory.clement@bootlin.com> |
1594 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 1594 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
1595 | S: Maintained | 1595 | S: Maintained |
1596 | F: Documentation/devicetree/bindings/soc/dove/ | 1596 | F: Documentation/devicetree/bindings/soc/dove/ |
@@ -1604,7 +1604,7 @@ F: arch/arm/boot/dts/orion5x* | |||
1604 | ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K SOC support | 1604 | ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K SOC support |
1605 | M: Jason Cooper <jason@lakedaemon.net> | 1605 | M: Jason Cooper <jason@lakedaemon.net> |
1606 | M: Andrew Lunn <andrew@lunn.ch> | 1606 | M: Andrew Lunn <andrew@lunn.ch> |
1607 | M: Gregory Clement <gregory.clement@free-electrons.com> | 1607 | M: Gregory Clement <gregory.clement@bootlin.com> |
1608 | M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 1608 | M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> |
1609 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 1609 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
1610 | S: Maintained | 1610 | S: Maintained |
@@ -1999,8 +1999,10 @@ M: Maxime Coquelin <mcoquelin.stm32@gmail.com> | |||
1999 | M: Alexandre Torgue <alexandre.torgue@st.com> | 1999 | M: Alexandre Torgue <alexandre.torgue@st.com> |
2000 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 2000 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
2001 | S: Maintained | 2001 | S: Maintained |
2002 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32.git | 2002 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next |
2003 | N: stm32 | 2003 | N: stm32 |
2004 | F: arch/arm/boot/dts/stm32* | ||
2005 | F: arch/arm/mach-stm32/ | ||
2004 | F: drivers/clocksource/armv7m_systick.c | 2006 | F: drivers/clocksource/armv7m_systick.c |
2005 | 2007 | ||
2006 | ARM/TANGO ARCHITECTURE | 2008 | ARM/TANGO ARCHITECTURE |
diff --git a/arch/arm/boot/dts/bcm11351.dtsi b/arch/arm/boot/dts/bcm11351.dtsi index 18045c38bcf1..db7cded1b7ad 100644 --- a/arch/arm/boot/dts/bcm11351.dtsi +++ b/arch/arm/boot/dts/bcm11351.dtsi | |||
@@ -55,7 +55,7 @@ | |||
55 | <0x3ff00100 0x100>; | 55 | <0x3ff00100 0x100>; |
56 | }; | 56 | }; |
57 | 57 | ||
58 | smc@0x3404c000 { | 58 | smc@3404c000 { |
59 | compatible = "brcm,bcm11351-smc", "brcm,kona-smc"; | 59 | compatible = "brcm,bcm11351-smc", "brcm,kona-smc"; |
60 | reg = <0x3404c000 0x400>; /* 1 KiB in SRAM */ | 60 | reg = <0x3404c000 0x400>; /* 1 KiB in SRAM */ |
61 | }; | 61 | }; |
diff --git a/arch/arm/boot/dts/bcm21664.dtsi b/arch/arm/boot/dts/bcm21664.dtsi index 6dde95f21cef..266f2611dc22 100644 --- a/arch/arm/boot/dts/bcm21664.dtsi +++ b/arch/arm/boot/dts/bcm21664.dtsi | |||
@@ -55,7 +55,7 @@ | |||
55 | <0x3ff00100 0x100>; | 55 | <0x3ff00100 0x100>; |
56 | }; | 56 | }; |
57 | 57 | ||
58 | smc@0x3404e000 { | 58 | smc@3404e000 { |
59 | compatible = "brcm,bcm21664-smc", "brcm,kona-smc"; | 59 | compatible = "brcm,bcm21664-smc", "brcm,kona-smc"; |
60 | reg = <0x3404e000 0x400>; /* 1 KiB in SRAM */ | 60 | reg = <0x3404e000 0x400>; /* 1 KiB in SRAM */ |
61 | }; | 61 | }; |
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi index 0e3d2a5ff208..a5c3824c8056 100644 --- a/arch/arm/boot/dts/bcm2835.dtsi +++ b/arch/arm/boot/dts/bcm2835.dtsi | |||
@@ -18,10 +18,10 @@ | |||
18 | soc { | 18 | soc { |
19 | ranges = <0x7e000000 0x20000000 0x02000000>; | 19 | ranges = <0x7e000000 0x20000000 0x02000000>; |
20 | dma-ranges = <0x40000000 0x00000000 0x20000000>; | 20 | dma-ranges = <0x40000000 0x00000000 0x20000000>; |
21 | }; | ||
21 | 22 | ||
22 | arm-pmu { | 23 | arm-pmu { |
23 | compatible = "arm,arm1176-pmu"; | 24 | compatible = "arm,arm1176-pmu"; |
24 | }; | ||
25 | }; | 25 | }; |
26 | }; | 26 | }; |
27 | 27 | ||
diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi index 1dfd76442777..c933e8413884 100644 --- a/arch/arm/boot/dts/bcm2836.dtsi +++ b/arch/arm/boot/dts/bcm2836.dtsi | |||
@@ -9,19 +9,19 @@ | |||
9 | <0x40000000 0x40000000 0x00001000>; | 9 | <0x40000000 0x40000000 0x00001000>; |
10 | dma-ranges = <0xc0000000 0x00000000 0x3f000000>; | 10 | dma-ranges = <0xc0000000 0x00000000 0x3f000000>; |
11 | 11 | ||
12 | local_intc: local_intc { | 12 | local_intc: local_intc@40000000 { |
13 | compatible = "brcm,bcm2836-l1-intc"; | 13 | compatible = "brcm,bcm2836-l1-intc"; |
14 | reg = <0x40000000 0x100>; | 14 | reg = <0x40000000 0x100>; |
15 | interrupt-controller; | 15 | interrupt-controller; |
16 | #interrupt-cells = <2>; | 16 | #interrupt-cells = <2>; |
17 | interrupt-parent = <&local_intc>; | 17 | interrupt-parent = <&local_intc>; |
18 | }; | 18 | }; |
19 | }; | ||
19 | 20 | ||
20 | arm-pmu { | 21 | arm-pmu { |
21 | compatible = "arm,cortex-a7-pmu"; | 22 | compatible = "arm,cortex-a7-pmu"; |
22 | interrupt-parent = <&local_intc>; | 23 | interrupt-parent = <&local_intc>; |
23 | interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; | 24 | interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; |
24 | }; | ||
25 | }; | 25 | }; |
26 | 26 | ||
27 | timer { | 27 | timer { |
diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi index efa7d3387ab2..7704bb029605 100644 --- a/arch/arm/boot/dts/bcm2837.dtsi +++ b/arch/arm/boot/dts/bcm2837.dtsi | |||
@@ -8,7 +8,7 @@ | |||
8 | <0x40000000 0x40000000 0x00001000>; | 8 | <0x40000000 0x40000000 0x00001000>; |
9 | dma-ranges = <0xc0000000 0x00000000 0x3f000000>; | 9 | dma-ranges = <0xc0000000 0x00000000 0x3f000000>; |
10 | 10 | ||
11 | local_intc: local_intc { | 11 | local_intc: local_intc@40000000 { |
12 | compatible = "brcm,bcm2836-l1-intc"; | 12 | compatible = "brcm,bcm2836-l1-intc"; |
13 | reg = <0x40000000 0x100>; | 13 | reg = <0x40000000 0x100>; |
14 | interrupt-controller; | 14 | interrupt-controller; |
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index 18db25a5a66e..9d293decf8d3 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi | |||
@@ -465,7 +465,7 @@ | |||
465 | status = "disabled"; | 465 | status = "disabled"; |
466 | }; | 466 | }; |
467 | 467 | ||
468 | aux: aux@0x7e215000 { | 468 | aux: aux@7e215000 { |
469 | compatible = "brcm,bcm2835-aux"; | 469 | compatible = "brcm,bcm2835-aux"; |
470 | #clock-cells = <1>; | 470 | #clock-cells = <1>; |
471 | reg = <0x7e215000 0x8>; | 471 | reg = <0x7e215000 0x8>; |
diff --git a/arch/arm/boot/dts/bcm958625hr.dts b/arch/arm/boot/dts/bcm958625hr.dts index 6a44b8021702..f0e2008f7490 100644 --- a/arch/arm/boot/dts/bcm958625hr.dts +++ b/arch/arm/boot/dts/bcm958625hr.dts | |||
@@ -49,7 +49,7 @@ | |||
49 | 49 | ||
50 | memory { | 50 | memory { |
51 | device_type = "memory"; | 51 | device_type = "memory"; |
52 | reg = <0x60000000 0x80000000>; | 52 | reg = <0x60000000 0x20000000>; |
53 | }; | 53 | }; |
54 | 54 | ||
55 | gpio-restart { | 55 | gpio-restart { |
diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts index 08568ce24d06..da8bb9d60f99 100644 --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts | |||
@@ -269,7 +269,7 @@ | |||
269 | 269 | ||
270 | sata: sata@46000000 { | 270 | sata: sata@46000000 { |
271 | /* The ROM uses this muxmode */ | 271 | /* The ROM uses this muxmode */ |
272 | cortina,gemini-ata-muxmode = <3>; | 272 | cortina,gemini-ata-muxmode = <0>; |
273 | cortina,gemini-enable-sata-bridge; | 273 | cortina,gemini-enable-sata-bridge; |
274 | status = "okay"; | 274 | status = "okay"; |
275 | }; | 275 | }; |
diff --git a/arch/arm/boot/dts/imx6dl-icore-rqs.dts b/arch/arm/boot/dts/imx6dl-icore-rqs.dts index cf42c2f5cdc7..1281bc39b7ab 100644 --- a/arch/arm/boot/dts/imx6dl-icore-rqs.dts +++ b/arch/arm/boot/dts/imx6dl-icore-rqs.dts | |||
@@ -42,7 +42,7 @@ | |||
42 | 42 | ||
43 | /dts-v1/; | 43 | /dts-v1/; |
44 | 44 | ||
45 | #include "imx6q.dtsi" | 45 | #include "imx6dl.dtsi" |
46 | #include "imx6qdl-icore-rqs.dtsi" | 46 | #include "imx6qdl-icore-rqs.dtsi" |
47 | 47 | ||
48 | / { | 48 | / { |
diff --git a/arch/arm/boot/dts/logicpd-som-lv.dtsi b/arch/arm/boot/dts/logicpd-som-lv.dtsi index c1aa7a4518fb..a30ee9fcb3ae 100644 --- a/arch/arm/boot/dts/logicpd-som-lv.dtsi +++ b/arch/arm/boot/dts/logicpd-som-lv.dtsi | |||
@@ -71,6 +71,8 @@ | |||
71 | }; | 71 | }; |
72 | 72 | ||
73 | &i2c1 { | 73 | &i2c1 { |
74 | pinctrl-names = "default"; | ||
75 | pinctrl-0 = <&i2c1_pins>; | ||
74 | clock-frequency = <2600000>; | 76 | clock-frequency = <2600000>; |
75 | 77 | ||
76 | twl: twl@48 { | 78 | twl: twl@48 { |
@@ -189,7 +191,12 @@ | |||
189 | >; | 191 | >; |
190 | }; | 192 | }; |
191 | 193 | ||
192 | 194 | i2c1_pins: pinmux_i2c1_pins { | |
195 | pinctrl-single,pins = < | ||
196 | OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */ | ||
197 | OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */ | ||
198 | >; | ||
199 | }; | ||
193 | }; | 200 | }; |
194 | 201 | ||
195 | &omap3_pmx_wkup { | 202 | &omap3_pmx_wkup { |
diff --git a/arch/arm/boot/dts/logicpd-torpedo-som.dtsi b/arch/arm/boot/dts/logicpd-torpedo-som.dtsi index b50b796e15c7..47915447a826 100644 --- a/arch/arm/boot/dts/logicpd-torpedo-som.dtsi +++ b/arch/arm/boot/dts/logicpd-torpedo-som.dtsi | |||
@@ -66,6 +66,8 @@ | |||
66 | }; | 66 | }; |
67 | 67 | ||
68 | &i2c1 { | 68 | &i2c1 { |
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&i2c1_pins>; | ||
69 | clock-frequency = <2600000>; | 71 | clock-frequency = <2600000>; |
70 | 72 | ||
71 | twl: twl@48 { | 73 | twl: twl@48 { |
@@ -136,6 +138,12 @@ | |||
136 | OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ | 138 | OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ |
137 | >; | 139 | >; |
138 | }; | 140 | }; |
141 | i2c1_pins: pinmux_i2c1_pins { | ||
142 | pinctrl-single,pins = < | ||
143 | OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */ | ||
144 | OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */ | ||
145 | >; | ||
146 | }; | ||
139 | }; | 147 | }; |
140 | 148 | ||
141 | &uart2 { | 149 | &uart2 { |
diff --git a/arch/arm/boot/dts/omap5-uevm.dts b/arch/arm/boot/dts/omap5-uevm.dts index ec2c8baef62a..592e17fd4eeb 100644 --- a/arch/arm/boot/dts/omap5-uevm.dts +++ b/arch/arm/boot/dts/omap5-uevm.dts | |||
@@ -47,7 +47,7 @@ | |||
47 | gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; /* gpio3_83 */ | 47 | gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; /* gpio3_83 */ |
48 | wakeup-source; | 48 | wakeup-source; |
49 | autorepeat; | 49 | autorepeat; |
50 | debounce_interval = <50>; | 50 | debounce-interval = <50>; |
51 | }; | 51 | }; |
52 | }; | 52 | }; |
53 | 53 | ||
diff --git a/arch/arm/boot/dts/rk3036.dtsi b/arch/arm/boot/dts/rk3036.dtsi index 3b704cfed69a..a97458112ff6 100644 --- a/arch/arm/boot/dts/rk3036.dtsi +++ b/arch/arm/boot/dts/rk3036.dtsi | |||
@@ -280,7 +280,7 @@ | |||
280 | max-frequency = <37500000>; | 280 | max-frequency = <37500000>; |
281 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, | 281 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, |
282 | <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; | 282 | <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; |
283 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 283 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
284 | fifo-depth = <0x100>; | 284 | fifo-depth = <0x100>; |
285 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | 285 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; |
286 | resets = <&cru SRST_SDIO>; | 286 | resets = <&cru SRST_SDIO>; |
@@ -298,7 +298,7 @@ | |||
298 | max-frequency = <37500000>; | 298 | max-frequency = <37500000>; |
299 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, | 299 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, |
300 | <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; | 300 | <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; |
301 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 301 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
302 | default-sample-phase = <158>; | 302 | default-sample-phase = <158>; |
303 | disable-wp; | 303 | disable-wp; |
304 | dmas = <&pdma 12>; | 304 | dmas = <&pdma 12>; |
diff --git a/arch/arm/boot/dts/rk322x.dtsi b/arch/arm/boot/dts/rk322x.dtsi index 780ec3a99b21..341deaf62ff6 100644 --- a/arch/arm/boot/dts/rk322x.dtsi +++ b/arch/arm/boot/dts/rk322x.dtsi | |||
@@ -621,7 +621,7 @@ | |||
621 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | 621 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; |
622 | clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, | 622 | clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, |
623 | <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; | 623 | <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; |
624 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 624 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
625 | fifo-depth = <0x100>; | 625 | fifo-depth = <0x100>; |
626 | pinctrl-names = "default"; | 626 | pinctrl-names = "default"; |
627 | pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; | 627 | pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; |
@@ -634,7 +634,7 @@ | |||
634 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; | 634 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; |
635 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, | 635 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, |
636 | <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; | 636 | <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; |
637 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 637 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
638 | fifo-depth = <0x100>; | 638 | fifo-depth = <0x100>; |
639 | pinctrl-names = "default"; | 639 | pinctrl-names = "default"; |
640 | pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; | 640 | pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; |
@@ -649,7 +649,7 @@ | |||
649 | max-frequency = <37500000>; | 649 | max-frequency = <37500000>; |
650 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, | 650 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, |
651 | <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; | 651 | <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; |
652 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 652 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
653 | bus-width = <8>; | 653 | bus-width = <8>; |
654 | default-sample-phase = <158>; | 654 | default-sample-phase = <158>; |
655 | fifo-depth = <0x100>; | 655 | fifo-depth = <0x100>; |
diff --git a/arch/arm/boot/dts/rk3288-phycore-som.dtsi b/arch/arm/boot/dts/rk3288-phycore-som.dtsi index 99cfae875e12..5eae4776ffde 100644 --- a/arch/arm/boot/dts/rk3288-phycore-som.dtsi +++ b/arch/arm/boot/dts/rk3288-phycore-som.dtsi | |||
@@ -110,26 +110,6 @@ | |||
110 | }; | 110 | }; |
111 | }; | 111 | }; |
112 | 112 | ||
113 | &cpu0 { | ||
114 | cpu0-supply = <&vdd_cpu>; | ||
115 | operating-points = < | ||
116 | /* KHz uV */ | ||
117 | 1800000 1400000 | ||
118 | 1608000 1350000 | ||
119 | 1512000 1300000 | ||
120 | 1416000 1200000 | ||
121 | 1200000 1100000 | ||
122 | 1008000 1050000 | ||
123 | 816000 1000000 | ||
124 | 696000 950000 | ||
125 | 600000 900000 | ||
126 | 408000 900000 | ||
127 | 312000 900000 | ||
128 | 216000 900000 | ||
129 | 126000 900000 | ||
130 | >; | ||
131 | }; | ||
132 | |||
133 | &emmc { | 113 | &emmc { |
134 | status = "okay"; | 114 | status = "okay"; |
135 | bus-width = <8>; | 115 | bus-width = <8>; |
diff --git a/arch/arm/boot/dts/zx296702.dtsi b/arch/arm/boot/dts/zx296702.dtsi index 8a74efdb6360..240e7a23d81f 100644 --- a/arch/arm/boot/dts/zx296702.dtsi +++ b/arch/arm/boot/dts/zx296702.dtsi | |||
@@ -56,7 +56,7 @@ | |||
56 | clocks = <&topclk ZX296702_A9_PERIPHCLK>; | 56 | clocks = <&topclk ZX296702_A9_PERIPHCLK>; |
57 | }; | 57 | }; |
58 | 58 | ||
59 | l2cc: l2-cache-controller@0x00c00000 { | 59 | l2cc: l2-cache-controller@c00000 { |
60 | compatible = "arm,pl310-cache"; | 60 | compatible = "arm,pl310-cache"; |
61 | reg = <0x00c00000 0x1000>; | 61 | reg = <0x00c00000 0x1000>; |
62 | cache-unified; | 62 | cache-unified; |
@@ -67,30 +67,30 @@ | |||
67 | arm,double-linefill-incr = <0>; | 67 | arm,double-linefill-incr = <0>; |
68 | }; | 68 | }; |
69 | 69 | ||
70 | pcu: pcu@0xa0008000 { | 70 | pcu: pcu@a0008000 { |
71 | compatible = "zte,zx296702-pcu"; | 71 | compatible = "zte,zx296702-pcu"; |
72 | reg = <0xa0008000 0x1000>; | 72 | reg = <0xa0008000 0x1000>; |
73 | }; | 73 | }; |
74 | 74 | ||
75 | topclk: topclk@0x09800000 { | 75 | topclk: topclk@9800000 { |
76 | compatible = "zte,zx296702-topcrm-clk"; | 76 | compatible = "zte,zx296702-topcrm-clk"; |
77 | reg = <0x09800000 0x1000>; | 77 | reg = <0x09800000 0x1000>; |
78 | #clock-cells = <1>; | 78 | #clock-cells = <1>; |
79 | }; | 79 | }; |
80 | 80 | ||
81 | lsp1clk: lsp1clk@0x09400000 { | 81 | lsp1clk: lsp1clk@9400000 { |
82 | compatible = "zte,zx296702-lsp1crpm-clk"; | 82 | compatible = "zte,zx296702-lsp1crpm-clk"; |
83 | reg = <0x09400000 0x1000>; | 83 | reg = <0x09400000 0x1000>; |
84 | #clock-cells = <1>; | 84 | #clock-cells = <1>; |
85 | }; | 85 | }; |
86 | 86 | ||
87 | lsp0clk: lsp0clk@0x0b000000 { | 87 | lsp0clk: lsp0clk@b000000 { |
88 | compatible = "zte,zx296702-lsp0crpm-clk"; | 88 | compatible = "zte,zx296702-lsp0crpm-clk"; |
89 | reg = <0x0b000000 0x1000>; | 89 | reg = <0x0b000000 0x1000>; |
90 | #clock-cells = <1>; | 90 | #clock-cells = <1>; |
91 | }; | 91 | }; |
92 | 92 | ||
93 | uart0: serial@0x09405000 { | 93 | uart0: serial@9405000 { |
94 | compatible = "zte,zx296702-uart"; | 94 | compatible = "zte,zx296702-uart"; |
95 | reg = <0x09405000 0x1000>; | 95 | reg = <0x09405000 0x1000>; |
96 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | 96 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |
@@ -98,7 +98,7 @@ | |||
98 | status = "disabled"; | 98 | status = "disabled"; |
99 | }; | 99 | }; |
100 | 100 | ||
101 | uart1: serial@0x09406000 { | 101 | uart1: serial@9406000 { |
102 | compatible = "zte,zx296702-uart"; | 102 | compatible = "zte,zx296702-uart"; |
103 | reg = <0x09406000 0x1000>; | 103 | reg = <0x09406000 0x1000>; |
104 | interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; | 104 | interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; |
@@ -106,7 +106,7 @@ | |||
106 | status = "disabled"; | 106 | status = "disabled"; |
107 | }; | 107 | }; |
108 | 108 | ||
109 | mmc0: mmc@0x09408000 { | 109 | mmc0: mmc@9408000 { |
110 | compatible = "snps,dw-mshc"; | 110 | compatible = "snps,dw-mshc"; |
111 | #address-cells = <1>; | 111 | #address-cells = <1>; |
112 | #size-cells = <0>; | 112 | #size-cells = <0>; |
@@ -119,7 +119,7 @@ | |||
119 | status = "disabled"; | 119 | status = "disabled"; |
120 | }; | 120 | }; |
121 | 121 | ||
122 | mmc1: mmc@0x0b003000 { | 122 | mmc1: mmc@b003000 { |
123 | compatible = "snps,dw-mshc"; | 123 | compatible = "snps,dw-mshc"; |
124 | #address-cells = <1>; | 124 | #address-cells = <1>; |
125 | #size-cells = <0>; | 125 | #size-cells = <0>; |
@@ -132,7 +132,7 @@ | |||
132 | status = "disabled"; | 132 | status = "disabled"; |
133 | }; | 133 | }; |
134 | 134 | ||
135 | sysctrl: sysctrl@0xa0007000 { | 135 | sysctrl: sysctrl@a0007000 { |
136 | compatible = "zte,sysctrl", "syscon"; | 136 | compatible = "zte,sysctrl", "syscon"; |
137 | reg = <0xa0007000 0x1000>; | 137 | reg = <0xa0007000 0x1000>; |
138 | }; | 138 | }; |
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index 2f145c4af93a..92674f247a12 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig | |||
@@ -319,7 +319,7 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y | |||
319 | CONFIG_RC_CORE=m | 319 | CONFIG_RC_CORE=m |
320 | CONFIG_MEDIA_CONTROLLER=y | 320 | CONFIG_MEDIA_CONTROLLER=y |
321 | CONFIG_VIDEO_V4L2_SUBDEV_API=y | 321 | CONFIG_VIDEO_V4L2_SUBDEV_API=y |
322 | CONFIG_LIRC=m | 322 | CONFIG_LIRC=y |
323 | CONFIG_RC_DEVICES=y | 323 | CONFIG_RC_DEVICES=y |
324 | CONFIG_IR_RX51=m | 324 | CONFIG_IR_RX51=m |
325 | CONFIG_V4L_PLATFORM_DRIVERS=y | 325 | CONFIG_V4L_PLATFORM_DRIVERS=y |
diff --git a/arch/arm/mach-clps711x/board-dt.c b/arch/arm/mach-clps711x/board-dt.c index ee1f83b1a332..4c89a8e9a2e3 100644 --- a/arch/arm/mach-clps711x/board-dt.c +++ b/arch/arm/mach-clps711x/board-dt.c | |||
@@ -69,7 +69,7 @@ static void clps711x_restart(enum reboot_mode mode, const char *cmd) | |||
69 | soft_restart(0); | 69 | soft_restart(0); |
70 | } | 70 | } |
71 | 71 | ||
72 | static const char *clps711x_compat[] __initconst = { | 72 | static const char *const clps711x_compat[] __initconst = { |
73 | "cirrus,ep7209", | 73 | "cirrus,ep7209", |
74 | NULL | 74 | NULL |
75 | }; | 75 | }; |
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index e457f299cd44..d6b11907380c 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c | |||
@@ -368,7 +368,7 @@ static struct spi_eeprom at25640a = { | |||
368 | .flags = EE_ADDR2, | 368 | .flags = EE_ADDR2, |
369 | }; | 369 | }; |
370 | 370 | ||
371 | static struct spi_board_info dm355_evm_spi_info[] __initconst = { | 371 | static const struct spi_board_info dm355_evm_spi_info[] __initconst = { |
372 | { | 372 | { |
373 | .modalias = "at25", | 373 | .modalias = "at25", |
374 | .platform_data = &at25640a, | 374 | .platform_data = &at25640a, |
diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c index be997243447b..fad9a5611a5d 100644 --- a/arch/arm/mach-davinci/board-dm355-leopard.c +++ b/arch/arm/mach-davinci/board-dm355-leopard.c | |||
@@ -217,7 +217,7 @@ static struct spi_eeprom at25640a = { | |||
217 | .flags = EE_ADDR2, | 217 | .flags = EE_ADDR2, |
218 | }; | 218 | }; |
219 | 219 | ||
220 | static struct spi_board_info dm355_leopard_spi_info[] __initconst = { | 220 | static const struct spi_board_info dm355_leopard_spi_info[] __initconst = { |
221 | { | 221 | { |
222 | .modalias = "at25", | 222 | .modalias = "at25", |
223 | .platform_data = &at25640a, | 223 | .platform_data = &at25640a, |
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index e75741fb2c1d..e3780986d2a3 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c | |||
@@ -726,7 +726,7 @@ static struct spi_eeprom at25640 = { | |||
726 | .flags = EE_ADDR2, | 726 | .flags = EE_ADDR2, |
727 | }; | 727 | }; |
728 | 728 | ||
729 | static struct spi_board_info dm365_evm_spi_info[] __initconst = { | 729 | static const struct spi_board_info dm365_evm_spi_info[] __initconst = { |
730 | { | 730 | { |
731 | .modalias = "at25", | 731 | .modalias = "at25", |
732 | .platform_data = &at25640, | 732 | .platform_data = &at25640, |
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 6b32dc527edc..2c20599cc350 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig | |||
@@ -41,7 +41,7 @@ config MACH_ARMADA_375 | |||
41 | depends on ARCH_MULTI_V7 | 41 | depends on ARCH_MULTI_V7 |
42 | select ARMADA_370_XP_IRQ | 42 | select ARMADA_370_XP_IRQ |
43 | select ARM_ERRATA_720789 | 43 | select ARM_ERRATA_720789 |
44 | select ARM_ERRATA_753970 | 44 | select PL310_ERRATA_753970 |
45 | select ARM_GIC | 45 | select ARM_GIC |
46 | select ARMADA_375_CLK | 46 | select ARMADA_375_CLK |
47 | select HAVE_ARM_SCU | 47 | select HAVE_ARM_SCU |
@@ -57,7 +57,7 @@ config MACH_ARMADA_38X | |||
57 | bool "Marvell Armada 380/385 boards" | 57 | bool "Marvell Armada 380/385 boards" |
58 | depends on ARCH_MULTI_V7 | 58 | depends on ARCH_MULTI_V7 |
59 | select ARM_ERRATA_720789 | 59 | select ARM_ERRATA_720789 |
60 | select ARM_ERRATA_753970 | 60 | select PL310_ERRATA_753970 |
61 | select ARM_GIC | 61 | select ARM_GIC |
62 | select ARM_GLOBAL_TIMER | 62 | select ARM_GLOBAL_TIMER |
63 | select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK | 63 | select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK |
diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c index 43e3e188f521..fa512413a471 100644 --- a/arch/arm/mach-omap1/clock.c +++ b/arch/arm/mach-omap1/clock.c | |||
@@ -1011,17 +1011,17 @@ static int clk_debugfs_register_one(struct clk *c) | |||
1011 | return -ENOMEM; | 1011 | return -ENOMEM; |
1012 | c->dent = d; | 1012 | c->dent = d; |
1013 | 1013 | ||
1014 | d = debugfs_create_u8("usecount", S_IRUGO, c->dent, (u8 *)&c->usecount); | 1014 | d = debugfs_create_u8("usecount", S_IRUGO, c->dent, &c->usecount); |
1015 | if (!d) { | 1015 | if (!d) { |
1016 | err = -ENOMEM; | 1016 | err = -ENOMEM; |
1017 | goto err_out; | 1017 | goto err_out; |
1018 | } | 1018 | } |
1019 | d = debugfs_create_u32("rate", S_IRUGO, c->dent, (u32 *)&c->rate); | 1019 | d = debugfs_create_ulong("rate", S_IRUGO, c->dent, &c->rate); |
1020 | if (!d) { | 1020 | if (!d) { |
1021 | err = -ENOMEM; | 1021 | err = -ENOMEM; |
1022 | goto err_out; | 1022 | goto err_out; |
1023 | } | 1023 | } |
1024 | d = debugfs_create_x32("flags", S_IRUGO, c->dent, (u32 *)&c->flags); | 1024 | d = debugfs_create_x8("flags", S_IRUGO, c->dent, &c->flags); |
1025 | if (!d) { | 1025 | if (!d) { |
1026 | err = -ENOMEM; | 1026 | err = -ENOMEM; |
1027 | goto err_out; | 1027 | goto err_out; |
diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c index 4bb6751864a5..fc5fb776a710 100644 --- a/arch/arm/mach-omap2/omap-wakeupgen.c +++ b/arch/arm/mach-omap2/omap-wakeupgen.c | |||
@@ -299,8 +299,6 @@ static void irq_save_context(void) | |||
299 | if (soc_is_dra7xx()) | 299 | if (soc_is_dra7xx()) |
300 | return; | 300 | return; |
301 | 301 | ||
302 | if (!sar_base) | ||
303 | sar_base = omap4_get_sar_ram_base(); | ||
304 | if (wakeupgen_ops && wakeupgen_ops->save_context) | 302 | if (wakeupgen_ops && wakeupgen_ops->save_context) |
305 | wakeupgen_ops->save_context(); | 303 | wakeupgen_ops->save_context(); |
306 | } | 304 | } |
@@ -598,6 +596,8 @@ static int __init wakeupgen_init(struct device_node *node, | |||
598 | irq_hotplug_init(); | 596 | irq_hotplug_init(); |
599 | irq_pm_init(); | 597 | irq_pm_init(); |
600 | 598 | ||
599 | sar_base = omap4_get_sar_ram_base(); | ||
600 | |||
601 | return 0; | 601 | return 0; |
602 | } | 602 | } |
603 | IRQCHIP_DECLARE(ti_wakeupgen, "ti,omap4-wugen-mpu", wakeupgen_init); | 603 | IRQCHIP_DECLARE(ti_wakeupgen, "ti,omap4-wugen-mpu", wakeupgen_init); |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 124f9af34a15..34156eca8e23 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -977,6 +977,9 @@ static int _enable_clocks(struct omap_hwmod *oh) | |||
977 | 977 | ||
978 | pr_debug("omap_hwmod: %s: enabling clocks\n", oh->name); | 978 | pr_debug("omap_hwmod: %s: enabling clocks\n", oh->name); |
979 | 979 | ||
980 | if (oh->flags & HWMOD_OPT_CLKS_NEEDED) | ||
981 | _enable_optional_clocks(oh); | ||
982 | |||
980 | if (oh->_clk) | 983 | if (oh->_clk) |
981 | clk_enable(oh->_clk); | 984 | clk_enable(oh->_clk); |
982 | 985 | ||
@@ -985,9 +988,6 @@ static int _enable_clocks(struct omap_hwmod *oh) | |||
985 | clk_enable(os->_clk); | 988 | clk_enable(os->_clk); |
986 | } | 989 | } |
987 | 990 | ||
988 | if (oh->flags & HWMOD_OPT_CLKS_NEEDED) | ||
989 | _enable_optional_clocks(oh); | ||
990 | |||
991 | /* The opt clocks are controlled by the device driver. */ | 991 | /* The opt clocks are controlled by the device driver. */ |
992 | 992 | ||
993 | return 0; | 993 | return 0; |
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index 366158a54fcd..6f68576e5695 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c | |||
@@ -186,7 +186,7 @@ static void omap_pm_end(void) | |||
186 | cpu_idle_poll_ctrl(false); | 186 | cpu_idle_poll_ctrl(false); |
187 | } | 187 | } |
188 | 188 | ||
189 | static void omap_pm_finish(void) | 189 | static void omap_pm_wake(void) |
190 | { | 190 | { |
191 | if (soc_is_omap34xx()) | 191 | if (soc_is_omap34xx()) |
192 | omap_prcm_irq_complete(); | 192 | omap_prcm_irq_complete(); |
@@ -196,7 +196,7 @@ static const struct platform_suspend_ops omap_pm_ops = { | |||
196 | .begin = omap_pm_begin, | 196 | .begin = omap_pm_begin, |
197 | .end = omap_pm_end, | 197 | .end = omap_pm_end, |
198 | .enter = omap_pm_enter, | 198 | .enter = omap_pm_enter, |
199 | .finish = omap_pm_finish, | 199 | .wake = omap_pm_wake, |
200 | .valid = suspend_valid_only_mem, | 200 | .valid = suspend_valid_only_mem, |
201 | }; | 201 | }; |
202 | 202 | ||
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index ece09c9461f7..d61fbd7a2840 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
@@ -156,12 +156,6 @@ static struct clock_event_device clockevent_gpt = { | |||
156 | .tick_resume = omap2_gp_timer_shutdown, | 156 | .tick_resume = omap2_gp_timer_shutdown, |
157 | }; | 157 | }; |
158 | 158 | ||
159 | static struct property device_disabled = { | ||
160 | .name = "status", | ||
161 | .length = sizeof("disabled"), | ||
162 | .value = "disabled", | ||
163 | }; | ||
164 | |||
165 | static const struct of_device_id omap_timer_match[] __initconst = { | 159 | static const struct of_device_id omap_timer_match[] __initconst = { |
166 | { .compatible = "ti,omap2420-timer", }, | 160 | { .compatible = "ti,omap2420-timer", }, |
167 | { .compatible = "ti,omap3430-timer", }, | 161 | { .compatible = "ti,omap3430-timer", }, |
@@ -203,8 +197,17 @@ static struct device_node * __init omap_get_timer_dt(const struct of_device_id * | |||
203 | of_get_property(np, "ti,timer-secure", NULL))) | 197 | of_get_property(np, "ti,timer-secure", NULL))) |
204 | continue; | 198 | continue; |
205 | 199 | ||
206 | if (!of_device_is_compatible(np, "ti,omap-counter32k")) | 200 | if (!of_device_is_compatible(np, "ti,omap-counter32k")) { |
207 | of_add_property(np, &device_disabled); | 201 | struct property *prop; |
202 | |||
203 | prop = kzalloc(sizeof(*prop), GFP_KERNEL); | ||
204 | if (!prop) | ||
205 | return NULL; | ||
206 | prop->name = "status"; | ||
207 | prop->value = "disabled"; | ||
208 | prop->length = strlen(prop->value); | ||
209 | of_add_property(np, prop); | ||
210 | } | ||
208 | return np; | 211 | return np; |
209 | } | 212 | } |
210 | 213 | ||
diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c index aff6994950ba..a2399fd66e97 100644 --- a/arch/arm/plat-orion/common.c +++ b/arch/arm/plat-orion/common.c | |||
@@ -472,28 +472,27 @@ void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data, | |||
472 | /***************************************************************************** | 472 | /***************************************************************************** |
473 | * Ethernet switch | 473 | * Ethernet switch |
474 | ****************************************************************************/ | 474 | ****************************************************************************/ |
475 | static __initconst const char *orion_ge00_mvmdio_bus_name = "orion-mii"; | 475 | static __initdata struct mdio_board_info orion_ge00_switch_board_info = { |
476 | static __initdata struct mdio_board_info | 476 | .bus_id = "orion-mii", |
477 | orion_ge00_switch_board_info; | 477 | .modalias = "mv88e6085", |
478 | }; | ||
478 | 479 | ||
479 | void __init orion_ge00_switch_init(struct dsa_chip_data *d) | 480 | void __init orion_ge00_switch_init(struct dsa_chip_data *d) |
480 | { | 481 | { |
481 | struct mdio_board_info *bd; | ||
482 | unsigned int i; | 482 | unsigned int i; |
483 | 483 | ||
484 | if (!IS_BUILTIN(CONFIG_PHYLIB)) | 484 | if (!IS_BUILTIN(CONFIG_PHYLIB)) |
485 | return; | 485 | return; |
486 | 486 | ||
487 | for (i = 0; i < ARRAY_SIZE(d->port_names); i++) | 487 | for (i = 0; i < ARRAY_SIZE(d->port_names); i++) { |
488 | if (!strcmp(d->port_names[i], "cpu")) | 488 | if (!strcmp(d->port_names[i], "cpu")) { |
489 | d->netdev[i] = &orion_ge00.dev; | ||
489 | break; | 490 | break; |
491 | } | ||
492 | } | ||
490 | 493 | ||
491 | bd = &orion_ge00_switch_board_info; | 494 | orion_ge00_switch_board_info.mdio_addr = d->sw_addr; |
492 | bd->bus_id = orion_ge00_mvmdio_bus_name; | 495 | orion_ge00_switch_board_info.platform_data = d; |
493 | bd->mdio_addr = d->sw_addr; | ||
494 | d->netdev[i] = &orion_ge00.dev; | ||
495 | strcpy(bd->modalias, "mv88e6085"); | ||
496 | bd->platform_data = d; | ||
497 | 496 | ||
498 | mdiobus_register_board_info(&orion_ge00_switch_board_info, 1); | 497 | mdiobus_register_board_info(&orion_ge00_switch_board_info, 1); |
499 | } | 498 | } |
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi index a80632641b39..70c776ef7aa7 100644 --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi | |||
@@ -165,14 +165,14 @@ | |||
165 | 165 | ||
166 | uart_A: serial@24000 { | 166 | uart_A: serial@24000 { |
167 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; | 167 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; |
168 | reg = <0x0 0x24000 0x0 0x14>; | 168 | reg = <0x0 0x24000 0x0 0x18>; |
169 | interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; | 169 | interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; |
170 | status = "disabled"; | 170 | status = "disabled"; |
171 | }; | 171 | }; |
172 | 172 | ||
173 | uart_B: serial@23000 { | 173 | uart_B: serial@23000 { |
174 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; | 174 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; |
175 | reg = <0x0 0x23000 0x0 0x14>; | 175 | reg = <0x0 0x23000 0x0 0x18>; |
176 | interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; | 176 | interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; |
177 | status = "disabled"; | 177 | status = "disabled"; |
178 | }; | 178 | }; |
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi index 6cb3c2a52baf..4ee2e7951482 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi | |||
@@ -235,14 +235,14 @@ | |||
235 | 235 | ||
236 | uart_A: serial@84c0 { | 236 | uart_A: serial@84c0 { |
237 | compatible = "amlogic,meson-gx-uart"; | 237 | compatible = "amlogic,meson-gx-uart"; |
238 | reg = <0x0 0x84c0 0x0 0x14>; | 238 | reg = <0x0 0x84c0 0x0 0x18>; |
239 | interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; | 239 | interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; |
240 | status = "disabled"; | 240 | status = "disabled"; |
241 | }; | 241 | }; |
242 | 242 | ||
243 | uart_B: serial@84dc { | 243 | uart_B: serial@84dc { |
244 | compatible = "amlogic,meson-gx-uart"; | 244 | compatible = "amlogic,meson-gx-uart"; |
245 | reg = <0x0 0x84dc 0x0 0x14>; | 245 | reg = <0x0 0x84dc 0x0 0x18>; |
246 | interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; | 246 | interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; |
247 | status = "disabled"; | 247 | status = "disabled"; |
248 | }; | 248 | }; |
@@ -287,7 +287,7 @@ | |||
287 | 287 | ||
288 | uart_C: serial@8700 { | 288 | uart_C: serial@8700 { |
289 | compatible = "amlogic,meson-gx-uart"; | 289 | compatible = "amlogic,meson-gx-uart"; |
290 | reg = <0x0 0x8700 0x0 0x14>; | 290 | reg = <0x0 0x8700 0x0 0x18>; |
291 | interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>; | 291 | interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>; |
292 | status = "disabled"; | 292 | status = "disabled"; |
293 | }; | 293 | }; |
@@ -404,14 +404,14 @@ | |||
404 | 404 | ||
405 | uart_AO: serial@4c0 { | 405 | uart_AO: serial@4c0 { |
406 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; | 406 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; |
407 | reg = <0x0 0x004c0 0x0 0x14>; | 407 | reg = <0x0 0x004c0 0x0 0x18>; |
408 | interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; | 408 | interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; |
409 | status = "disabled"; | 409 | status = "disabled"; |
410 | }; | 410 | }; |
411 | 411 | ||
412 | uart_AO_B: serial@4e0 { | 412 | uart_AO_B: serial@4e0 { |
413 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; | 413 | compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; |
414 | reg = <0x0 0x004e0 0x0 0x14>; | 414 | reg = <0x0 0x004e0 0x0 0x18>; |
415 | interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; | 415 | interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; |
416 | status = "disabled"; | 416 | status = "disabled"; |
417 | }; | 417 | }; |
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi index 4f355f17eed6..c8514110b9da 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | |||
@@ -631,6 +631,7 @@ | |||
631 | 631 | ||
632 | internal_phy: ethernet-phy@8 { | 632 | internal_phy: ethernet-phy@8 { |
633 | compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; | 633 | compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; |
634 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; | ||
634 | reg = <8>; | 635 | reg = <8>; |
635 | max-speed = <100>; | 636 | max-speed = <100>; |
636 | }; | 637 | }; |
diff --git a/arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi b/arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi index 4220fbdcb24a..ff5c4c47b22b 100644 --- a/arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi +++ b/arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi | |||
@@ -98,7 +98,7 @@ | |||
98 | clock-output-names = "clk125mhz"; | 98 | clock-output-names = "clk125mhz"; |
99 | }; | 99 | }; |
100 | 100 | ||
101 | pci { | 101 | pcie@30000000 { |
102 | compatible = "pci-host-ecam-generic"; | 102 | compatible = "pci-host-ecam-generic"; |
103 | device_type = "pci"; | 103 | device_type = "pci"; |
104 | #interrupt-cells = <1>; | 104 | #interrupt-cells = <1>; |
@@ -118,6 +118,7 @@ | |||
118 | ranges = | 118 | ranges = |
119 | <0x02000000 0 0x40000000 0 0x40000000 0 0x20000000 | 119 | <0x02000000 0 0x40000000 0 0x40000000 0 0x20000000 |
120 | 0x43000000 0x40 0x00000000 0x40 0x00000000 0x20 0x00000000>; | 120 | 0x43000000 0x40 0x00000000 0x40 0x00000000 0x20 0x00000000>; |
121 | bus-range = <0 0xff>; | ||
121 | interrupt-map-mask = <0 0 0 7>; | 122 | interrupt-map-mask = <0 0 0 7>; |
122 | interrupt-map = | 123 | interrupt-map = |
123 | /* addr pin ic icaddr icintr */ | 124 | /* addr pin ic icaddr icintr */ |
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts index e94fa1a53192..047641fe294c 100644 --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | |||
@@ -51,7 +51,7 @@ | |||
51 | #size-cells = <2>; | 51 | #size-cells = <2>; |
52 | ranges; | 52 | ranges; |
53 | 53 | ||
54 | ramoops@0x21f00000 { | 54 | ramoops@21f00000 { |
55 | compatible = "ramoops"; | 55 | compatible = "ramoops"; |
56 | reg = <0x0 0x21f00000 0x0 0x00100000>; | 56 | reg = <0x0 0x21f00000 0x0 0x00100000>; |
57 | record-size = <0x00020000>; | 57 | record-size = <0x00020000>; |
diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi index 9fbe4705ee88..94597e33c806 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi | |||
@@ -341,7 +341,7 @@ | |||
341 | reg = <0 0x10005000 0 0x1000>; | 341 | reg = <0 0x10005000 0 0x1000>; |
342 | }; | 342 | }; |
343 | 343 | ||
344 | pio: pinctrl@0x10005000 { | 344 | pio: pinctrl@10005000 { |
345 | compatible = "mediatek,mt8173-pinctrl"; | 345 | compatible = "mediatek,mt8173-pinctrl"; |
346 | reg = <0 0x1000b000 0 0x1000>; | 346 | reg = <0 0x1000b000 0 0x1000>; |
347 | mediatek,pctl-regmap = <&syscfg_pctl_a>; | 347 | mediatek,pctl-regmap = <&syscfg_pctl_a>; |
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi index 492a011f14f6..1c8f1b86472d 100644 --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | |||
@@ -140,16 +140,16 @@ | |||
140 | }; | 140 | }; |
141 | 141 | ||
142 | agnoc@0 { | 142 | agnoc@0 { |
143 | qcom,pcie@00600000 { | 143 | qcom,pcie@600000 { |
144 | perst-gpio = <&msmgpio 35 GPIO_ACTIVE_LOW>; | 144 | perst-gpio = <&msmgpio 35 GPIO_ACTIVE_LOW>; |
145 | }; | 145 | }; |
146 | 146 | ||
147 | qcom,pcie@00608000 { | 147 | qcom,pcie@608000 { |
148 | status = "okay"; | 148 | status = "okay"; |
149 | perst-gpio = <&msmgpio 130 GPIO_ACTIVE_LOW>; | 149 | perst-gpio = <&msmgpio 130 GPIO_ACTIVE_LOW>; |
150 | }; | 150 | }; |
151 | 151 | ||
152 | qcom,pcie@00610000 { | 152 | qcom,pcie@610000 { |
153 | status = "okay"; | 153 | status = "okay"; |
154 | perst-gpio = <&msmgpio 114 GPIO_ACTIVE_LOW>; | 154 | perst-gpio = <&msmgpio 114 GPIO_ACTIVE_LOW>; |
155 | }; | 155 | }; |
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi index 4b2afcc4fdf4..0a6f7952bbb1 100644 --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi | |||
@@ -840,7 +840,7 @@ | |||
840 | #size-cells = <1>; | 840 | #size-cells = <1>; |
841 | ranges; | 841 | ranges; |
842 | 842 | ||
843 | pcie0: qcom,pcie@00600000 { | 843 | pcie0: qcom,pcie@600000 { |
844 | compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; | 844 | compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; |
845 | status = "disabled"; | 845 | status = "disabled"; |
846 | power-domains = <&gcc PCIE0_GDSC>; | 846 | power-domains = <&gcc PCIE0_GDSC>; |
@@ -893,7 +893,7 @@ | |||
893 | 893 | ||
894 | }; | 894 | }; |
895 | 895 | ||
896 | pcie1: qcom,pcie@00608000 { | 896 | pcie1: qcom,pcie@608000 { |
897 | compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; | 897 | compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; |
898 | power-domains = <&gcc PCIE1_GDSC>; | 898 | power-domains = <&gcc PCIE1_GDSC>; |
899 | bus-range = <0x00 0xff>; | 899 | bus-range = <0x00 0xff>; |
@@ -946,7 +946,7 @@ | |||
946 | "bus_slave"; | 946 | "bus_slave"; |
947 | }; | 947 | }; |
948 | 948 | ||
949 | pcie2: qcom,pcie@00610000 { | 949 | pcie2: qcom,pcie@610000 { |
950 | compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; | 950 | compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; |
951 | power-domains = <&gcc PCIE2_GDSC>; | 951 | power-domains = <&gcc PCIE2_GDSC>; |
952 | bus-range = <0x00 0xff>; | 952 | bus-range = <0x00 0xff>; |
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts index 3890468678ce..28257724a56e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | |||
@@ -132,17 +132,16 @@ | |||
132 | assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; | 132 | assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; |
133 | assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>; | 133 | assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>; |
134 | clock_in_out = "input"; | 134 | clock_in_out = "input"; |
135 | /* shows instability at 1GBit right now */ | ||
136 | max-speed = <100>; | ||
137 | phy-supply = <&vcc_io>; | 135 | phy-supply = <&vcc_io>; |
138 | phy-mode = "rgmii"; | 136 | phy-mode = "rgmii"; |
139 | pinctrl-names = "default"; | 137 | pinctrl-names = "default"; |
140 | pinctrl-0 = <&rgmiim1_pins>; | 138 | pinctrl-0 = <&rgmiim1_pins>; |
139 | snps,force_thresh_dma_mode; | ||
141 | snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; | 140 | snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; |
142 | snps,reset-active-low; | 141 | snps,reset-active-low; |
143 | snps,reset-delays-us = <0 10000 50000>; | 142 | snps,reset-delays-us = <0 10000 50000>; |
144 | tx_delay = <0x26>; | 143 | tx_delay = <0x24>; |
145 | rx_delay = <0x11>; | 144 | rx_delay = <0x18>; |
146 | status = "okay"; | 145 | status = "okay"; |
147 | }; | 146 | }; |
148 | 147 | ||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi index a037ee56fead..cae341554486 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi | |||
@@ -730,7 +730,7 @@ | |||
730 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | 730 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; |
731 | clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, | 731 | clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, |
732 | <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; | 732 | <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; |
733 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 733 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
734 | fifo-depth = <0x100>; | 734 | fifo-depth = <0x100>; |
735 | status = "disabled"; | 735 | status = "disabled"; |
736 | }; | 736 | }; |
@@ -741,7 +741,7 @@ | |||
741 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; | 741 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; |
742 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, | 742 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, |
743 | <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; | 743 | <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; |
744 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 744 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
745 | fifo-depth = <0x100>; | 745 | fifo-depth = <0x100>; |
746 | status = "disabled"; | 746 | status = "disabled"; |
747 | }; | 747 | }; |
@@ -752,7 +752,7 @@ | |||
752 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; | 752 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; |
753 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, | 753 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, |
754 | <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; | 754 | <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; |
755 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 755 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
756 | fifo-depth = <0x100>; | 756 | fifo-depth = <0x100>; |
757 | status = "disabled"; | 757 | status = "disabled"; |
758 | }; | 758 | }; |
diff --git a/arch/arm64/boot/dts/rockchip/rk3368.dtsi b/arch/arm64/boot/dts/rockchip/rk3368.dtsi index aa4d07046a7b..03458ac44201 100644 --- a/arch/arm64/boot/dts/rockchip/rk3368.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3368.dtsi | |||
@@ -257,7 +257,7 @@ | |||
257 | max-frequency = <150000000>; | 257 | max-frequency = <150000000>; |
258 | clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>, | 258 | clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>, |
259 | <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>; | 259 | <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>; |
260 | clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; | 260 | clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; |
261 | fifo-depth = <0x100>; | 261 | fifo-depth = <0x100>; |
262 | interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; | 262 | interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; |
263 | resets = <&cru SRST_SDIO0>; | 263 | resets = <&cru SRST_SDIO0>; |
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi index 0f873c897d0d..ce592a4c0c4c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi | |||
@@ -457,7 +457,7 @@ | |||
457 | assigned-clocks = <&cru SCLK_PCIEPHY_REF>; | 457 | assigned-clocks = <&cru SCLK_PCIEPHY_REF>; |
458 | assigned-clock-parents = <&cru SCLK_PCIEPHY_REF100M>; | 458 | assigned-clock-parents = <&cru SCLK_PCIEPHY_REF100M>; |
459 | assigned-clock-rates = <100000000>; | 459 | assigned-clock-rates = <100000000>; |
460 | ep-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>; | 460 | ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>; |
461 | num-lanes = <4>; | 461 | num-lanes = <4>; |
462 | pinctrl-names = "default"; | 462 | pinctrl-names = "default"; |
463 | pinctrl-0 = <&pcie_clkreqn_cpm>; | 463 | pinctrl-0 = <&pcie_clkreqn_cpm>; |
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 7aa2144e0d47..2605118d4b4c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi | |||
@@ -1739,8 +1739,8 @@ | |||
1739 | compatible = "rockchip,rk3399-edp"; | 1739 | compatible = "rockchip,rk3399-edp"; |
1740 | reg = <0x0 0xff970000 0x0 0x8000>; | 1740 | reg = <0x0 0xff970000 0x0 0x8000>; |
1741 | interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>; | 1741 | interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>; |
1742 | clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>; | 1742 | clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>, <&cru PCLK_VIO_GRF>; |
1743 | clock-names = "dp", "pclk"; | 1743 | clock-names = "dp", "pclk", "grf"; |
1744 | pinctrl-names = "default"; | 1744 | pinctrl-names = "default"; |
1745 | pinctrl-0 = <&edp_hpd>; | 1745 | pinctrl-0 = <&edp_hpd>; |
1746 | power-domains = <&power RK3399_PD_EDP>; | 1746 | power-domains = <&power RK3399_PD_EDP>; |
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index 4d46003c46cf..cdaeeea7999c 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c | |||
@@ -630,7 +630,7 @@ static int sysc_init_dts_quirks(struct sysc *ddata) | |||
630 | for (i = 0; i < ARRAY_SIZE(sysc_dts_quirks); i++) { | 630 | for (i = 0; i < ARRAY_SIZE(sysc_dts_quirks); i++) { |
631 | prop = of_get_property(np, sysc_dts_quirks[i].name, &len); | 631 | prop = of_get_property(np, sysc_dts_quirks[i].name, &len); |
632 | if (!prop) | 632 | if (!prop) |
633 | break; | 633 | continue; |
634 | 634 | ||
635 | ddata->cfg.quirks |= sysc_dts_quirks[i].mask; | 635 | ddata->cfg.quirks |= sysc_dts_quirks[i].mask; |
636 | } | 636 | } |
diff --git a/drivers/memory/brcmstb_dpfe.c b/drivers/memory/brcmstb_dpfe.c index 0a7bdbed3a6f..e9c1485c32b9 100644 --- a/drivers/memory/brcmstb_dpfe.c +++ b/drivers/memory/brcmstb_dpfe.c | |||
@@ -45,8 +45,16 @@ | |||
45 | #define REG_TO_DCPU_MBOX 0x10 | 45 | #define REG_TO_DCPU_MBOX 0x10 |
46 | #define REG_TO_HOST_MBOX 0x14 | 46 | #define REG_TO_HOST_MBOX 0x14 |
47 | 47 | ||
48 | /* Macros to process offsets returned by the DCPU */ | ||
49 | #define DRAM_MSG_ADDR_OFFSET 0x0 | ||
50 | #define DRAM_MSG_TYPE_OFFSET 0x1c | ||
51 | #define DRAM_MSG_ADDR_MASK ((1UL << DRAM_MSG_TYPE_OFFSET) - 1) | ||
52 | #define DRAM_MSG_TYPE_MASK ((1UL << \ | ||
53 | (BITS_PER_LONG - DRAM_MSG_TYPE_OFFSET)) - 1) | ||
54 | |||
48 | /* Message RAM */ | 55 | /* Message RAM */ |
49 | #define DCPU_MSG_RAM(x) (0x100 + (x) * sizeof(u32)) | 56 | #define DCPU_MSG_RAM_START 0x100 |
57 | #define DCPU_MSG_RAM(x) (DCPU_MSG_RAM_START + (x) * sizeof(u32)) | ||
50 | 58 | ||
51 | /* DRAM Info Offsets & Masks */ | 59 | /* DRAM Info Offsets & Masks */ |
52 | #define DRAM_INFO_INTERVAL 0x0 | 60 | #define DRAM_INFO_INTERVAL 0x0 |
@@ -255,6 +263,40 @@ static unsigned int get_msg_chksum(const u32 msg[]) | |||
255 | return sum; | 263 | return sum; |
256 | } | 264 | } |
257 | 265 | ||
266 | static void __iomem *get_msg_ptr(struct private_data *priv, u32 response, | ||
267 | char *buf, ssize_t *size) | ||
268 | { | ||
269 | unsigned int msg_type; | ||
270 | unsigned int offset; | ||
271 | void __iomem *ptr = NULL; | ||
272 | |||
273 | msg_type = (response >> DRAM_MSG_TYPE_OFFSET) & DRAM_MSG_TYPE_MASK; | ||
274 | offset = (response >> DRAM_MSG_ADDR_OFFSET) & DRAM_MSG_ADDR_MASK; | ||
275 | |||
276 | /* | ||
277 | * msg_type == 1: the offset is relative to the message RAM | ||
278 | * msg_type == 0: the offset is relative to the data RAM (this is the | ||
279 | * previous way of passing data) | ||
280 | * msg_type is anything else: there's critical hardware problem | ||
281 | */ | ||
282 | switch (msg_type) { | ||
283 | case 1: | ||
284 | ptr = priv->regs + DCPU_MSG_RAM_START + offset; | ||
285 | break; | ||
286 | case 0: | ||
287 | ptr = priv->dmem + offset; | ||
288 | break; | ||
289 | default: | ||
290 | dev_emerg(priv->dev, "invalid message reply from DCPU: %#x\n", | ||
291 | response); | ||
292 | if (buf && size) | ||
293 | *size = sprintf(buf, | ||
294 | "FATAL: communication error with DCPU\n"); | ||
295 | } | ||
296 | |||
297 | return ptr; | ||
298 | } | ||
299 | |||
258 | static int __send_command(struct private_data *priv, unsigned int cmd, | 300 | static int __send_command(struct private_data *priv, unsigned int cmd, |
259 | u32 result[]) | 301 | u32 result[]) |
260 | { | 302 | { |
@@ -507,7 +549,7 @@ static ssize_t show_info(struct device *dev, struct device_attribute *devattr, | |||
507 | { | 549 | { |
508 | u32 response[MSG_FIELD_MAX]; | 550 | u32 response[MSG_FIELD_MAX]; |
509 | unsigned int info; | 551 | unsigned int info; |
510 | int ret; | 552 | ssize_t ret; |
511 | 553 | ||
512 | ret = generic_show(DPFE_CMD_GET_INFO, response, dev, buf); | 554 | ret = generic_show(DPFE_CMD_GET_INFO, response, dev, buf); |
513 | if (ret) | 555 | if (ret) |
@@ -528,18 +570,19 @@ static ssize_t show_refresh(struct device *dev, | |||
528 | u32 response[MSG_FIELD_MAX]; | 570 | u32 response[MSG_FIELD_MAX]; |
529 | void __iomem *info; | 571 | void __iomem *info; |
530 | struct private_data *priv; | 572 | struct private_data *priv; |
531 | unsigned int offset; | ||
532 | u8 refresh, sr_abort, ppre, thermal_offs, tuf; | 573 | u8 refresh, sr_abort, ppre, thermal_offs, tuf; |
533 | u32 mr4; | 574 | u32 mr4; |
534 | int ret; | 575 | ssize_t ret; |
535 | 576 | ||
536 | ret = generic_show(DPFE_CMD_GET_REFRESH, response, dev, buf); | 577 | ret = generic_show(DPFE_CMD_GET_REFRESH, response, dev, buf); |
537 | if (ret) | 578 | if (ret) |
538 | return ret; | 579 | return ret; |
539 | 580 | ||
540 | priv = dev_get_drvdata(dev); | 581 | priv = dev_get_drvdata(dev); |
541 | offset = response[MSG_ARG0]; | 582 | |
542 | info = priv->dmem + offset; | 583 | info = get_msg_ptr(priv, response[MSG_ARG0], buf, &ret); |
584 | if (!info) | ||
585 | return ret; | ||
543 | 586 | ||
544 | mr4 = readl_relaxed(info + DRAM_INFO_MR4) & DRAM_INFO_MR4_MASK; | 587 | mr4 = readl_relaxed(info + DRAM_INFO_MR4) & DRAM_INFO_MR4_MASK; |
545 | 588 | ||
@@ -561,7 +604,6 @@ static ssize_t store_refresh(struct device *dev, struct device_attribute *attr, | |||
561 | u32 response[MSG_FIELD_MAX]; | 604 | u32 response[MSG_FIELD_MAX]; |
562 | struct private_data *priv; | 605 | struct private_data *priv; |
563 | void __iomem *info; | 606 | void __iomem *info; |
564 | unsigned int offset; | ||
565 | unsigned long val; | 607 | unsigned long val; |
566 | int ret; | 608 | int ret; |
567 | 609 | ||
@@ -574,8 +616,10 @@ static ssize_t store_refresh(struct device *dev, struct device_attribute *attr, | |||
574 | if (ret) | 616 | if (ret) |
575 | return ret; | 617 | return ret; |
576 | 618 | ||
577 | offset = response[MSG_ARG0]; | 619 | info = get_msg_ptr(priv, response[MSG_ARG0], NULL, NULL); |
578 | info = priv->dmem + offset; | 620 | if (!info) |
621 | return -EIO; | ||
622 | |||
579 | writel_relaxed(val, info + DRAM_INFO_INTERVAL); | 623 | writel_relaxed(val, info + DRAM_INFO_INTERVAL); |
580 | 624 | ||
581 | return count; | 625 | return count; |
@@ -587,23 +631,25 @@ static ssize_t show_vendor(struct device *dev, struct device_attribute *devattr, | |||
587 | u32 response[MSG_FIELD_MAX]; | 631 | u32 response[MSG_FIELD_MAX]; |
588 | struct private_data *priv; | 632 | struct private_data *priv; |
589 | void __iomem *info; | 633 | void __iomem *info; |
590 | unsigned int offset; | 634 | ssize_t ret; |
591 | int ret; | ||
592 | 635 | ||
593 | ret = generic_show(DPFE_CMD_GET_VENDOR, response, dev, buf); | 636 | ret = generic_show(DPFE_CMD_GET_VENDOR, response, dev, buf); |
594 | if (ret) | 637 | if (ret) |
595 | return ret; | 638 | return ret; |
596 | 639 | ||
597 | offset = response[MSG_ARG0]; | ||
598 | priv = dev_get_drvdata(dev); | 640 | priv = dev_get_drvdata(dev); |
599 | info = priv->dmem + offset; | 641 | |
642 | info = get_msg_ptr(priv, response[MSG_ARG0], buf, &ret); | ||
643 | if (!info) | ||
644 | return ret; | ||
600 | 645 | ||
601 | return sprintf(buf, "%#x %#x %#x %#x %#x\n", | 646 | return sprintf(buf, "%#x %#x %#x %#x %#x\n", |
602 | readl_relaxed(info + DRAM_VENDOR_MR5) & DRAM_VENDOR_MASK, | 647 | readl_relaxed(info + DRAM_VENDOR_MR5) & DRAM_VENDOR_MASK, |
603 | readl_relaxed(info + DRAM_VENDOR_MR6) & DRAM_VENDOR_MASK, | 648 | readl_relaxed(info + DRAM_VENDOR_MR6) & DRAM_VENDOR_MASK, |
604 | readl_relaxed(info + DRAM_VENDOR_MR7) & DRAM_VENDOR_MASK, | 649 | readl_relaxed(info + DRAM_VENDOR_MR7) & DRAM_VENDOR_MASK, |
605 | readl_relaxed(info + DRAM_VENDOR_MR8) & DRAM_VENDOR_MASK, | 650 | readl_relaxed(info + DRAM_VENDOR_MR8) & DRAM_VENDOR_MASK, |
606 | readl_relaxed(info + DRAM_VENDOR_ERROR)); | 651 | readl_relaxed(info + DRAM_VENDOR_ERROR) & |
652 | DRAM_VENDOR_MASK); | ||
607 | } | 653 | } |
608 | 654 | ||
609 | static int brcmstb_dpfe_resume(struct platform_device *pdev) | 655 | static int brcmstb_dpfe_resume(struct platform_device *pdev) |
diff --git a/drivers/soc/imx/gpc.c b/drivers/soc/imx/gpc.c index cfb42f5eccb2..750f93197411 100644 --- a/drivers/soc/imx/gpc.c +++ b/drivers/soc/imx/gpc.c | |||
@@ -470,13 +470,21 @@ static int imx_gpc_probe(struct platform_device *pdev) | |||
470 | 470 | ||
471 | static int imx_gpc_remove(struct platform_device *pdev) | 471 | static int imx_gpc_remove(struct platform_device *pdev) |
472 | { | 472 | { |
473 | struct device_node *pgc_node; | ||
473 | int ret; | 474 | int ret; |
474 | 475 | ||
476 | pgc_node = of_get_child_by_name(pdev->dev.of_node, "pgc"); | ||
477 | |||
478 | /* bail out if DT too old and doesn't provide the necessary info */ | ||
479 | if (!of_property_read_bool(pdev->dev.of_node, "#power-domain-cells") && | ||
480 | !pgc_node) | ||
481 | return 0; | ||
482 | |||
475 | /* | 483 | /* |
476 | * If the old DT binding is used the toplevel driver needs to | 484 | * If the old DT binding is used the toplevel driver needs to |
477 | * de-register the power domains | 485 | * de-register the power domains |
478 | */ | 486 | */ |
479 | if (!of_get_child_by_name(pdev->dev.of_node, "pgc")) { | 487 | if (!pgc_node) { |
480 | of_genpd_del_provider(pdev->dev.of_node); | 488 | of_genpd_del_provider(pdev->dev.of_node); |
481 | 489 | ||
482 | ret = pm_genpd_remove(&imx_gpc_domains[GPC_PGC_DOMAIN_PU].base); | 490 | ret = pm_genpd_remove(&imx_gpc_domains[GPC_PGC_DOMAIN_PU].base); |