diff options
author | Olof Johansson <olof@lixom.net> | 2016-11-17 19:37:04 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2016-11-17 19:37:04 -0500 |
commit | 52cad4b54da3448c819d240c5a7ce08ec9398680 (patch) | |
tree | 5e359d93a9de7a9d10aa4dde6203a7a8335b8011 | |
parent | fbcdf6877eacc0dc6b69b5aac5b43fb6b182aee4 (diff) | |
parent | 1bc2f5fac34535aeb3878ce32a762a221be7a851 (diff) |
Merge tag 'omap-for-v4.9/fixes-for-rc-cycle' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
Fixes for omaps for v4.9-rc cycle. Except for the omap3 fix for the SoC
features printed, all these are quite trivial and tiny. The omap5 jack
detection and gpadc patches are not strictly fixes, but I wanted to get
binding document typo fixed before it pops up on other boards. The
gpadc one liner was in the same series and I applied and pushed it out
already before noticing it could have waited. The list of changes is:
- Fix omap3 SoC features printed
- Make sure OMAP_INTERCONNECT is selected for am43xx only configurations
- Add missing memory node for torpedo
- Initialize uart4_mask properly to avoid writing garbage to PRM registers
- Fix NULL pointer dereference for omap4 volt_data
- Add alias for omap5 gpadc needed by iio drivers
- Enable omap5 jack headset jack detection and fix it's binding typo
- Add missing memory node for logicpd-som-lv
- Fix wrong SMPS6 voltage for VDD-DDR3 for omap5
* tag 'omap-for-v4.9/fixes-for-rc-cycle' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap5: board-common: fix wrong SMPS6 (VDD-DDR3) voltage
ARM: omap3: Add missing memory node in SOM-LV
ASoC: omap-abe-twl6040: fix typo in bindings documentation
dts: omap5: board-common: enable twl6040 headset jack detection
dts: omap5: board-common: add phandle to reference Palmas gpadc
ARM: OMAP2+: avoid NULL pointer dereference
ARM: OMAP2+: PRM: initialize en_uart4_mask and grpsel_uart4_mask
ARM: dts: omap3: Fix memory node in Torpedo board
ARM: AM43XX: Select OMAP_INTERCONNECT in Kconfig
ARM: OMAP3: Fix formatting of features printed
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/logicpd-som-lv.dtsi | 5 | ||||
-rw-r--r-- | arch/arm/boot/dts/logicpd-torpedo-som.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap5-board-common.dtsi | 7 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/id.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prm3xxx.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltage.c | 6 |
8 files changed, 33 insertions, 11 deletions
diff --git a/Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt b/Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt index fd40c852d7c7..462b04e8209f 100644 --- a/Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt +++ b/Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt | |||
@@ -12,7 +12,7 @@ Required properties: | |||
12 | 12 | ||
13 | Optional properties: | 13 | Optional properties: |
14 | - ti,dmic: phandle for the OMAP dmic node if the machine have it connected | 14 | - ti,dmic: phandle for the OMAP dmic node if the machine have it connected |
15 | - ti,jack_detection: Need to be present if the board capable to detect jack | 15 | - ti,jack-detection: Need to be present if the board capable to detect jack |
16 | insertion, removal. | 16 | insertion, removal. |
17 | 17 | ||
18 | Available audio endpoints for the audio-routing table: | 18 | Available audio endpoints for the audio-routing table: |
diff --git a/arch/arm/boot/dts/logicpd-som-lv.dtsi b/arch/arm/boot/dts/logicpd-som-lv.dtsi index 0ff1c2de95bf..26cce4d18405 100644 --- a/arch/arm/boot/dts/logicpd-som-lv.dtsi +++ b/arch/arm/boot/dts/logicpd-som-lv.dtsi | |||
@@ -13,6 +13,11 @@ | |||
13 | }; | 13 | }; |
14 | }; | 14 | }; |
15 | 15 | ||
16 | memory@80000000 { | ||
17 | device_type = "memory"; | ||
18 | reg = <0x80000000 0>; | ||
19 | }; | ||
20 | |||
16 | wl12xx_vmmc: wl12xx_vmmc { | 21 | wl12xx_vmmc: wl12xx_vmmc { |
17 | compatible = "regulator-fixed"; | 22 | compatible = "regulator-fixed"; |
18 | regulator-name = "vwl1271"; | 23 | regulator-name = "vwl1271"; |
diff --git a/arch/arm/boot/dts/logicpd-torpedo-som.dtsi b/arch/arm/boot/dts/logicpd-torpedo-som.dtsi index 731ec37aed5b..8f9a69ca818c 100644 --- a/arch/arm/boot/dts/logicpd-torpedo-som.dtsi +++ b/arch/arm/boot/dts/logicpd-torpedo-som.dtsi | |||
@@ -13,9 +13,9 @@ | |||
13 | }; | 13 | }; |
14 | }; | 14 | }; |
15 | 15 | ||
16 | memory@0 { | 16 | memory@80000000 { |
17 | device_type = "memory"; | 17 | device_type = "memory"; |
18 | reg = <0 0>; | 18 | reg = <0x80000000 0>; |
19 | }; | 19 | }; |
20 | 20 | ||
21 | leds { | 21 | leds { |
diff --git a/arch/arm/boot/dts/omap5-board-common.dtsi b/arch/arm/boot/dts/omap5-board-common.dtsi index 6365635fea5c..4caadb253249 100644 --- a/arch/arm/boot/dts/omap5-board-common.dtsi +++ b/arch/arm/boot/dts/omap5-board-common.dtsi | |||
@@ -124,6 +124,7 @@ | |||
124 | compatible = "ti,abe-twl6040"; | 124 | compatible = "ti,abe-twl6040"; |
125 | ti,model = "omap5-uevm"; | 125 | ti,model = "omap5-uevm"; |
126 | 126 | ||
127 | ti,jack-detection; | ||
127 | ti,mclk-freq = <19200000>; | 128 | ti,mclk-freq = <19200000>; |
128 | 129 | ||
129 | ti,mcpdm = <&mcpdm>; | 130 | ti,mcpdm = <&mcpdm>; |
@@ -415,7 +416,7 @@ | |||
415 | ti,backup-battery-charge-high-current; | 416 | ti,backup-battery-charge-high-current; |
416 | }; | 417 | }; |
417 | 418 | ||
418 | gpadc { | 419 | gpadc: gpadc { |
419 | compatible = "ti,palmas-gpadc"; | 420 | compatible = "ti,palmas-gpadc"; |
420 | interrupts = <18 0 | 421 | interrupts = <18 0 |
421 | 16 0 | 422 | 16 0 |
@@ -475,8 +476,8 @@ | |||
475 | smps6_reg: smps6 { | 476 | smps6_reg: smps6 { |
476 | /* VDD_DDR3 - over VDD_SMPS6 */ | 477 | /* VDD_DDR3 - over VDD_SMPS6 */ |
477 | regulator-name = "smps6"; | 478 | regulator-name = "smps6"; |
478 | regulator-min-microvolt = <1200000>; | 479 | regulator-min-microvolt = <1350000>; |
479 | regulator-max-microvolt = <1200000>; | 480 | regulator-max-microvolt = <1350000>; |
480 | regulator-always-on; | 481 | regulator-always-on; |
481 | regulator-boot-on; | 482 | regulator-boot-on; |
482 | }; | 483 | }; |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index a9afeebd59f2..0465338183c7 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -71,6 +71,7 @@ config SOC_AM43XX | |||
71 | select HAVE_ARM_TWD | 71 | select HAVE_ARM_TWD |
72 | select ARM_ERRATA_754322 | 72 | select ARM_ERRATA_754322 |
73 | select ARM_ERRATA_775420 | 73 | select ARM_ERRATA_775420 |
74 | select OMAP_INTERCONNECT | ||
74 | 75 | ||
75 | config SOC_DRA7XX | 76 | config SOC_DRA7XX |
76 | bool "TI DRA7XX" | 77 | bool "TI DRA7XX" |
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 2abd53ae3e7a..cc6d9fa60924 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c | |||
@@ -205,11 +205,15 @@ void __init omap2xxx_check_revision(void) | |||
205 | 205 | ||
206 | #define OMAP3_SHOW_FEATURE(feat) \ | 206 | #define OMAP3_SHOW_FEATURE(feat) \ |
207 | if (omap3_has_ ##feat()) \ | 207 | if (omap3_has_ ##feat()) \ |
208 | printk(#feat" "); | 208 | n += scnprintf(buf + n, sizeof(buf) - n, #feat " "); |
209 | 209 | ||
210 | static void __init omap3_cpuinfo(void) | 210 | static void __init omap3_cpuinfo(void) |
211 | { | 211 | { |
212 | const char *cpu_name; | 212 | const char *cpu_name; |
213 | char buf[64]; | ||
214 | int n = 0; | ||
215 | |||
216 | memset(buf, 0, sizeof(buf)); | ||
213 | 217 | ||
214 | /* | 218 | /* |
215 | * OMAP3430 and OMAP3530 are assumed to be same. | 219 | * OMAP3430 and OMAP3530 are assumed to be same. |
@@ -241,10 +245,10 @@ static void __init omap3_cpuinfo(void) | |||
241 | cpu_name = "OMAP3503"; | 245 | cpu_name = "OMAP3503"; |
242 | } | 246 | } |
243 | 247 | ||
244 | sprintf(soc_name, "%s", cpu_name); | 248 | scnprintf(soc_name, sizeof(soc_name), "%s", cpu_name); |
245 | 249 | ||
246 | /* Print verbose information */ | 250 | /* Print verbose information */ |
247 | pr_info("%s %s (", soc_name, soc_rev); | 251 | n += scnprintf(buf, sizeof(buf) - n, "%s %s (", soc_name, soc_rev); |
248 | 252 | ||
249 | OMAP3_SHOW_FEATURE(l2cache); | 253 | OMAP3_SHOW_FEATURE(l2cache); |
250 | OMAP3_SHOW_FEATURE(iva); | 254 | OMAP3_SHOW_FEATURE(iva); |
@@ -252,8 +256,10 @@ static void __init omap3_cpuinfo(void) | |||
252 | OMAP3_SHOW_FEATURE(neon); | 256 | OMAP3_SHOW_FEATURE(neon); |
253 | OMAP3_SHOW_FEATURE(isp); | 257 | OMAP3_SHOW_FEATURE(isp); |
254 | OMAP3_SHOW_FEATURE(192mhz_clk); | 258 | OMAP3_SHOW_FEATURE(192mhz_clk); |
255 | 259 | if (*(buf + n - 1) == ' ') | |
256 | printk(")\n"); | 260 | n--; |
261 | n += scnprintf(buf + n, sizeof(buf) - n, ")\n"); | ||
262 | pr_info("%s", buf); | ||
257 | } | 263 | } |
258 | 264 | ||
259 | #define OMAP3_CHECK_FEATURE(status,feat) \ | 265 | #define OMAP3_CHECK_FEATURE(status,feat) \ |
diff --git a/arch/arm/mach-omap2/prm3xxx.c b/arch/arm/mach-omap2/prm3xxx.c index 62680aad2126..718981bb80cd 100644 --- a/arch/arm/mach-omap2/prm3xxx.c +++ b/arch/arm/mach-omap2/prm3xxx.c | |||
@@ -319,6 +319,9 @@ void __init omap3_prm_init_pm(bool has_uart4, bool has_iva) | |||
319 | if (has_uart4) { | 319 | if (has_uart4) { |
320 | en_uart4_mask = OMAP3630_EN_UART4_MASK; | 320 | en_uart4_mask = OMAP3630_EN_UART4_MASK; |
321 | grpsel_uart4_mask = OMAP3630_GRPSEL_UART4_MASK; | 321 | grpsel_uart4_mask = OMAP3630_GRPSEL_UART4_MASK; |
322 | } else { | ||
323 | en_uart4_mask = 0; | ||
324 | grpsel_uart4_mask = 0; | ||
322 | } | 325 | } |
323 | 326 | ||
324 | /* Enable wakeups in PER */ | 327 | /* Enable wakeups in PER */ |
diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c index cba8cada8c81..cd15dbd62671 100644 --- a/arch/arm/mach-omap2/voltage.c +++ b/arch/arm/mach-omap2/voltage.c | |||
@@ -87,6 +87,12 @@ int voltdm_scale(struct voltagedomain *voltdm, | |||
87 | return -ENODATA; | 87 | return -ENODATA; |
88 | } | 88 | } |
89 | 89 | ||
90 | if (!voltdm->volt_data) { | ||
91 | pr_err("%s: No voltage data defined for vdd_%s\n", | ||
92 | __func__, voltdm->name); | ||
93 | return -ENODATA; | ||
94 | } | ||
95 | |||
90 | /* Adjust voltage to the exact voltage from the OPP table */ | 96 | /* Adjust voltage to the exact voltage from the OPP table */ |
91 | for (i = 0; voltdm->volt_data[i].volt_nominal != 0; i++) { | 97 | for (i = 0; voltdm->volt_data[i].volt_nominal != 0; i++) { |
92 | if (voltdm->volt_data[i].volt_nominal >= target_volt) { | 98 | if (voltdm->volt_data[i].volt_nominal >= target_volt) { |