mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
ARM: soc: general cleanups
This is a large branch that contains a handful of different cleanups:
- Fixing up the I/O space remapping on PCI on ARM. This is a series
from Rob Herring that restructures how all pci devices allocate I/O
space, and it's part of the work to allow multiplatform kernels.
- A number of cleanup series for OMAP, moving and removing some
headers, sparse irq rework and in general preparation for
multiplatform.
- Final removal of all non-DT boards for Tegra, it is now
device-tree-only!
- Removal of a stale platform, nxp4008. It's an old mobile chipset
that is no longer in use, and was very likely never really used with
a mainline kernel. We have not been able to find anyone interested
in keeping it around in the kernel.
- Removal of the legacy dmaengine driver on tegra
+ A handful of other things that I haven't described above.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJQaO1fAAoJEIwa5zzehBx3IPgP/jxoO1flVGNVf0reqqyDro/w
prZmp8cNVH9uv8xG9n9vawObrMQ8M6jCJ449fEWuAZ58EXrpIPd0kkm/MOmxp8K1
LNs+q2aXxWpD488+b3RK55g3fksqZutTbn3y6HNuCoLG9l8yT/95KX4IIzfEP2Ch
1TCNHdkTbf37nTBOmKN0x1kahGpWDrOkf9ysHQq+DXAGF4uwNwtR194dqz3HbDND
hZqRq7qCLn9OwGRGNicPFoB6UcxwZ/+/+u5sX7nqPGoiPofg977mhWk1DFO15EM3
S+A6g0dZ+XLsL+fFtOl4snSmrG5Et6qTOP0/ItQJgTG+5YdCS09ohCWJwRCBHbgj
M5arOkyGFdVAlvX7cUux374sMe0AcqUsEmt79mYuBpIE+pBJaRUoCgDcs9FDZeUB
U6WcE4AkxMtW7DtmVW+mF4ls9/K6cRXgWMuHCUmt1o3m3Ly9ITT7j+ntXnD9nuYk
ndoVLR6Vxk2BzlkD0JEtg7FRAS9Wgo2DBix05qM1Qkut2iIZRhFQlqJQpNbeNdii
/3Lg/hqpAVTZKGCd+paegHez61meyFz2PB2IiE0JKANhKHRCWTWRGgKIXkGyCiXk
wJ2iRCOlMEpmpJgCBzfI32ER/hnW4s64iDjgksEwz6pEt7xCbhwgmwrpf0H0KsSF
rLroHOMqyISd/Ha52Vin
=ck1u
-----END PGP SIGNATURE-----
Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM soc general cleanups from Olof Johansson:
"This is a large branch that contains a handful of different cleanups:
- Fixing up the I/O space remapping on PCI on ARM. This is a series
from Rob Herring that restructures how all pci devices allocate I/O
space, and it's part of the work to allow multiplatform kernels.
- A number of cleanup series for OMAP, moving and removing some
headers, sparse irq rework and in general preparation for
multiplatform.
- Final removal of all non-DT boards for Tegra, it is now
device-tree-only!
- Removal of a stale platform, nxp4008. It's an old mobile chipset
that is no longer in use, and was very likely never really used
with a mainline kernel. We have not been able to find anyone
interested in keeping it around in the kernel.
- Removal of the legacy dmaengine driver on tegra
+ A handful of other things that I haven't described above."
Fix up some conflicts with the staging tree (and because nxp4008 was
removed)
* tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (184 commits)
ARM: OMAP2+: serial: Change MAX_HSUART_PORTS to 6
ARM: OMAP4: twl-common: Support for additional devices on i2c1 bus
ARM: mmp: using for_each_set_bit to simplify the code
ARM: tegra: harmony: fix ldo7 regulator-name
ARM: OMAP2+: Make omap4-keypad.h local
ARM: OMAP2+: Make l4_3xxx.h local
ARM: OMAP2+: Make l4_2xxx.h local
ARM: OMAP2+: Make l3_3xxx.h local
ARM: OMAP2+: Make l3_2xxx.h local
ARM: OMAP1: Move irda.h from plat to mach
ARM: OMAP2+: Make hdq1w.h local
ARM: OMAP2+: Make gpmc-smsc911x.h local
ARM: OMAP2+: Make gpmc-smc91x.h local
ARM: OMAP1: Move flash.h from plat to mach
ARM: OMAP2+: Make debug-devices.h local
ARM: OMAP1: Move board-voiceblue.h from plat to mach
ARM: OMAP1: Move board-sx1.h from plat to mach
ARM: OMAP2+: Make omap-wakeupgen.h local
ARM: OMAP2+: Make omap-secure.h local
ARM: OMAP2+: Make ctrl_module_wkup_44xx.h local
...
This commit is contained in:
commit
61464c8357
623 changed files with 4618 additions and 15490 deletions
|
|
@ -13,7 +13,6 @@ config USB_ARCH_HAS_OHCI
|
|||
default y if PXA3xx
|
||||
default y if ARCH_EP93XX
|
||||
default y if ARCH_AT91
|
||||
default y if ARCH_PNX4008
|
||||
default y if MFD_TC6393XB
|
||||
default y if ARCH_W90X900
|
||||
default y if ARCH_DAVINCI_DA8XX
|
||||
|
|
|
|||
|
|
@ -292,7 +292,7 @@ config USB_OHCI_HCD
|
|||
depends on USB && USB_ARCH_HAS_OHCI
|
||||
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
|
||||
select USB_OTG_UTILS if ARCH_OMAP
|
||||
depends on USB_ISP1301 || !(ARCH_LPC32XX || ARCH_PNX4008)
|
||||
depends on USB_ISP1301 || !ARCH_LPC32XX
|
||||
---help---
|
||||
The Open Host Controller Interface (OHCI) is a standard for accessing
|
||||
USB 1.1 host controller hardware. It does more in hardware than Intel's
|
||||
|
|
|
|||
|
|
@ -1049,7 +1049,7 @@ MODULE_LICENSE ("GPL");
|
|||
#define PLATFORM_DRIVER ohci_hcd_at91_driver
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARCH_PNX4008) || defined(CONFIG_ARCH_LPC32XX)
|
||||
#ifdef CONFIG_ARCH_LPC32XX
|
||||
#include "ohci-nxp.c"
|
||||
#define PLATFORM_DRIVER usb_hcd_nxp_driver
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
* driver for NXP USB Host devices
|
||||
*
|
||||
* Currently supported OHCI host devices:
|
||||
* - Philips PNX4008
|
||||
* - NXP LPC32xx
|
||||
*
|
||||
* Authors: Dmitry Chigirev <source@mvista.com>
|
||||
|
|
@ -66,38 +65,6 @@ static struct clk *usb_pll_clk;
|
|||
static struct clk *usb_dev_clk;
|
||||
static struct clk *usb_otg_clk;
|
||||
|
||||
static void isp1301_configure_pnx4008(void)
|
||||
{
|
||||
/* PNX4008 only supports DAT_SE0 USB mode */
|
||||
/* PNX4008 R2A requires setting the MAX603 to output 3.6V */
|
||||
/* Power up externel charge-pump */
|
||||
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_MODE_CONTROL_1, MC1_DAT_SE0 | MC1_SPEED_REG);
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_MODE_CONTROL_1 | ISP1301_I2C_REG_CLEAR_ADDR,
|
||||
~(MC1_DAT_SE0 | MC1_SPEED_REG));
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_MODE_CONTROL_2,
|
||||
MC2_BI_DI | MC2_PSW_EN | MC2_SPD_SUSP_CTRL);
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_MODE_CONTROL_2 | ISP1301_I2C_REG_CLEAR_ADDR,
|
||||
~(MC2_BI_DI | MC2_PSW_EN | MC2_SPD_SUSP_CTRL));
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_OTG_CONTROL_1, OTG1_DM_PULLDOWN | OTG1_DP_PULLDOWN);
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_OTG_CONTROL_1 | ISP1301_I2C_REG_CLEAR_ADDR,
|
||||
~(OTG1_DM_PULLDOWN | OTG1_DP_PULLDOWN));
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_INTERRUPT_LATCH | ISP1301_I2C_REG_CLEAR_ADDR, 0xFF);
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_INTERRUPT_FALLING | ISP1301_I2C_REG_CLEAR_ADDR,
|
||||
0xFF);
|
||||
i2c_smbus_write_byte_data(isp1301_i2c_client,
|
||||
ISP1301_I2C_INTERRUPT_RISING | ISP1301_I2C_REG_CLEAR_ADDR,
|
||||
0xFF);
|
||||
}
|
||||
|
||||
static void isp1301_configure_lpc32xx(void)
|
||||
{
|
||||
/* LPC32XX only supports DAT_SE0 USB mode */
|
||||
|
|
@ -149,10 +116,7 @@ static void isp1301_configure_lpc32xx(void)
|
|||
|
||||
static void isp1301_configure(void)
|
||||
{
|
||||
if (machine_is_pnx4008())
|
||||
isp1301_configure_pnx4008();
|
||||
else
|
||||
isp1301_configure_lpc32xx();
|
||||
isp1301_configure_lpc32xx();
|
||||
}
|
||||
|
||||
static inline void isp1301_vbus_on(void)
|
||||
|
|
@ -241,47 +205,6 @@ static const struct hc_driver ohci_nxp_hc_driver = {
|
|||
.start_port_reset = ohci_start_port_reset,
|
||||
};
|
||||
|
||||
static void nxp_set_usb_bits(void)
|
||||
{
|
||||
if (machine_is_pnx4008()) {
|
||||
start_int_set_falling_edge(SE_USB_OTG_ATX_INT_N);
|
||||
start_int_ack(SE_USB_OTG_ATX_INT_N);
|
||||
start_int_umask(SE_USB_OTG_ATX_INT_N);
|
||||
|
||||
start_int_set_rising_edge(SE_USB_OTG_TIMER_INT);
|
||||
start_int_ack(SE_USB_OTG_TIMER_INT);
|
||||
start_int_umask(SE_USB_OTG_TIMER_INT);
|
||||
|
||||
start_int_set_rising_edge(SE_USB_I2C_INT);
|
||||
start_int_ack(SE_USB_I2C_INT);
|
||||
start_int_umask(SE_USB_I2C_INT);
|
||||
|
||||
start_int_set_rising_edge(SE_USB_INT);
|
||||
start_int_ack(SE_USB_INT);
|
||||
start_int_umask(SE_USB_INT);
|
||||
|
||||
start_int_set_rising_edge(SE_USB_NEED_CLK_INT);
|
||||
start_int_ack(SE_USB_NEED_CLK_INT);
|
||||
start_int_umask(SE_USB_NEED_CLK_INT);
|
||||
|
||||
start_int_set_rising_edge(SE_USB_AHB_NEED_CLK_INT);
|
||||
start_int_ack(SE_USB_AHB_NEED_CLK_INT);
|
||||
start_int_umask(SE_USB_AHB_NEED_CLK_INT);
|
||||
}
|
||||
}
|
||||
|
||||
static void nxp_unset_usb_bits(void)
|
||||
{
|
||||
if (machine_is_pnx4008()) {
|
||||
start_int_mask(SE_USB_OTG_ATX_INT_N);
|
||||
start_int_mask(SE_USB_OTG_TIMER_INT);
|
||||
start_int_mask(SE_USB_I2C_INT);
|
||||
start_int_mask(SE_USB_INT);
|
||||
start_int_mask(SE_USB_NEED_CLK_INT);
|
||||
start_int_mask(SE_USB_AHB_NEED_CLK_INT);
|
||||
}
|
||||
}
|
||||
|
||||
static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct usb_hcd *hcd = 0;
|
||||
|
|
@ -376,9 +299,6 @@ static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev)
|
|||
goto out8;
|
||||
}
|
||||
|
||||
/* Set all USB bits in the Start Enable register */
|
||||
nxp_set_usb_bits();
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
dev_err(&pdev->dev, "Failed to get MEM resource\n");
|
||||
|
|
@ -413,7 +333,6 @@ static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev)
|
|||
|
||||
nxp_stop_hc();
|
||||
out8:
|
||||
nxp_unset_usb_bits();
|
||||
usb_put_hcd(hcd);
|
||||
out7:
|
||||
clk_disable(usb_otg_clk);
|
||||
|
|
@ -441,7 +360,6 @@ static int usb_hcd_nxp_remove(struct platform_device *pdev)
|
|||
nxp_stop_hc();
|
||||
release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
|
||||
usb_put_hcd(hcd);
|
||||
nxp_unset_usb_bits();
|
||||
clk_disable(usb_pll_clk);
|
||||
clk_put(usb_pll_clk);
|
||||
clk_disable(usb_dev_clk);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <plat/mux.h>
|
||||
#include <mach/mux.h>
|
||||
#include <plat/fpga.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
#include <linux/dma-mapping.h>
|
||||
#include <linux/slab.h>
|
||||
#include <plat/dma.h>
|
||||
#include <plat/mux.h>
|
||||
|
||||
#include "musb_core.h"
|
||||
#include "tusb6010.h"
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <plat/mux.h>
|
||||
#include <mach/mux.h>
|
||||
|
||||
#include <mach/usb.h>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue