forked from Minki/linux
Fixes for omaps for v4.6-rc cycle:
- Clockdomain fix for dra7 timer interrupts - Two fixes for GPMC EDMA binding, I missed the need for a merge with GPMC changes and EDMA changes - Fix beagle-x15 eSATA by dropping misconfigured extcon_usb1 - Fix occasional external aborts on 36xx with PM that we've been chasing for past few months. It turned out to be duplicate restore of INTC registers that can in some cases cause us to hit erratum 1.106. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJXD8cCAAoJEBvUPslcq6VzKlEQAJsIi+p0Bk8ior9eqEphnWI5 NdMcu0POJb/SVLPfLzH5WxM/8Rd81Se56uiy1Hpa9cqxFxfStQm9/ltU/8EJEvAC XnxwX78jfB7I6BcynKia+M/Sc4CgVxi41iq3lc1AUY5srN7kYyxFTljlMQMKwgTg QFM4sFFCARUifO+z3SejgaO3vde0cMlZPh4gGYEx01xxYoqYk5kdWxHN1nRBH9T2 a/F7GrnMgTgALITP6oij9cb/uLyog7YraDc1fWQzAhm9JdneAbI21MHwkLsEB+Il EDGcyq9VKMO8nXD2sGlt1EIjnaPZAd45To/OECGd11N7qog79/LEo5gMN/Is76kO cx6nrvqGrOfynt2q3GyfMWiMRn36mk1gZ+FtOGCxRc0ROyqXfLyhKWKZkEK7aotf R6Ga/ufNRiw0Ded0XABlt2PD6PPWD+Ly5wiU8AwOraM7XW6415FK07fD+hhZczOG 66wFC+J8nQGO7VecBrJOnqms2YnPlc4dgfVCo8jnAjRFtfPG9UjnPZBloxlDKMJB OSkVPtRLCHiVk1xG51TCKgIgwJ5s957ohb9ImTIikXHsdLu39F3P7Tx4LQfYS8pd B2AbktI0VYkJqiuaLjHdbxWBY8AL5UrZynn+pxjbVQcmuqgHGrDD7DWB8nmspvu0 4HvovFXCm8NvRZBMJhh9 =6rQp -----END PGP SIGNATURE----- Merge tag 'omap-for-v4.6/fixes-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "omap fixes for v4.6-rc cycle" from Tony Lindgren: Fixes for omaps for v4.6-rc cycle: - Clockdomain fix for dra7 timer interrupts - Two fixes for GPMC EDMA binding, I missed the need for a merge with GPMC changes and EDMA changes - Fix beagle-x15 eSATA by dropping misconfigured extcon_usb1 - Fix occasional external aborts on 36xx with PM that we've been chasing for past few months. It turned out to be duplicate restore of INTC registers that can in some cases cause us to hit erratum 1.106. * tag 'omap-for-v4.6/fixes-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP3: Fix external abort on 36xx waking from off mode idle ARM: dts: am57xx-beagle-x15: remove extcon_usb1 ARM: dts: am437x: Fix GPMC dma properties ARM: dts: am33xx: Fix GPMC dma properties ARM: DRA7: clockdomain: Implement timer workaround for errata i874
This commit is contained in:
commit
22c49e5a09
@ -860,7 +860,7 @@
|
||||
ti,no-idle-on-init;
|
||||
reg = <0x50000000 0x2000>;
|
||||
interrupts = <100>;
|
||||
dmas = <&edma 52>;
|
||||
dmas = <&edma 52 0>;
|
||||
dma-names = "rxtx";
|
||||
gpmc,num-cs = <7>;
|
||||
gpmc,num-waitpins = <2>;
|
||||
|
@ -884,7 +884,7 @@
|
||||
gpmc: gpmc@50000000 {
|
||||
compatible = "ti,am3352-gpmc";
|
||||
ti,hwmods = "gpmc";
|
||||
dmas = <&edma 52>;
|
||||
dmas = <&edma 52 0>;
|
||||
dma-names = "rxtx";
|
||||
clocks = <&l3s_gclk>;
|
||||
clock-names = "fck";
|
||||
|
@ -99,13 +99,6 @@
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
extcon_usb1: extcon_usb1 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&extcon_usb1_pins>;
|
||||
};
|
||||
|
||||
hdmi0: connector {
|
||||
compatible = "hdmi-connector";
|
||||
label = "hdmi";
|
||||
@ -349,12 +342,6 @@
|
||||
>;
|
||||
};
|
||||
|
||||
extcon_usb1_pins: extcon_usb1_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
|
||||
>;
|
||||
};
|
||||
|
||||
tpd12s015_pins: pinmux_tpd12s015_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37b0, PIN_OUTPUT | MUX_MODE14) /* gpio7_10 CT_CP_HPD */
|
||||
@ -706,10 +693,6 @@
|
||||
pinctrl-0 = <&usb1_pins>;
|
||||
};
|
||||
|
||||
&omap_dwc3_1 {
|
||||
extcon = <&extcon_usb1>;
|
||||
};
|
||||
|
||||
&omap_dwc3_2 {
|
||||
extcon = <&extcon_usb2>;
|
||||
};
|
||||
|
@ -461,7 +461,7 @@ static struct clockdomain ipu_7xx_clkdm = {
|
||||
.cm_inst = DRA7XX_CM_CORE_AON_IPU_INST,
|
||||
.clkdm_offs = DRA7XX_CM_CORE_AON_IPU_IPU_CDOFFS,
|
||||
.dep_bit = DRA7XX_IPU_STATDEP_SHIFT,
|
||||
.flags = CLKDM_CAN_HWSUP_SWSUP,
|
||||
.flags = CLKDM_CAN_SWSUP,
|
||||
};
|
||||
|
||||
static struct clockdomain mpu1_7xx_clkdm = {
|
||||
|
@ -198,7 +198,6 @@ void omap_sram_idle(void)
|
||||
int per_next_state = PWRDM_POWER_ON;
|
||||
int core_next_state = PWRDM_POWER_ON;
|
||||
int per_going_off;
|
||||
int core_prev_state;
|
||||
u32 sdrc_pwr = 0;
|
||||
|
||||
mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm);
|
||||
@ -278,16 +277,20 @@ void omap_sram_idle(void)
|
||||
sdrc_write_reg(sdrc_pwr, SDRC_POWER);
|
||||
|
||||
/* CORE */
|
||||
if (core_next_state < PWRDM_POWER_ON) {
|
||||
core_prev_state = pwrdm_read_prev_pwrst(core_pwrdm);
|
||||
if (core_prev_state == PWRDM_POWER_OFF) {
|
||||
omap3_core_restore_context();
|
||||
omap3_cm_restore_context();
|
||||
omap3_sram_restore_context();
|
||||
omap2_sms_restore_context();
|
||||
}
|
||||
if (core_next_state < PWRDM_POWER_ON &&
|
||||
pwrdm_read_prev_pwrst(core_pwrdm) == PWRDM_POWER_OFF) {
|
||||
omap3_core_restore_context();
|
||||
omap3_cm_restore_context();
|
||||
omap3_sram_restore_context();
|
||||
omap2_sms_restore_context();
|
||||
} else {
|
||||
/*
|
||||
* In off-mode resume path above, omap3_core_restore_context
|
||||
* also handles the INTC autoidle restore done here so limit
|
||||
* this to non-off mode resume paths so we don't do it twice.
|
||||
*/
|
||||
omap3_intc_resume_idle();
|
||||
}
|
||||
omap3_intc_resume_idle();
|
||||
|
||||
pwrdm_post_transition(NULL);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user