aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@HansenPartnership.com>2016-05-17 21:12:50 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2016-05-17 21:12:50 -0400
commite7ca7f9fa2cda220ba807620c992ce77c33a32ea (patch)
treefb8a6c1abc638c5a79645f4b9f44ece7c67187b4 /arch/arm
parent5f0dfb7a9bcc8139958f59ecb9bbd7e738ae702d (diff)
parentd65c8fff867a6450c58ce31572e883148a445ddf (diff)
Merge branch 'fixes' into misc
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/am335x-baltos-ir5221.dts5
-rw-r--r--arch/arm/boot/dts/am4372.dtsi2
-rw-r--r--arch/arm/boot/dts/am43x-epos-evm.dts5
-rw-r--r--arch/arm/boot/dts/armada-385-linksys.dtsi2
-rw-r--r--arch/arm/boot/dts/meson8.dtsi57
-rw-r--r--arch/arm/boot/dts/meson8b.dtsi12
-rw-r--r--arch/arm/boot/dts/omap4.dtsi2
-rw-r--r--arch/arm/configs/u8500_defconfig3
-rw-r--r--arch/arm/kvm/arm.c13
-rw-r--r--arch/arm/mach-omap2/id.c4
-rw-r--r--arch/arm/mach-omap2/io.c1
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c8
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_81xx_data.c2
-rw-r--r--arch/arm/mach-omap2/soc.h1
-rw-r--r--arch/arm/mach-pxa/devices.c1
-rw-r--r--arch/arm/mach-sa1100/Kconfig10
-rw-r--r--arch/arm/mach-uniphier/platsmp.c2
17 files changed, 81 insertions, 49 deletions
diff --git a/arch/arm/boot/dts/am335x-baltos-ir5221.dts b/arch/arm/boot/dts/am335x-baltos-ir5221.dts
index 6c667fb35449..4e28d87e9356 100644
--- a/arch/arm/boot/dts/am335x-baltos-ir5221.dts
+++ b/arch/arm/boot/dts/am335x-baltos-ir5221.dts
@@ -470,9 +470,12 @@
470}; 470};
471 471
472&cpsw_emac0 { 472&cpsw_emac0 {
473 phy_id = <&davinci_mdio>, <0>;
474 phy-mode = "rmii"; 473 phy-mode = "rmii";
475 dual_emac_res_vlan = <1>; 474 dual_emac_res_vlan = <1>;
475 fixed-link {
476 speed = <100>;
477 full-duplex;
478 };
476}; 479};
477 480
478&cpsw_emac1 { 481&cpsw_emac1 {
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 6e4f5af3d8f8..344b861a55a5 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -207,7 +207,7 @@
207 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 207 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
208 <&edma_tptc2 0>; 208 <&edma_tptc2 0>;
209 209
210 ti,edma-memcpy-channels = <32 33>; 210 ti,edma-memcpy-channels = <58 59>;
211 }; 211 };
212 212
213 edma_tptc0: tptc@49800000 { 213 edma_tptc0: tptc@49800000 {
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 83dfafaaba1b..d5dd72047a7e 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -794,3 +794,8 @@
794 tx-num-evt = <32>; 794 tx-num-evt = <32>;
795 rx-num-evt = <32>; 795 rx-num-evt = <32>;
796}; 796};
797
798&synctimer_32kclk {
799 assigned-clocks = <&mux_synctimer32k_ck>;
800 assigned-clock-parents = <&clkdiv32k_ick>;
801};
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/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 2bd9c83300b2..421fe9f8a9eb 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -70,7 +70,7 @@
70 compatible = "arm,cortex-a9-twd-timer"; 70 compatible = "arm,cortex-a9-twd-timer";
71 clocks = <&mpu_periphclk>; 71 clocks = <&mpu_periphclk>;
72 reg = <0x48240600 0x20>; 72 reg = <0x48240600 0x20>;
73 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>; 73 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>;
74 interrupt-parent = <&gic>; 74 interrupt-parent = <&gic>;
75 }; 75 };
76 76
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
63CONFIG_TOUCHSCREEN_BU21013=y 63CONFIG_TOUCHSCREEN_BU21013=y
64CONFIG_INPUT_MISC=y 64CONFIG_INPUT_MISC=y
65CONFIG_INPUT_AB8500_PONKEY=y 65CONFIG_INPUT_AB8500_PONKEY=y
66CONFIG_RMI4_CORE=y
67CONFIG_RMI4_I2C=y
68CONFIG_RMI4_F11=y
66# CONFIG_SERIO is not set 69# CONFIG_SERIO is not set
67CONFIG_VT_HW_CONSOLE_BINDING=y 70CONFIG_VT_HW_CONSOLE_BINDING=y
68# CONFIG_LEGACY_PTYS is not set 71# CONFIG_LEGACY_PTYS is not set
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
index b5384311dec4..dded1b763c16 100644
--- a/arch/arm/kvm/arm.c
+++ b/arch/arm/kvm/arm.c
@@ -1112,10 +1112,17 @@ static void __init hyp_cpu_pm_init(void)
1112{ 1112{
1113 cpu_pm_register_notifier(&hyp_init_cpu_pm_nb); 1113 cpu_pm_register_notifier(&hyp_init_cpu_pm_nb);
1114} 1114}
1115static void __init hyp_cpu_pm_exit(void)
1116{
1117 cpu_pm_unregister_notifier(&hyp_init_cpu_pm_nb);
1118}
1115#else 1119#else
1116static inline void hyp_cpu_pm_init(void) 1120static inline void hyp_cpu_pm_init(void)
1117{ 1121{
1118} 1122}
1123static inline void hyp_cpu_pm_exit(void)
1124{
1125}
1119#endif 1126#endif
1120 1127
1121static void teardown_common_resources(void) 1128static void teardown_common_resources(void)
@@ -1141,9 +1148,7 @@ static int init_subsystems(void)
1141 /* 1148 /*
1142 * Register CPU Hotplug notifier 1149 * Register CPU Hotplug notifier
1143 */ 1150 */
1144 cpu_notifier_register_begin(); 1151 err = register_cpu_notifier(&hyp_init_cpu_nb);
1145 err = __register_cpu_notifier(&hyp_init_cpu_nb);
1146 cpu_notifier_register_done();
1147 if (err) { 1152 if (err) {
1148 kvm_err("Cannot register KVM init CPU notifier (%d)\n", err); 1153 kvm_err("Cannot register KVM init CPU notifier (%d)\n", err);
1149 return err; 1154 return err;
@@ -1193,6 +1198,8 @@ static void teardown_hyp_mode(void)
1193 free_hyp_pgds(); 1198 free_hyp_pgds();
1194 for_each_possible_cpu(cpu) 1199 for_each_possible_cpu(cpu)
1195 free_page(per_cpu(kvm_arm_hyp_stack_page, cpu)); 1200 free_page(per_cpu(kvm_arm_hyp_stack_page, cpu));
1201 unregister_cpu_notifier(&hyp_init_cpu_nb);
1202 hyp_cpu_pm_exit();
1196} 1203}
1197 1204
1198static int init_vhe_mode(void) 1205static int init_vhe_mode(void)
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index d85c24918c17..2abd53ae3e7a 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -669,9 +669,9 @@ void __init dra7xxx_check_revision(void)
669 case 0: 669 case 0:
670 omap_revision = DRA722_REV_ES1_0; 670 omap_revision = DRA722_REV_ES1_0;
671 break; 671 break;
672 case 1:
672 default: 673 default:
673 /* If we have no new revisions */ 674 omap_revision = DRA722_REV_ES2_0;
674 omap_revision = DRA722_REV_ES1_0;
675 break; 675 break;
676 } 676 }
677 break; 677 break;
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 3c87e40650cf..9821be6dfd5e 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -368,6 +368,7 @@ void __init omap5_map_io(void)
368void __init dra7xx_map_io(void) 368void __init dra7xx_map_io(void)
369{ 369{
370 iotable_init(dra7xx_io_desc, ARRAY_SIZE(dra7xx_io_desc)); 370 iotable_init(dra7xx_io_desc, ARRAY_SIZE(dra7xx_io_desc));
371 omap_barriers_init();
371} 372}
372#endif 373#endif
373/* 374/*
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index b6d62e4cdfdd..2af6ff63e3b4 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -1416,9 +1416,7 @@ static void _enable_sysc(struct omap_hwmod *oh)
1416 (sf & SYSC_HAS_CLOCKACTIVITY)) 1416 (sf & SYSC_HAS_CLOCKACTIVITY))
1417 _set_clockactivity(oh, oh->class->sysc->clockact, &v); 1417 _set_clockactivity(oh, oh->class->sysc->clockact, &v);
1418 1418
1419 /* If the cached value is the same as the new value, skip the write */ 1419 _write_sysconfig(v, oh);
1420 if (oh->_sysc_cache != v)
1421 _write_sysconfig(v, oh);
1422 1420
1423 /* 1421 /*
1424 * Set the autoidle bit only after setting the smartidle bit 1422 * Set the autoidle bit only after setting the smartidle bit
@@ -1481,7 +1479,9 @@ static void _idle_sysc(struct omap_hwmod *oh)
1481 _set_master_standbymode(oh, idlemode, &v); 1479 _set_master_standbymode(oh, idlemode, &v);
1482 } 1480 }
1483 1481
1484 _write_sysconfig(v, oh); 1482 /* If the cached value is the same as the new value, skip the write */
1483 if (oh->_sysc_cache != v)
1484 _write_sysconfig(v, oh);
1485} 1485}
1486 1486
1487/** 1487/**
diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index 39736ad2a754..df8327713d06 100644
--- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
@@ -582,9 +582,11 @@ static struct omap_hwmod_ocp_if dm81xx_alwon_l3_slow__gpmc = {
582 .user = OCP_USER_MPU, 582 .user = OCP_USER_MPU,
583}; 583};
584 584
585/* USB needs udelay 1 after reset at least on hp t410, use 2 for margin */
585static struct omap_hwmod_class_sysconfig dm81xx_usbhsotg_sysc = { 586static struct omap_hwmod_class_sysconfig dm81xx_usbhsotg_sysc = {
586 .rev_offs = 0x0, 587 .rev_offs = 0x0,
587 .sysc_offs = 0x10, 588 .sysc_offs = 0x10,
589 .srst_udelay = 2,
588 .sysc_flags = SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE | 590 .sysc_flags = SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
589 SYSC_HAS_SOFTRESET, 591 SYSC_HAS_SOFTRESET,
590 .idlemodes = SIDLE_SMART | MSTANDBY_FORCE | MSTANDBY_SMART, 592 .idlemodes = SIDLE_SMART | MSTANDBY_FORCE | MSTANDBY_SMART,
diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h
index 70df8f6cddcc..364418c78bf3 100644
--- a/arch/arm/mach-omap2/soc.h
+++ b/arch/arm/mach-omap2/soc.h
@@ -489,6 +489,7 @@ IS_OMAP_TYPE(3430, 0x3430)
489#define DRA752_REV_ES2_0 (DRA7XX_CLASS | (0x52 << 16) | (0x20 << 8)) 489#define DRA752_REV_ES2_0 (DRA7XX_CLASS | (0x52 << 16) | (0x20 << 8))
490#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8)) 490#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
491#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8)) 491#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
492#define DRA722_REV_ES2_0 (DRA7XX_CLASS | (0x22 << 16) | (0x20 << 8))
492 493
493void omap2xxx_check_revision(void); 494void omap2xxx_check_revision(void);
494void omap3xxx_check_revision(void); 495void omap3xxx_check_revision(void);
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 = {
1235void __init pxa2xx_set_dmac_info(int nb_channels, int nb_requestors) 1235void __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
69config SA1100_H3600 66config 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
81config SA1100_BADGE4 75config SA1100_BADGE4
82 bool "HP Labs BadgePAD 4" 76 bool "HP Labs BadgePAD 4"
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;