mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
ARM: multiplatform changes, part 2
The second part of the multiplatform changes now converts the Intel/Marvell PXA platform along with the rest. The patches went through several rebases before the merge window as bugs were found, so they remained separate. This has to touch a lot of drivers, in particular the touchscreen, pcmcia, sound and clk bits, to detach the driver files from the platform and board specific header files. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmKZKqsACgkQmmx57+YA GNnO/w//dgJBlkmoIIKlG2eJsvoUKwDt7MuLEMCqSqYYUSvMENFwKK66INMDIJ3l PmKf94JadlpBm2OB2vzW+D1EtaLGX9eXZkKD+vyB1I1yFkKdzEPcAfitfrRwe58E pR4nQd/jVL4UCY+pp442O1q9VvMpMV9P4ILJGPS/PpsD5CT9Gn8m9svIIuNuDRFd nwpyZC3l32jVLo9iuLmwZUvxtOWI3hTqZrnxhByBhlvtnGexRsq/VhfubK2uzBi1 CyWHjqzOSmseGmsUDwv9LFqVV9YRCeisS3IElA5L0VgM0XvHKA+f9qyF7V6zI20g y9LtqhdAtiTpE/aUrOW2LDYaM/bc7RilYZrWchoZbCEsHhV4C+ld3QoTyxvGscvG tbznhvZKdUNX8LHS0J9NqIj1q1YGN5ei5r/C5R8DBj1q8VcTVnq3dms8xzVTd35o xS5BbLFliiI96jc7S6LaQizXheYjAfdPhmXUAxNXvWIVQ6SXnf8/U/RB9Zzjb8hm FH2Gu8m/Dh2MHKBBRWSVw8VahV0V7WiEaWeYuwwTbW1wUrsWiizVaPnqrt6Cq9DW oJZgBvktWEXUQz73qrnvwo9GjcKqAxaWKWq05hHKHKuLGezsPAyIhIKr51V2xqqw cp2OIMCsN5GYENOhHvt6BMRAI5iA4VyFDtWAqw9B6EIwno6N7Z4= =cnSb -----END PGP SIGNATURE----- Merge tag 'arm-multiplatform-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull more ARM multiplatform updates from Arnd Bergmann: "The second part of the multiplatform changes now converts the Intel/Marvell PXA platform along with the rest. The patches went through several rebases before the merge window as bugs were found, so they remained separate. This has to touch a lot of drivers, in particular the touchscreen, pcmcia, sound and clk bits, to detach the driver files from the platform and board specific header files" * tag 'arm-multiplatform-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (48 commits) ARM: pxa/mmp: remove traces of plat-pxa ARM: pxa: convert to multiplatform ARM: pxa/sa1100: move I/O space to PCI_IOBASE ARM: pxa: remove support for MTD_XIP ARM: pxa: move mach/*.h to mach-pxa/ ARM: PXA: fix multi-cpu build of xsc3 ARM: pxa: move plat-pxa to drivers/soc/ ARM: mmp: rename pxa_register_device ARM: mmp: remove tavorevb board support ARM: pxa: remove unused mach/bitfield.h ARM: pxa: move clk register definitions to driver ARM: pxa: move smemc register access from clk to platform cpufreq: pxa3: move clk register access to clk driver ARM: pxa: remove get_clk_frequency_khz() ARM: pxa: pcmcia: move smemc configuration back to arch ASoC: pxa: i2s: use normal MMIO accessors ASoC: pxa: ac97: use normal MMIO accessors ASoC: pxa: use pdev resource for FIFO regs Input: wm97xx - get rid of irq_enable method in wm97xx_mach_ops Input: wm97xx - switch to using threaded IRQ ...
This commit is contained in:
commit
96479c0980
@ -374,8 +374,6 @@ PXA 2xx/3xx/93x/95x family
|
||||
|
||||
Linux kernel mach directory:
|
||||
arch/arm/mach-pxa
|
||||
Linux kernel plat directory:
|
||||
arch/arm/plat-pxa
|
||||
|
||||
MMP/MMP2/MMP3 family (communication processor)
|
||||
----------------------------------------------
|
||||
@ -429,8 +427,6 @@ MMP/MMP2/MMP3 family (communication processor)
|
||||
|
||||
Linux kernel mach directory:
|
||||
arch/arm/mach-mmp
|
||||
Linux kernel plat directory:
|
||||
arch/arm/plat-pxa
|
||||
|
||||
Berlin family (Multimedia Solutions)
|
||||
-------------------------------------
|
||||
@ -518,9 +514,6 @@ Long-term plans
|
||||
Business Unit) in a single mach-<foo> directory. The plat-orion/
|
||||
would therefore disappear.
|
||||
|
||||
* Unify the mach-mmp/ and mach-pxa/ into the same mach-pxa
|
||||
directory. The plat-pxa/ would therefore disappear.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
|
@ -357,25 +357,6 @@ config ARCH_FOOTBRIDGE
|
||||
Support for systems based on the DC21285 companion chip
|
||||
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
|
||||
|
||||
config ARCH_PXA
|
||||
bool "PXA2xx/PXA3xx-based"
|
||||
depends on CPU_LITTLE_ENDIAN
|
||||
select ARCH_MTD_XIP
|
||||
select ARM_CPU_SUSPEND if PM
|
||||
select AUTO_ZRELADDR
|
||||
select COMMON_CLK
|
||||
select CLKSRC_PXA
|
||||
select CLKSRC_MMIO
|
||||
select TIMER_OF
|
||||
select CPU_XSCALE if !CPU_XSC3
|
||||
select GPIO_PXA
|
||||
select GPIOLIB
|
||||
select IRQ_DOMAIN
|
||||
select PLAT_PXA
|
||||
select SPARSE_IRQ
|
||||
help
|
||||
Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
|
||||
|
||||
config ARCH_RPC
|
||||
bool "RiscPC"
|
||||
depends on !CC_IS_CLANG && GCC_VERSION < 90100 && GCC_VERSION >= 60000
|
||||
@ -593,7 +574,6 @@ source "arch/arm/mach-orion5x/Kconfig"
|
||||
source "arch/arm/mach-oxnas/Kconfig"
|
||||
|
||||
source "arch/arm/mach-pxa/Kconfig"
|
||||
source "arch/arm/plat-pxa/Kconfig"
|
||||
|
||||
source "arch/arm/mach-qcom/Kconfig"
|
||||
|
||||
@ -672,9 +652,6 @@ config PLAT_ORION_LEGACY
|
||||
bool
|
||||
select PLAT_ORION
|
||||
|
||||
config PLAT_PXA
|
||||
bool
|
||||
|
||||
config PLAT_VERSATILE
|
||||
bool
|
||||
|
||||
|
@ -225,7 +225,6 @@ machine-$(CONFIG_PLAT_SPEAR) += spear
|
||||
# Platform directory name. This list is sorted alphanumerically
|
||||
# by CONFIG_* macro name.
|
||||
plat-$(CONFIG_PLAT_ORION) += orion
|
||||
plat-$(CONFIG_PLAT_PXA) += pxa
|
||||
|
||||
# The byte offset of the kernel image in RAM from the start of RAM.
|
||||
TEXT_OFFSET := $(textofs-y)
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach/irq.h>
|
||||
|
||||
|
@ -26,13 +26,16 @@
|
||||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
#include <asm/hardware/sa1111.h>
|
||||
|
||||
#ifdef CONFIG_ARCH_SA1100
|
||||
#include <mach/hardware.h>
|
||||
#endif
|
||||
|
||||
/* SA1111 IRQs */
|
||||
#define IRQ_GPAIN0 (0)
|
||||
#define IRQ_GPAIN1 (1)
|
||||
|
@ -10,6 +10,7 @@ CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_ARCH_GUMSTIX=y
|
||||
CONFIG_PCCARD=y
|
||||
|
@ -10,6 +10,7 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_GPIO_PCA953X=y
|
||||
CONFIG_MACH_CM_X300=y
|
||||
|
@ -16,6 +16,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_COLIBRI=y
|
||||
CONFIG_PREEMPT=y
|
||||
|
@ -1,6 +1,7 @@
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_COLIBRI300=y
|
||||
CONFIG_AEABI=y
|
||||
|
@ -9,6 +9,7 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_PXA_SHARPSL=y
|
||||
CONFIG_MACH_POODLE=y
|
||||
|
@ -9,6 +9,7 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_ARCH_PXA_ESERIES=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
|
@ -14,6 +14,7 @@ CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_PXA_EZX=y
|
||||
CONFIG_NO_HZ=y
|
||||
|
@ -10,6 +10,7 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_H5000=y
|
||||
CONFIG_AEABI=y
|
||||
|
@ -2,6 +2,7 @@ CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_LOGICPD_PXA270=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
|
@ -1,6 +1,7 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_ARCH_LUBBOCK=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
|
@ -9,6 +9,7 @@ CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_H4700=y
|
||||
CONFIG_MACH_MAGICIAN=y
|
||||
|
@ -1,6 +1,7 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_MAINSTONE=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
|
@ -7,6 +7,7 @@ CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_ARCH_PXA_PALM=y
|
||||
# CONFIG_MACH_PALMTX is not set
|
||||
|
@ -13,6 +13,7 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_PCM027=y
|
||||
CONFIG_MACH_PCM990_BASEBOARD=y
|
||||
|
@ -1,6 +1,7 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_ARCH_PXA_IDP=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
|
@ -6,6 +6,7 @@ CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_LITTLETON=y
|
||||
CONFIG_MACH_TAVOREVB=y
|
||||
|
@ -23,6 +23,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_LDM_PARTITION=y
|
||||
CONFIG_CMDLINE_PARTITION=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_ARCH_LUBBOCK=y
|
||||
CONFIG_MACH_MAINSTONE=y
|
||||
|
@ -9,6 +9,7 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_PXA_SHARPSL=y
|
||||
CONFIG_MACH_AKITA=y
|
||||
|
@ -14,6 +14,7 @@ CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_TRIZEPS_PXA=y
|
||||
CONFIG_MACH_TRIZEPS4=y
|
||||
|
@ -9,6 +9,7 @@ CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_ARCH_VIPER=y
|
||||
CONFIG_IWMMXT=y
|
||||
|
@ -19,6 +19,7 @@ CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_BLOCK is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_XCEP=y
|
||||
CONFIG_IWMMXT=y
|
||||
|
@ -4,6 +4,7 @@ CONFIG_LOG_BUF_SHIFT=13
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
CONFIG_MACH_ARCOM_ZEUS=y
|
||||
CONFIG_PCCARD=m
|
||||
|
@ -13,8 +13,6 @@
|
||||
#ifndef _ASM_ARCH_SA1111
|
||||
#define _ASM_ARCH_SA1111
|
||||
|
||||
#include <mach/bitfield.h>
|
||||
|
||||
/*
|
||||
* Don't ask the (SAC) DMA engines to move less than this amount.
|
||||
*/
|
||||
|
@ -174,7 +174,7 @@ static inline void __iomem *__typesafe_io(unsigned long addr)
|
||||
#define PCI_IO_VIRT_BASE 0xfee00000
|
||||
#define PCI_IOBASE ((void __iomem *)PCI_IO_VIRT_BASE)
|
||||
|
||||
#if defined(CONFIG_PCI)
|
||||
#if defined(CONFIG_PCI) || IS_ENABLED(CONFIG_PCMCIA)
|
||||
void pci_ioremap_set_mem_type(int mem_type);
|
||||
#else
|
||||
static inline void pci_ioremap_set_mem_type(int mem_type) {}
|
||||
@ -200,32 +200,13 @@ void __iomem *pci_remap_cfgspace(resource_size_t res_cookie, size_t size);
|
||||
*/
|
||||
#ifdef CONFIG_NEED_MACH_IO_H
|
||||
#include <mach/io.h>
|
||||
#elif defined(CONFIG_PCI)
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0xfffff)
|
||||
#define __io(a) __typesafe_io(PCI_IO_VIRT_BASE + ((a) & IO_SPACE_LIMIT))
|
||||
#else
|
||||
#define __io(a) __typesafe_io((a) & IO_SPACE_LIMIT)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is the limit of PC card/PCI/ISA IO space, which is by default
|
||||
* 64K if we have PC card, PCI or ISA support. Otherwise, default to
|
||||
* zero to prevent ISA/PCI drivers claiming IO space (and potentially
|
||||
* oopsing.)
|
||||
*
|
||||
* Only set this larger if you really need inb() et.al. to operate over
|
||||
* a larger address space. Note that SOC_COMMON ioremaps each sockets
|
||||
* IO space area, and so inb() et.al. must be defined to operate as per
|
||||
* readb() et.al. on such platforms.
|
||||
*/
|
||||
#ifndef IO_SPACE_LIMIT
|
||||
#if defined(CONFIG_PCMCIA_SOC_COMMON) || defined(CONFIG_PCMCIA_SOC_COMMON_MODULE)
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0xffffffff)
|
||||
#elif defined(CONFIG_PCI) || defined(CONFIG_ISA) || defined(CONFIG_PCCARD)
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0xffff)
|
||||
#if IS_ENABLED(CONFIG_PCMCIA) || defined(CONFIG_PCI)
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0xfffff)
|
||||
#else
|
||||
#define IO_SPACE_LIMIT ((resource_size_t)0)
|
||||
#endif
|
||||
#define __io(a) __typesafe_io(PCI_IO_VIRT_BASE + ((a) & IO_SPACE_LIMIT))
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -39,16 +39,8 @@ config MACH_AVENGERS_LITE
|
||||
Say 'Y' here if you want to support the Marvell PXA168-based
|
||||
Avengers Lite Development Board.
|
||||
|
||||
config MACH_TAVOREVB
|
||||
bool "Marvell's PXA910 TavorEVB Development Board"
|
||||
depends on ARCH_MULTI_V5
|
||||
select CPU_PXA910
|
||||
help
|
||||
Say 'Y' here if you want to support the Marvell PXA910-based
|
||||
TavorEVB Development Board.
|
||||
|
||||
config MACH_TTC_DKB
|
||||
bool "Marvell's PXA910 TavorEVB Development Board"
|
||||
bool "Marvell's PXA910 TavorEVB/TTC_DKB Development Board"
|
||||
depends on ARCH_MULTI_V5
|
||||
select CPU_PXA910
|
||||
help
|
||||
|
@ -2,8 +2,6 @@
|
||||
#
|
||||
# Makefile for Marvell's PXA168 processors line
|
||||
#
|
||||
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-pxa/include
|
||||
|
||||
obj-y += common.o devices.o time.o
|
||||
|
||||
# SoC support
|
||||
@ -24,7 +22,6 @@ endif
|
||||
obj-$(CONFIG_MACH_ASPENITE) += aspenite.o
|
||||
obj-$(CONFIG_MACH_ZYLONITE2) += aspenite.o
|
||||
obj-$(CONFIG_MACH_AVENGERS_LITE)+= avengers_lite.o
|
||||
obj-$(CONFIG_MACH_TAVOREVB) += tavorevb.o
|
||||
obj-$(CONFIG_MACH_TTC_DKB) += ttc_dkb.o
|
||||
obj-$(CONFIG_MACH_BROWNSTONE) += brownstone.o
|
||||
obj-$(CONFIG_MACH_FLINT) += flint.o
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <linux/soc/mmp/cputype.h>
|
||||
#include "regs-usb.h"
|
||||
|
||||
int __init pxa_register_device(struct pxa_device_desc *desc,
|
||||
int __init mmp_register_device(struct mmp_device_desc *desc,
|
||||
void *data, size_t size)
|
||||
{
|
||||
struct platform_device *pdev;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#define MAX_RESOURCE_DMA 2
|
||||
|
||||
/* structure for describing the on-chip devices */
|
||||
struct pxa_device_desc {
|
||||
struct mmp_device_desc {
|
||||
const char *dev_name;
|
||||
const char *drv_name;
|
||||
int id;
|
||||
@ -18,7 +18,7 @@ struct pxa_device_desc {
|
||||
};
|
||||
|
||||
#define PXA168_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
|
||||
struct pxa_device_desc pxa168_device_##_name __initdata = { \
|
||||
struct mmp_device_desc pxa168_device_##_name __initdata = { \
|
||||
.dev_name = "pxa168-" #_name, \
|
||||
.drv_name = _drv, \
|
||||
.id = _id, \
|
||||
@ -29,7 +29,7 @@ struct pxa_device_desc pxa168_device_##_name __initdata = { \
|
||||
};
|
||||
|
||||
#define PXA910_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
|
||||
struct pxa_device_desc pxa910_device_##_name __initdata = { \
|
||||
struct mmp_device_desc pxa910_device_##_name __initdata = { \
|
||||
.dev_name = "pxa910-" #_name, \
|
||||
.drv_name = _drv, \
|
||||
.id = _id, \
|
||||
@ -40,7 +40,7 @@ struct pxa_device_desc pxa910_device_##_name __initdata = { \
|
||||
};
|
||||
|
||||
#define MMP2_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
|
||||
struct pxa_device_desc mmp2_device_##_name __initdata = { \
|
||||
struct mmp_device_desc mmp2_device_##_name __initdata = { \
|
||||
.dev_name = "mmp2-" #_name, \
|
||||
.drv_name = _drv, \
|
||||
.id = _id, \
|
||||
@ -50,7 +50,7 @@ struct pxa_device_desc mmp2_device_##_name __initdata = { \
|
||||
.dma = { _dma }, \
|
||||
}
|
||||
|
||||
extern int pxa_register_device(struct pxa_device_desc *, void *, size_t);
|
||||
extern int mmp_register_device(struct mmp_device_desc *, void *, size_t);
|
||||
extern int pxa_usb_phy_init(void __iomem *phy_reg);
|
||||
extern void pxa_usb_phy_deinit(void __iomem *phy_reg);
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
#ifndef __ASM_MACH_MFP_H
|
||||
#define __ASM_MACH_MFP_H
|
||||
|
||||
#include <plat/mfp.h>
|
||||
#include <linux/soc/pxa/mfp.h>
|
||||
|
||||
/*
|
||||
* NOTE: the MFPR register bit definitions on PXA168 processor lines are a
|
||||
|
@ -15,28 +15,28 @@ extern void mmp2_clear_pmic_int(void);
|
||||
|
||||
#include "devices.h"
|
||||
|
||||
extern struct pxa_device_desc mmp2_device_uart1;
|
||||
extern struct pxa_device_desc mmp2_device_uart2;
|
||||
extern struct pxa_device_desc mmp2_device_uart3;
|
||||
extern struct pxa_device_desc mmp2_device_uart4;
|
||||
extern struct pxa_device_desc mmp2_device_twsi1;
|
||||
extern struct pxa_device_desc mmp2_device_twsi2;
|
||||
extern struct pxa_device_desc mmp2_device_twsi3;
|
||||
extern struct pxa_device_desc mmp2_device_twsi4;
|
||||
extern struct pxa_device_desc mmp2_device_twsi5;
|
||||
extern struct pxa_device_desc mmp2_device_twsi6;
|
||||
extern struct pxa_device_desc mmp2_device_sdh0;
|
||||
extern struct pxa_device_desc mmp2_device_sdh1;
|
||||
extern struct pxa_device_desc mmp2_device_sdh2;
|
||||
extern struct pxa_device_desc mmp2_device_sdh3;
|
||||
extern struct pxa_device_desc mmp2_device_asram;
|
||||
extern struct pxa_device_desc mmp2_device_isram;
|
||||
extern struct mmp_device_desc mmp2_device_uart1;
|
||||
extern struct mmp_device_desc mmp2_device_uart2;
|
||||
extern struct mmp_device_desc mmp2_device_uart3;
|
||||
extern struct mmp_device_desc mmp2_device_uart4;
|
||||
extern struct mmp_device_desc mmp2_device_twsi1;
|
||||
extern struct mmp_device_desc mmp2_device_twsi2;
|
||||
extern struct mmp_device_desc mmp2_device_twsi3;
|
||||
extern struct mmp_device_desc mmp2_device_twsi4;
|
||||
extern struct mmp_device_desc mmp2_device_twsi5;
|
||||
extern struct mmp_device_desc mmp2_device_twsi6;
|
||||
extern struct mmp_device_desc mmp2_device_sdh0;
|
||||
extern struct mmp_device_desc mmp2_device_sdh1;
|
||||
extern struct mmp_device_desc mmp2_device_sdh2;
|
||||
extern struct mmp_device_desc mmp2_device_sdh3;
|
||||
extern struct mmp_device_desc mmp2_device_asram;
|
||||
extern struct mmp_device_desc mmp2_device_isram;
|
||||
|
||||
extern struct platform_device mmp2_device_gpio;
|
||||
|
||||
static inline int mmp2_add_uart(int id)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
|
||||
switch (id) {
|
||||
case 1: d = &mmp2_device_uart1; break;
|
||||
@ -47,13 +47,13 @@ static inline int mmp2_add_uart(int id)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return pxa_register_device(d, NULL, 0);
|
||||
return mmp_register_device(d, NULL, 0);
|
||||
}
|
||||
|
||||
static inline int mmp2_add_twsi(int id, struct i2c_pxa_platform_data *data,
|
||||
struct i2c_board_info *info, unsigned size)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
int ret;
|
||||
|
||||
switch (id) {
|
||||
@ -71,12 +71,12 @@ static inline int mmp2_add_twsi(int id, struct i2c_pxa_platform_data *data,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return pxa_register_device(d, data, sizeof(*data));
|
||||
return mmp_register_device(d, data, sizeof(*data));
|
||||
}
|
||||
|
||||
static inline int mmp2_add_sdhost(int id, struct sdhci_pxa_platdata *data)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
|
||||
switch (id) {
|
||||
case 0: d = &mmp2_device_sdh0; break;
|
||||
@ -87,17 +87,17 @@ static inline int mmp2_add_sdhost(int id, struct sdhci_pxa_platdata *data)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return pxa_register_device(d, data, sizeof(*data));
|
||||
return mmp_register_device(d, data, sizeof(*data));
|
||||
}
|
||||
|
||||
static inline int mmp2_add_asram(struct sram_platdata *data)
|
||||
{
|
||||
return pxa_register_device(&mmp2_device_asram, data, sizeof(*data));
|
||||
return mmp_register_device(&mmp2_device_asram, data, sizeof(*data));
|
||||
}
|
||||
|
||||
static inline int mmp2_add_isram(struct sram_platdata *data)
|
||||
{
|
||||
return pxa_register_device(&mmp2_device_isram, data, sizeof(*data));
|
||||
return mmp_register_device(&mmp2_device_isram, data, sizeof(*data));
|
||||
}
|
||||
|
||||
#endif /* __ASM_MACH_MMP2_H */
|
||||
|
@ -21,24 +21,24 @@ extern void pxa168_clear_keypad_wakeup(void);
|
||||
|
||||
#include "devices.h"
|
||||
|
||||
extern struct pxa_device_desc pxa168_device_uart1;
|
||||
extern struct pxa_device_desc pxa168_device_uart2;
|
||||
extern struct pxa_device_desc pxa168_device_uart3;
|
||||
extern struct pxa_device_desc pxa168_device_twsi0;
|
||||
extern struct pxa_device_desc pxa168_device_twsi1;
|
||||
extern struct pxa_device_desc pxa168_device_pwm1;
|
||||
extern struct pxa_device_desc pxa168_device_pwm2;
|
||||
extern struct pxa_device_desc pxa168_device_pwm3;
|
||||
extern struct pxa_device_desc pxa168_device_pwm4;
|
||||
extern struct pxa_device_desc pxa168_device_ssp1;
|
||||
extern struct pxa_device_desc pxa168_device_ssp2;
|
||||
extern struct pxa_device_desc pxa168_device_ssp3;
|
||||
extern struct pxa_device_desc pxa168_device_ssp4;
|
||||
extern struct pxa_device_desc pxa168_device_ssp5;
|
||||
extern struct pxa_device_desc pxa168_device_nand;
|
||||
extern struct pxa_device_desc pxa168_device_fb;
|
||||
extern struct pxa_device_desc pxa168_device_keypad;
|
||||
extern struct pxa_device_desc pxa168_device_eth;
|
||||
extern struct mmp_device_desc pxa168_device_uart1;
|
||||
extern struct mmp_device_desc pxa168_device_uart2;
|
||||
extern struct mmp_device_desc pxa168_device_uart3;
|
||||
extern struct mmp_device_desc pxa168_device_twsi0;
|
||||
extern struct mmp_device_desc pxa168_device_twsi1;
|
||||
extern struct mmp_device_desc pxa168_device_pwm1;
|
||||
extern struct mmp_device_desc pxa168_device_pwm2;
|
||||
extern struct mmp_device_desc pxa168_device_pwm3;
|
||||
extern struct mmp_device_desc pxa168_device_pwm4;
|
||||
extern struct mmp_device_desc pxa168_device_ssp1;
|
||||
extern struct mmp_device_desc pxa168_device_ssp2;
|
||||
extern struct mmp_device_desc pxa168_device_ssp3;
|
||||
extern struct mmp_device_desc pxa168_device_ssp4;
|
||||
extern struct mmp_device_desc pxa168_device_ssp5;
|
||||
extern struct mmp_device_desc pxa168_device_nand;
|
||||
extern struct mmp_device_desc pxa168_device_fb;
|
||||
extern struct mmp_device_desc pxa168_device_keypad;
|
||||
extern struct mmp_device_desc pxa168_device_eth;
|
||||
|
||||
/* pdata can be NULL */
|
||||
extern int __init pxa168_add_usb_host(struct mv_usb_platform_data *pdata);
|
||||
@ -48,7 +48,7 @@ extern struct platform_device pxa168_device_gpio;
|
||||
|
||||
static inline int pxa168_add_uart(int id)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
|
||||
switch (id) {
|
||||
case 1: d = &pxa168_device_uart1; break;
|
||||
@ -59,13 +59,13 @@ static inline int pxa168_add_uart(int id)
|
||||
if (d == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
return pxa_register_device(d, NULL, 0);
|
||||
return mmp_register_device(d, NULL, 0);
|
||||
}
|
||||
|
||||
static inline int pxa168_add_twsi(int id, struct i2c_pxa_platform_data *data,
|
||||
struct i2c_board_info *info, unsigned size)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
int ret;
|
||||
|
||||
switch (id) {
|
||||
@ -79,12 +79,12 @@ static inline int pxa168_add_twsi(int id, struct i2c_pxa_platform_data *data,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return pxa_register_device(d, data, sizeof(*data));
|
||||
return mmp_register_device(d, data, sizeof(*data));
|
||||
}
|
||||
|
||||
static inline int pxa168_add_pwm(int id)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
|
||||
switch (id) {
|
||||
case 1: d = &pxa168_device_pwm1; break;
|
||||
@ -95,12 +95,12 @@ static inline int pxa168_add_pwm(int id)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return pxa_register_device(d, NULL, 0);
|
||||
return mmp_register_device(d, NULL, 0);
|
||||
}
|
||||
|
||||
static inline int pxa168_add_ssp(int id)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
|
||||
switch (id) {
|
||||
case 1: d = &pxa168_device_ssp1; break;
|
||||
@ -111,17 +111,17 @@ static inline int pxa168_add_ssp(int id)
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
return pxa_register_device(d, NULL, 0);
|
||||
return mmp_register_device(d, NULL, 0);
|
||||
}
|
||||
|
||||
static inline int pxa168_add_nand(struct pxa3xx_nand_platform_data *info)
|
||||
{
|
||||
return pxa_register_device(&pxa168_device_nand, info, sizeof(*info));
|
||||
return mmp_register_device(&pxa168_device_nand, info, sizeof(*info));
|
||||
}
|
||||
|
||||
static inline int pxa168_add_fb(struct pxa168fb_mach_info *mi)
|
||||
{
|
||||
return pxa_register_device(&pxa168_device_fb, mi, sizeof(*mi));
|
||||
return mmp_register_device(&pxa168_device_fb, mi, sizeof(*mi));
|
||||
}
|
||||
|
||||
static inline int pxa168_add_keypad(struct pxa27x_keypad_platform_data *data)
|
||||
@ -129,11 +129,11 @@ static inline int pxa168_add_keypad(struct pxa27x_keypad_platform_data *data)
|
||||
if (cpu_is_pxa168())
|
||||
data->clear_wakeup_event = pxa168_clear_keypad_wakeup;
|
||||
|
||||
return pxa_register_device(&pxa168_device_keypad, data, sizeof(*data));
|
||||
return mmp_register_device(&pxa168_device_keypad, data, sizeof(*data));
|
||||
}
|
||||
|
||||
static inline int pxa168_add_eth(struct pxa168_eth_platform_data *data)
|
||||
{
|
||||
return pxa_register_device(&pxa168_device_eth, data, sizeof(*data));
|
||||
return mmp_register_device(&pxa168_device_eth, data, sizeof(*data));
|
||||
}
|
||||
#endif /* __ASM_MACH_PXA168_H */
|
||||
|
@ -13,28 +13,28 @@ extern void __init pxa910_init_irq(void);
|
||||
|
||||
#include "devices.h"
|
||||
|
||||
extern struct pxa_device_desc pxa910_device_uart1;
|
||||
extern struct pxa_device_desc pxa910_device_uart2;
|
||||
extern struct pxa_device_desc pxa910_device_twsi0;
|
||||
extern struct pxa_device_desc pxa910_device_twsi1;
|
||||
extern struct pxa_device_desc pxa910_device_pwm1;
|
||||
extern struct pxa_device_desc pxa910_device_pwm2;
|
||||
extern struct pxa_device_desc pxa910_device_pwm3;
|
||||
extern struct pxa_device_desc pxa910_device_pwm4;
|
||||
extern struct pxa_device_desc pxa910_device_nand;
|
||||
extern struct mmp_device_desc pxa910_device_uart1;
|
||||
extern struct mmp_device_desc pxa910_device_uart2;
|
||||
extern struct mmp_device_desc pxa910_device_twsi0;
|
||||
extern struct mmp_device_desc pxa910_device_twsi1;
|
||||
extern struct mmp_device_desc pxa910_device_pwm1;
|
||||
extern struct mmp_device_desc pxa910_device_pwm2;
|
||||
extern struct mmp_device_desc pxa910_device_pwm3;
|
||||
extern struct mmp_device_desc pxa910_device_pwm4;
|
||||
extern struct mmp_device_desc pxa910_device_nand;
|
||||
extern struct platform_device pxa168_device_usb_phy;
|
||||
extern struct platform_device pxa168_device_u2o;
|
||||
extern struct platform_device pxa168_device_u2ootg;
|
||||
extern struct platform_device pxa168_device_u2oehci;
|
||||
extern struct pxa_device_desc pxa910_device_disp;
|
||||
extern struct pxa_device_desc pxa910_device_fb;
|
||||
extern struct pxa_device_desc pxa910_device_panel;
|
||||
extern struct mmp_device_desc pxa910_device_disp;
|
||||
extern struct mmp_device_desc pxa910_device_fb;
|
||||
extern struct mmp_device_desc pxa910_device_panel;
|
||||
extern struct platform_device pxa910_device_gpio;
|
||||
extern struct platform_device pxa910_device_rtc;
|
||||
|
||||
static inline int pxa910_add_uart(int id)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
|
||||
switch (id) {
|
||||
case 1: d = &pxa910_device_uart1; break;
|
||||
@ -44,13 +44,13 @@ static inline int pxa910_add_uart(int id)
|
||||
if (d == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
return pxa_register_device(d, NULL, 0);
|
||||
return mmp_register_device(d, NULL, 0);
|
||||
}
|
||||
|
||||
static inline int pxa910_add_twsi(int id, struct i2c_pxa_platform_data *data,
|
||||
struct i2c_board_info *info, unsigned size)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
int ret;
|
||||
|
||||
switch (id) {
|
||||
@ -64,12 +64,12 @@ static inline int pxa910_add_twsi(int id, struct i2c_pxa_platform_data *data,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return pxa_register_device(d, data, sizeof(*data));
|
||||
return mmp_register_device(d, data, sizeof(*data));
|
||||
}
|
||||
|
||||
static inline int pxa910_add_pwm(int id)
|
||||
{
|
||||
struct pxa_device_desc *d = NULL;
|
||||
struct mmp_device_desc *d = NULL;
|
||||
|
||||
switch (id) {
|
||||
case 1: d = &pxa910_device_pwm1; break;
|
||||
@ -80,11 +80,11 @@ static inline int pxa910_add_pwm(int id)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return pxa_register_device(d, NULL, 0);
|
||||
return mmp_register_device(d, NULL, 0);
|
||||
}
|
||||
|
||||
static inline int pxa910_add_nand(struct pxa3xx_nand_platform_data *info)
|
||||
{
|
||||
return pxa_register_device(&pxa910_device_nand, info, sizeof(*info));
|
||||
return mmp_register_device(&pxa910_device_nand, info, sizeof(*info));
|
||||
}
|
||||
#endif /* __ASM_MACH_PXA910_H */
|
||||
|
@ -1,113 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* linux/arch/arm/mach-mmp/tavorevb.c
|
||||
*
|
||||
* Support for the Marvell PXA910-based TavorEVB Development Platform.
|
||||
*/
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio-pxa.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/smc91x.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include "addr-map.h"
|
||||
#include "mfp-pxa910.h"
|
||||
#include "pxa910.h"
|
||||
#include "irqs.h"
|
||||
|
||||
#include "common.h"
|
||||
|
||||
static unsigned long tavorevb_pin_config[] __initdata = {
|
||||
/* UART2 */
|
||||
GPIO47_UART2_RXD,
|
||||
GPIO48_UART2_TXD,
|
||||
|
||||
/* SMC */
|
||||
SM_nCS0_nCS0,
|
||||
SM_ADV_SM_ADV,
|
||||
SM_SCLK_SM_SCLK,
|
||||
SM_SCLK_SM_SCLK,
|
||||
SM_BE0_SM_BE0,
|
||||
SM_BE1_SM_BE1,
|
||||
|
||||
/* DFI */
|
||||
DF_IO0_ND_IO0,
|
||||
DF_IO1_ND_IO1,
|
||||
DF_IO2_ND_IO2,
|
||||
DF_IO3_ND_IO3,
|
||||
DF_IO4_ND_IO4,
|
||||
DF_IO5_ND_IO5,
|
||||
DF_IO6_ND_IO6,
|
||||
DF_IO7_ND_IO7,
|
||||
DF_IO8_ND_IO8,
|
||||
DF_IO9_ND_IO9,
|
||||
DF_IO10_ND_IO10,
|
||||
DF_IO11_ND_IO11,
|
||||
DF_IO12_ND_IO12,
|
||||
DF_IO13_ND_IO13,
|
||||
DF_IO14_ND_IO14,
|
||||
DF_IO15_ND_IO15,
|
||||
DF_nCS0_SM_nCS2_nCS0,
|
||||
DF_ALE_SM_WEn_ND_ALE,
|
||||
DF_CLE_SM_OEn_ND_CLE,
|
||||
DF_WEn_DF_WEn,
|
||||
DF_REn_DF_REn,
|
||||
DF_RDY0_DF_RDY0,
|
||||
};
|
||||
|
||||
static struct pxa_gpio_platform_data pxa910_gpio_pdata = {
|
||||
.irq_base = MMP_GPIO_TO_IRQ(0),
|
||||
};
|
||||
|
||||
static struct smc91x_platdata tavorevb_smc91x_info = {
|
||||
.flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
|
||||
};
|
||||
|
||||
static struct resource smc91x_resources[] = {
|
||||
[0] = {
|
||||
.start = SMC_CS1_PHYS_BASE + 0x300,
|
||||
.end = SMC_CS1_PHYS_BASE + 0xfffff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = MMP_GPIO_TO_IRQ(80),
|
||||
.end = MMP_GPIO_TO_IRQ(80),
|
||||
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
|
||||
}
|
||||
};
|
||||
|
||||
static struct platform_device smc91x_device = {
|
||||
.name = "smc91x",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &tavorevb_smc91x_info,
|
||||
},
|
||||
.num_resources = ARRAY_SIZE(smc91x_resources),
|
||||
.resource = smc91x_resources,
|
||||
};
|
||||
|
||||
static void __init tavorevb_init(void)
|
||||
{
|
||||
mfp_config(ARRAY_AND_SIZE(tavorevb_pin_config));
|
||||
|
||||
/* on-chip devices */
|
||||
pxa910_add_uart(1);
|
||||
platform_device_add_data(&pxa910_device_gpio, &pxa910_gpio_pdata,
|
||||
sizeof(struct pxa_gpio_platform_data));
|
||||
platform_device_register(&pxa910_device_gpio);
|
||||
|
||||
/* off-chip devices */
|
||||
platform_device_register(&smc91x_device);
|
||||
}
|
||||
|
||||
MACHINE_START(TAVOREVB, "PXA910 Evaluation Board (aka TavorEVB)")
|
||||
.map_io = mmp_map_io,
|
||||
.nr_irqs = MMP_NR_IRQS,
|
||||
.init_irq = pxa910_init_irq,
|
||||
.init_time = pxa910_timer_init,
|
||||
.init_machine = tavorevb_init,
|
||||
.restart = mmp_restart,
|
||||
MACHINE_END
|
@ -253,12 +253,12 @@ static struct spi_board_info spi_board_info[] __initdata = {
|
||||
|
||||
static void __init add_disp(void)
|
||||
{
|
||||
pxa_register_device(&pxa910_device_disp,
|
||||
mmp_register_device(&pxa910_device_disp,
|
||||
&dkb_disp_info, sizeof(dkb_disp_info));
|
||||
spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
|
||||
pxa_register_device(&pxa910_device_fb,
|
||||
mmp_register_device(&pxa910_device_fb,
|
||||
&dkb_fb_info, sizeof(dkb_fb_info));
|
||||
pxa_register_device(&pxa910_device_panel,
|
||||
mmp_register_device(&pxa910_device_panel,
|
||||
&dkb_tpo_panel_info, sizeof(dkb_tpo_panel_info));
|
||||
}
|
||||
#endif
|
||||
|
@ -1,4 +1,19 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
menuconfig ARCH_PXA
|
||||
bool "PXA2xx/PXA3xx-based"
|
||||
depends on ARCH_MULTI_V5
|
||||
depends on CPU_LITTLE_ENDIAN
|
||||
select ARM_CPU_SUSPEND if PM
|
||||
select CLKSRC_PXA
|
||||
select CLKSRC_MMIO
|
||||
select TIMER_OF
|
||||
select CPU_XSCALE if !CPU_XSC3
|
||||
select GPIO_PXA
|
||||
select GPIOLIB
|
||||
select PLAT_PXA
|
||||
help
|
||||
Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
|
||||
|
||||
if ARCH_PXA
|
||||
|
||||
menu "Intel PXA2xx/PXA3xx Implementations"
|
||||
|
@ -37,7 +37,8 @@ obj-$(CONFIG_MACH_SAAR) += saar.o
|
||||
obj-$(CONFIG_ARCH_PXA_IDP) += idp.o
|
||||
obj-$(CONFIG_ARCH_VIPER) += viper.o
|
||||
obj-$(CONFIG_MACH_ARCOM_ZEUS) += zeus.o
|
||||
obj-$(CONFIG_MACH_BALLOON3) += balloon3.o
|
||||
obj-$(CONFIG_ARCOM_PCMCIA) += viper-pcmcia.o
|
||||
obj-$(CONFIG_MACH_BALLOON3) += balloon3.o balloon3-pcmcia.o
|
||||
obj-$(CONFIG_MACH_CSB726) += csb726.o
|
||||
obj-$(CONFIG_CSB726_CSB701) += csb701.o
|
||||
obj-$(CONFIG_MACH_CM_X300) += cm-x300.o
|
||||
@ -47,18 +48,20 @@ obj-$(CONFIG_GUMSTIX_AM200EPD) += am200epd.o
|
||||
obj-$(CONFIG_GUMSTIX_AM300EPD) += am300epd.o
|
||||
obj-$(CONFIG_MACH_XCEP) += xcep.o
|
||||
obj-$(CONFIG_MACH_TRIZEPS4) += trizeps4.o
|
||||
obj-$(CONFIG_TRIZEPS_PCMCIA) += trizeps4-pcmcia.o
|
||||
obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o
|
||||
obj-$(CONFIG_MACH_PCM027) += pcm027.o
|
||||
obj-$(CONFIG_MACH_PCM990_BASEBOARD) += pcm990-baseboard.o
|
||||
obj-$(CONFIG_MACH_COLIBRI) += colibri-pxa270.o
|
||||
obj-$(CONFIG_MACH_COLIBRI) += colibri-pxa270.o colibri-pcmcia.o
|
||||
obj-$(CONFIG_MACH_COLIBRI_EVALBOARD) += colibri-evalboard.o
|
||||
obj-$(CONFIG_MACH_COLIBRI_PXA270_INCOME) += colibri-pxa270-income.o
|
||||
obj-$(CONFIG_MACH_COLIBRI300) += colibri-pxa3xx.o colibri-pxa300.o
|
||||
obj-$(CONFIG_MACH_COLIBRI320) += colibri-pxa3xx.o colibri-pxa320.o
|
||||
obj-$(CONFIG_MACH_VPAC270) += vpac270.o
|
||||
obj-$(CONFIG_MACH_COLIBRI320) += colibri-pxa3xx.o colibri-pxa320.o colibri-pcmcia.o
|
||||
obj-$(CONFIG_MACH_VPAC270) += vpac270.o vpac270-pcmcia.o
|
||||
|
||||
# End-user Products
|
||||
obj-$(CONFIG_MACH_H4700) += hx4700.o
|
||||
obj-$(CONFIG_MACH_H4700) += hx4700-pcmcia.o
|
||||
obj-$(CONFIG_MACH_H5000) += h5000.o
|
||||
obj-$(CONFIG_MACH_HIMALAYA) += himalaya.o
|
||||
obj-$(CONFIG_MACH_MAGICIAN) += magician.o
|
||||
@ -66,12 +69,12 @@ obj-$(CONFIG_MACH_MIOA701) += mioa701.o mioa701_bootresume.o
|
||||
obj-$(CONFIG_PXA_EZX) += ezx.o
|
||||
obj-$(CONFIG_MACH_MP900C) += mp900.o
|
||||
obj-$(CONFIG_MACH_PALMTE2) += palmte2.o
|
||||
obj-$(CONFIG_MACH_PALMTC) += palmtc.o
|
||||
obj-$(CONFIG_MACH_PALMTC) += palmtc.o palmtc-pcmcia.o
|
||||
obj-$(CONFIG_MACH_PALM27X) += palm27x.o
|
||||
obj-$(CONFIG_MACH_PALMT5) += palmt5.o
|
||||
obj-$(CONFIG_MACH_PALMTX) += palmtx.o
|
||||
obj-$(CONFIG_MACH_PALMTX) += palmtx.o palmtx-pcmcia.o
|
||||
obj-$(CONFIG_MACH_PALMZ72) += palmz72.o
|
||||
obj-$(CONFIG_MACH_PALMLD) += palmld.o
|
||||
obj-$(CONFIG_MACH_PALMLD) += palmld.o palmld-pcmcia.o
|
||||
obj-$(CONFIG_PALM_TREO) += palmtreo.o
|
||||
obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o sharpsl_pm.o corgi_pm.o
|
||||
obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o sharpsl_pm.o spitz_pm.o
|
||||
@ -79,6 +82,7 @@ obj-$(CONFIG_MACH_POODLE) += poodle.o
|
||||
obj-$(CONFIG_MACH_TOSA) += tosa.o
|
||||
obj-$(CONFIG_MACH_ICONTROL) += icontrol.o mxm8x10.o
|
||||
obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o
|
||||
obj-$(CONFIG_MACH_E740) += e740-pcmcia.o
|
||||
obj-$(CONFIG_MACH_ZIPIT2) += z2.o
|
||||
|
||||
obj-$(CONFIG_PXA_SYSTEMS_CPLDS) += pxa_cplds_irqs.o
|
||||
|
@ -1,3 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
zreladdr-y += 0xa0008000
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
#include "gumstix.h"
|
||||
#include "mfp-pxa25x.h"
|
||||
#include <mach/irqs.h>
|
||||
#include "irqs.h"
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
|
||||
#include "generic.h"
|
||||
|
@ -20,11 +20,11 @@
|
||||
#include <linux/irq.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <mach/balloon3.h>
|
||||
#include "balloon3.h"
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include "soc_common.h"
|
||||
#include <pcmcia/soc_common.h>
|
||||
|
||||
static int balloon3_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
|
||||
{
|
@ -40,8 +40,8 @@
|
||||
#include <asm/mach/flash.h>
|
||||
|
||||
#include "pxa27x.h"
|
||||
#include <mach/balloon3.h>
|
||||
#include <mach/audio.h>
|
||||
#include "balloon3.h"
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include "udc.h"
|
||||
|
@ -40,6 +40,8 @@
|
||||
#include <linux/spi/spi_gpio.h>
|
||||
#include <linux/spi/tdo24m.h>
|
||||
|
||||
#include <linux/soc/pxa/cpu.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/setup.h>
|
||||
@ -51,7 +53,7 @@
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <linux/platform_data/mtd-nand-pxa3xx.h>
|
||||
#include <mach/audio.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include <linux/platform_data/usb-pxa3xx-ulpi.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
@ -354,13 +356,13 @@ static struct platform_device cm_x300_spi_gpio = {
|
||||
static struct gpiod_lookup_table cm_x300_spi_gpiod_table = {
|
||||
.dev_id = "spi_gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_SCL,
|
||||
GPIO_LOOKUP("pca9555.1", GPIO_LCD_SCL - GPIO_LCD_BASE,
|
||||
"sck", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_DIN,
|
||||
GPIO_LOOKUP("pca9555.1", GPIO_LCD_DIN - GPIO_LCD_BASE,
|
||||
"mosi", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_DOUT,
|
||||
GPIO_LOOKUP("pca9555.1", GPIO_LCD_DOUT - GPIO_LCD_BASE,
|
||||
"miso", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_CS,
|
||||
GPIO_LOOKUP("pca9555.1", GPIO_LCD_CS - GPIO_LCD_BASE,
|
||||
"cs", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/platform_data/i2c-pxa.h>
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include "soc_common.h"
|
||||
#include <pcmcia/soc_common.h>
|
||||
|
||||
#define COLIBRI270_RESET_GPIO 53
|
||||
#define COLIBRI270_PPEN_GPIO 107
|
@ -25,7 +25,6 @@
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include "pxa27x.h"
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <asm/mach-types.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
#include <mach/audio.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include "colibri.h"
|
||||
#include "pxa27x.h"
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/soc/pxa/cpu.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <linux/sizes.h>
|
||||
@ -23,7 +24,7 @@
|
||||
#include "colibri.h"
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <mach/audio.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
|
||||
#include "generic.h"
|
||||
#include "devices.h"
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "colibri.h"
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <mach/audio.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include "pxa27x-udc.h"
|
||||
#include "udc.h"
|
||||
|
||||
|
@ -13,12 +13,11 @@
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <linux/sizes.h>
|
||||
#include <asm/system_info.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <mach/pxa3xx-regs.h>
|
||||
#include "pxa3xx-regs.h"
|
||||
#include "mfp-pxa300.h"
|
||||
#include "colibri.h"
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
|
@ -3,7 +3,7 @@
|
||||
#define _COLIBRI_H_
|
||||
|
||||
#include <net/ax88796.h>
|
||||
#include <mach/mfp.h>
|
||||
#include "mfp.h"
|
||||
|
||||
/*
|
||||
* base board glue for PXA270 module
|
||||
|
@ -39,7 +39,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
@ -50,7 +49,7 @@
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include "udc.h"
|
||||
#include <mach/corgi.h>
|
||||
#include "corgi.h"
|
||||
#include "sharpsl_pm.h"
|
||||
|
||||
#include <asm/mach/sharpsl_param.h>
|
||||
@ -473,6 +472,25 @@ static struct platform_device corgiled_device = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table corgi_audio_gpio_table = {
|
||||
.dev_id = "corgi-audio",
|
||||
.table = {
|
||||
GPIO_LOOKUP("sharp-scoop",
|
||||
CORGI_GPIO_MUTE_L - CORGI_SCOOP_GPIO_BASE,
|
||||
"mute-l", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("sharp-scoop",
|
||||
CORGI_GPIO_MUTE_R - CORGI_SCOOP_GPIO_BASE,
|
||||
"mute-r", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("sharp-scoop",
|
||||
CORGI_GPIO_APM_ON - CORGI_SCOOP_GPIO_BASE,
|
||||
"apm-on", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("sharp-scoop",
|
||||
CORGI_GPIO_MIC_BIAS - CORGI_SCOOP_GPIO_BASE,
|
||||
"mic-bias", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* Corgi Audio
|
||||
*/
|
||||
@ -745,6 +763,7 @@ static void __init corgi_init(void)
|
||||
|
||||
pxa_set_udc_info(&udc_info);
|
||||
gpiod_add_lookup_table(&corgi_mci_gpio_table);
|
||||
gpiod_add_lookup_table(&corgi_audio_gpio_table);
|
||||
pxa_set_mci_info(&corgi_mci_platform_data);
|
||||
pxa_set_ficp_info(&corgi_ficp_platform_data);
|
||||
pxa_set_i2c_info(NULL);
|
||||
|
@ -19,10 +19,9 @@
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#include <mach/corgi.h>
|
||||
#include <mach/pxa2xx-regs.h>
|
||||
#include "corgi.h"
|
||||
#include "pxa2xx-regs.h"
|
||||
#include "sharpsl_pm.h"
|
||||
|
||||
#include "generic.h"
|
||||
|
@ -17,12 +17,13 @@
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
#include "csb726.h"
|
||||
#include "pxa27x.h"
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <mach/audio.h>
|
||||
#include <mach/smemc.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include "smemc.h"
|
||||
|
||||
#include "generic.h"
|
||||
#include "devices.h"
|
||||
|
@ -7,7 +7,7 @@
|
||||
#ifndef CSB726_H
|
||||
#define CSB726_H
|
||||
|
||||
#include <mach/irqs.h> /* PXA_GPIO_TO_IRQ */
|
||||
#include "irqs.h" /* PXA_GPIO_TO_IRQ */
|
||||
|
||||
#define CSB726_GPIO_IRQ_LAN 52
|
||||
#define CSB726_GPIO_IRQ_SM501 53
|
||||
|
@ -9,21 +9,23 @@
|
||||
#include <linux/dmaengine.h>
|
||||
#include <linux/spi/pxa2xx_spi.h>
|
||||
#include <linux/platform_data/i2c-pxa.h>
|
||||
#include <linux/soc/pxa/cpu.h>
|
||||
|
||||
#include "udc.h"
|
||||
#include <linux/platform_data/usb-pxa3xx-ulpi.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
#include <mach/irqs.h>
|
||||
#include "irqs.h"
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <linux/platform_data/keypad-pxa27x.h>
|
||||
#include <linux/platform_data/media/camera-pxa.h>
|
||||
#include <mach/audio.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include <linux/platform_data/mmp_dma.h>
|
||||
#include <linux/platform_data/mtd-nand-pxa3xx.h>
|
||||
|
||||
#include "regs-ost.h"
|
||||
#include "reset.h"
|
||||
#include "devices.h"
|
||||
#include "generic.h"
|
||||
|
||||
@ -1118,3 +1120,12 @@ void __init pxa2xx_set_dmac_info(struct mmp_dma_platdata *dma_pdata)
|
||||
{
|
||||
pxa_register_device(&pxa2xx_pxa_dma, dma_pdata);
|
||||
}
|
||||
|
||||
void __init pxa_register_wdt(unsigned int reset_status)
|
||||
{
|
||||
struct resource res = DEFINE_RES_MEM(OST_PHYS, OST_LEN);
|
||||
|
||||
reset_status &= RESET_STATUS_WATCHDOG;
|
||||
platform_device_register_resndata(NULL, "sa1100_wdt", -1, &res, 1,
|
||||
&reset_status, sizeof(reset_status));
|
||||
}
|
||||
|
@ -13,12 +13,12 @@
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <mach/eseries-gpio.h>
|
||||
#include "eseries-gpio.h"
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include "soc_common.h"
|
||||
#include <pcmcia/soc_common.h>
|
||||
|
||||
static int e740_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
|
||||
{
|
@ -24,6 +24,7 @@
|
||||
#include <linux/mtd/rawnand.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
|
||||
#include <video/w100fb.h>
|
||||
|
||||
@ -32,9 +33,9 @@
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include "pxa25x.h"
|
||||
#include <mach/eseries-gpio.h>
|
||||
#include "eseries-gpio.h"
|
||||
#include "eseries-irq.h"
|
||||
#include <mach/audio.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include "udc.h"
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
@ -520,6 +521,16 @@ static struct platform_device e740_audio_device = {
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table e740_audio_gpio_table = {
|
||||
.dev_id = "e740-audio",
|
||||
.table = {
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_E740_WM9705_nAVDD2, "Audio power", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_E740_AMP_ON, "Output amp", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_E740_MIC_ON, "Mic amp", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
|
||||
static struct platform_device *e740_devices[] __initdata = {
|
||||
@ -540,6 +551,7 @@ static void __init e740_init(void)
|
||||
"UDCCLK", &pxa25x_device_udc.dev),
|
||||
eseries_get_tmio_gpios();
|
||||
gpiod_add_lookup_table(&e7xx_gpio_vbus_gpiod_table);
|
||||
gpiod_add_lookup_table(&e740_audio_gpio_table);
|
||||
platform_add_devices(ARRAY_AND_SIZE(e740_devices));
|
||||
pxa_set_ac97_info(NULL);
|
||||
pxa_set_ficp_info(&e7xx_ficp_platform_data);
|
||||
@ -699,7 +711,6 @@ static struct tc6393xb_platform_data e750_tc6393xb_info = {
|
||||
.irq_base = IRQ_BOARD_START,
|
||||
.scr_pll2cr = 0x0cc1,
|
||||
.scr_gper = 0,
|
||||
.gpio_base = -1,
|
||||
.suspend = &eseries_tmio_suspend,
|
||||
.resume = &eseries_tmio_resume,
|
||||
.enable = &eseries_tmio_enable,
|
||||
@ -716,6 +727,15 @@ static struct platform_device e750_tc6393xb_device = {
|
||||
.resource = eseries_tmio_resources,
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table e750_audio_gpio_table = {
|
||||
.dev_id = "e750-audio",
|
||||
.table = {
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_E750_HP_AMP_OFF, "Output amp", GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_E750_SPK_AMP_OFF, "Mic amp", GPIO_ACTIVE_LOW),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device e750_audio_device = {
|
||||
.name = "e750-audio",
|
||||
.id = -1,
|
||||
@ -740,6 +760,7 @@ static void __init e750_init(void)
|
||||
"GPIO11_CLK", NULL),
|
||||
eseries_get_tmio_gpios();
|
||||
gpiod_add_lookup_table(&e7xx_gpio_vbus_gpiod_table);
|
||||
gpiod_add_lookup_table(&e750_audio_gpio_table);
|
||||
platform_add_devices(ARRAY_AND_SIZE(e750_devices));
|
||||
pxa_set_ac97_info(NULL);
|
||||
pxa_set_ficp_info(&e7xx_ficp_platform_data);
|
||||
@ -918,7 +939,6 @@ static struct tc6393xb_platform_data e800_tc6393xb_info = {
|
||||
.irq_base = IRQ_BOARD_START,
|
||||
.scr_pll2cr = 0x0cc1,
|
||||
.scr_gper = 0,
|
||||
.gpio_base = -1,
|
||||
.suspend = &eseries_tmio_suspend,
|
||||
.resume = &eseries_tmio_resume,
|
||||
.enable = &eseries_tmio_enable,
|
||||
@ -935,6 +955,15 @@ static struct platform_device e800_tc6393xb_device = {
|
||||
.resource = eseries_tmio_resources,
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table e800_audio_gpio_table = {
|
||||
.dev_id = "e800-audio",
|
||||
.table = {
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_E800_HP_AMP_OFF, "Output amp", GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO_E800_SPK_AMP_ON, "Mic amp", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device e800_audio_device = {
|
||||
.name = "e800-audio",
|
||||
.id = -1,
|
||||
@ -959,6 +988,7 @@ static void __init e800_init(void)
|
||||
"GPIO11_CLK", NULL),
|
||||
eseries_get_tmio_gpios();
|
||||
gpiod_add_lookup_table(&e800_gpio_vbus_gpiod_table);
|
||||
gpiod_add_lookup_table(&e800_audio_gpio_table);
|
||||
platform_add_devices(ARRAY_AND_SIZE(e800_devices));
|
||||
pxa_set_ac97_info(NULL);
|
||||
}
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "pxa27x.h"
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <linux/platform_data/keypad-pxa27x.h>
|
||||
#include <linux/platform_data/media/camera-pxa.h>
|
||||
|
||||
|
@ -17,15 +17,18 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/soc/pxa/cpu.h>
|
||||
#include <linux/soc/pxa/smemc.h>
|
||||
#include <linux/clk/pxa.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <mach/irqs.h>
|
||||
#include <mach/reset.h>
|
||||
#include <mach/smemc.h>
|
||||
#include <mach/pxa3xx-regs.h>
|
||||
#include "addr-map.h"
|
||||
#include "irqs.h"
|
||||
#include "reset.h"
|
||||
#include "smemc.h"
|
||||
#include "pxa3xx-regs.h"
|
||||
|
||||
#include "generic.h"
|
||||
#include <clocksource/pxa.h>
|
||||
@ -46,28 +49,47 @@ void clear_reset_status(unsigned int mask)
|
||||
void __init pxa_timer_init(void)
|
||||
{
|
||||
if (cpu_is_pxa25x())
|
||||
pxa25x_clocks_init();
|
||||
pxa25x_clocks_init(io_p2v(0x41300000));
|
||||
if (cpu_is_pxa27x())
|
||||
pxa27x_clocks_init();
|
||||
pxa27x_clocks_init(io_p2v(0x41300000));
|
||||
if (cpu_is_pxa3xx())
|
||||
pxa3xx_clocks_init();
|
||||
pxa3xx_clocks_init(io_p2v(0x41340000), io_p2v(0x41350000));
|
||||
pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000));
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the clock frequency as reflected by CCCR and the turbo flag.
|
||||
* We assume these values have been applied via a fcs.
|
||||
* If info is not 0 we also display the current settings.
|
||||
*/
|
||||
unsigned int get_clk_frequency_khz(int info)
|
||||
void pxa_smemc_set_pcmcia_timing(int sock, u32 mcmem, u32 mcatt, u32 mcio)
|
||||
{
|
||||
if (cpu_is_pxa25x())
|
||||
return pxa25x_get_clk_frequency_khz(info);
|
||||
else if (cpu_is_pxa27x())
|
||||
return pxa27x_get_clk_frequency_khz(info);
|
||||
return 0;
|
||||
__raw_writel(mcmem, MCMEM(sock));
|
||||
__raw_writel(mcatt, MCATT(sock));
|
||||
__raw_writel(mcio, MCIO(sock));
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pxa_smemc_set_pcmcia_timing);
|
||||
|
||||
void pxa_smemc_set_pcmcia_socket(int nr)
|
||||
{
|
||||
switch (nr) {
|
||||
case 0:
|
||||
__raw_writel(0, MECR);
|
||||
break;
|
||||
case 1:
|
||||
/*
|
||||
* We have at least one socket, so set MECR:CIT
|
||||
* (Card Is There)
|
||||
*/
|
||||
__raw_writel(MECR_CIT, MECR);
|
||||
break;
|
||||
case 2:
|
||||
/* Set CIT and MECR:NOS (Number Of Sockets) */
|
||||
__raw_writel(MECR_CIT | MECR_NOS, MECR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pxa_smemc_set_pcmcia_socket);
|
||||
|
||||
void __iomem *pxa_smemc_get_mdrefr(void)
|
||||
{
|
||||
return MDREFR;
|
||||
}
|
||||
EXPORT_SYMBOL(get_clk_frequency_khz);
|
||||
|
||||
/*
|
||||
* Intel PXA2xx internal register mapping.
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
struct irq_data;
|
||||
|
||||
extern unsigned int get_clk_frequency_khz(int info);
|
||||
extern void __init pxa_dt_irq_init(int (*fn)(struct irq_data *,
|
||||
unsigned int));
|
||||
extern void __init pxa_map_io(void);
|
||||
@ -23,19 +22,16 @@ extern void pxa_timer_init(void);
|
||||
#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
|
||||
|
||||
#define pxa25x_handle_irq icip_handle_irq
|
||||
extern int __init pxa25x_clocks_init(void);
|
||||
extern void __init pxa25x_init_irq(void);
|
||||
extern void __init pxa25x_map_io(void);
|
||||
extern void __init pxa26x_init_irq(void);
|
||||
|
||||
#define pxa27x_handle_irq ichp_handle_irq
|
||||
extern int __init pxa27x_clocks_init(void);
|
||||
extern unsigned pxa27x_get_clk_frequency_khz(int);
|
||||
extern void __init pxa27x_init_irq(void);
|
||||
extern void __init pxa27x_map_io(void);
|
||||
|
||||
#define pxa3xx_handle_irq ichp_handle_irq
|
||||
extern int __init pxa3xx_clocks_init(void);
|
||||
extern void __init pxa3xx_init_irq(void);
|
||||
extern void __init pxa3xx_map_io(void);
|
||||
|
||||
@ -71,8 +67,3 @@ extern unsigned pxa25x_get_clk_frequency_khz(int);
|
||||
#define pxa27x_get_clk_frequency_khz(x) (0)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PXA3xx
|
||||
extern unsigned pxa3xx_get_clk_frequency_khz(int);
|
||||
#else
|
||||
#define pxa3xx_get_clk_frequency_khz(x) (0)
|
||||
#endif
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
* arch/arm/mach-pxa/include/mach/gumstix.h
|
||||
*/
|
||||
|
||||
#include <mach/irqs.h> /* PXA_GPIO_TO_IRQ */
|
||||
#include "irqs.h" /* PXA_GPIO_TO_IRQ */
|
||||
|
||||
/* BTRESET - Reset line to Bluetooth module, active low signal. */
|
||||
#define GPIO_GUMSTIX_BTRESET 7
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include "pxa25x.h"
|
||||
#include "h5000.h"
|
||||
#include "udc.h"
|
||||
#include <mach/smemc.h>
|
||||
#include "smemc.h"
|
||||
|
||||
#include "generic.h"
|
||||
|
||||
|
@ -10,9 +10,9 @@
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hx4700.h>
|
||||
#include "hx4700.h"
|
||||
|
||||
#include "soc_common.h"
|
||||
#include <pcmcia/soc_common.h>
|
||||
|
||||
static struct gpio gpios[] = {
|
||||
{ GPIO114_HX4700_CF_RESET, GPIOF_OUT_INIT_LOW, "CF reset" },
|
@ -36,12 +36,12 @@
|
||||
#include <linux/spi/pxa2xx_spi.h>
|
||||
#include <linux/platform_data/i2c-pxa.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
#include "pxa27x.h"
|
||||
#include <mach/hx4700.h>
|
||||
#include "addr-map.h"
|
||||
#include "hx4700.h"
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
|
||||
#include <sound/ak4641.h>
|
||||
@ -834,6 +834,19 @@ static struct i2c_board_info i2c_board_info[] __initdata = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table hx4700_audio_gpio_table = {
|
||||
.dev_id = "hx4700-audio",
|
||||
.table = {
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO75_HX4700_EARPHONE_nDET,
|
||||
"earphone-det", GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO92_HX4700_HP_DRIVER,
|
||||
"hp-driver", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO107_HX4700_SPK_nSD,
|
||||
"spk-sd", GPIO_ACTIVE_LOW),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device audio = {
|
||||
.name = "hx4700-audio",
|
||||
.id = -1,
|
||||
@ -895,6 +908,7 @@ static void __init hx4700_init(void)
|
||||
|
||||
gpiod_add_lookup_table(&bq24022_gpiod_table);
|
||||
gpiod_add_lookup_table(&gpio_vbus_gpiod_table);
|
||||
gpiod_add_lookup_table(&hx4700_audio_gpio_table);
|
||||
platform_add_devices(devices, ARRAY_SIZE(devices));
|
||||
pwm_add_table(hx4700_pwm_lookup, ARRAY_SIZE(hx4700_pwm_lookup));
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
@ -31,7 +30,6 @@
|
||||
#include "pxa25x.h"
|
||||
#include "idp.h"
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <mach/bitfield.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/smc91x.h>
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
* IDP hardware.
|
||||
*/
|
||||
|
||||
#include <mach/irqs.h> /* PXA_GPIO_TO_IRQ */
|
||||
#include "irqs.h" /* PXA_GPIO_TO_IRQ */
|
||||
|
||||
#define IDP_FLASH_PHYS (PXA_CS0_PHYS)
|
||||
#define IDP_ALT_FLASH_PHYS (PXA_CS1_PHYS)
|
||||
|
@ -1,114 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* FILE bitfield.h
|
||||
*
|
||||
* Version 1.1
|
||||
* Author Copyright (c) Marc A. Viredaz, 1998
|
||||
* DEC Western Research Laboratory, Palo Alto, CA
|
||||
* Date April 1998 (April 1997)
|
||||
* System Advanced RISC Machine (ARM)
|
||||
* Language C or ARM Assembly
|
||||
* Purpose Definition of macros to operate on bit fields.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef __BITFIELD_H
|
||||
#define __BITFIELD_H
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#define UData(Data) ((unsigned long) (Data))
|
||||
#else
|
||||
#define UData(Data) (Data)
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* MACRO: Fld
|
||||
*
|
||||
* Purpose
|
||||
* The macro "Fld" encodes a bit field, given its size and its shift value
|
||||
* with respect to bit 0.
|
||||
*
|
||||
* Note
|
||||
* A more intuitive way to encode bit fields would have been to use their
|
||||
* mask. However, extracting size and shift value information from a bit
|
||||
* field's mask is cumbersome and might break the assembler (255-character
|
||||
* line-size limit).
|
||||
*
|
||||
* Input
|
||||
* Size Size of the bit field, in number of bits.
|
||||
* Shft Shift value of the bit field with respect to bit 0.
|
||||
*
|
||||
* Output
|
||||
* Fld Encoded bit field.
|
||||
*/
|
||||
|
||||
#define Fld(Size, Shft) (((Size) << 16) + (Shft))
|
||||
|
||||
|
||||
/*
|
||||
* MACROS: FSize, FShft, FMsk, FAlnMsk, F1stBit
|
||||
*
|
||||
* Purpose
|
||||
* The macros "FSize", "FShft", "FMsk", "FAlnMsk", and "F1stBit" return
|
||||
* the size, shift value, mask, aligned mask, and first bit of a
|
||||
* bit field.
|
||||
*
|
||||
* Input
|
||||
* Field Encoded bit field (using the macro "Fld").
|
||||
*
|
||||
* Output
|
||||
* FSize Size of the bit field, in number of bits.
|
||||
* FShft Shift value of the bit field with respect to bit 0.
|
||||
* FMsk Mask for the bit field.
|
||||
* FAlnMsk Mask for the bit field, aligned on bit 0.
|
||||
* F1stBit First bit of the bit field.
|
||||
*/
|
||||
|
||||
#define FSize(Field) ((Field) >> 16)
|
||||
#define FShft(Field) ((Field) & 0x0000FFFF)
|
||||
#define FMsk(Field) (((UData (1) << FSize (Field)) - 1) << FShft (Field))
|
||||
#define FAlnMsk(Field) ((UData (1) << FSize (Field)) - 1)
|
||||
#define F1stBit(Field) (UData (1) << FShft (Field))
|
||||
|
||||
|
||||
/*
|
||||
* MACRO: FInsrt
|
||||
*
|
||||
* Purpose
|
||||
* The macro "FInsrt" inserts a value into a bit field by shifting the
|
||||
* former appropriately.
|
||||
*
|
||||
* Input
|
||||
* Value Bit-field value.
|
||||
* Field Encoded bit field (using the macro "Fld").
|
||||
*
|
||||
* Output
|
||||
* FInsrt Bit-field value positioned appropriately.
|
||||
*/
|
||||
|
||||
#define FInsrt(Value, Field) \
|
||||
(UData (Value) << FShft (Field))
|
||||
|
||||
|
||||
/*
|
||||
* MACRO: FExtr
|
||||
*
|
||||
* Purpose
|
||||
* The macro "FExtr" extracts the value of a bit field by masking and
|
||||
* shifting it appropriately.
|
||||
*
|
||||
* Input
|
||||
* Data Data containing the bit-field to be extracted.
|
||||
* Field Encoded bit field (using the macro "Fld").
|
||||
*
|
||||
* Output
|
||||
* FExtr Bit-field value.
|
||||
*/
|
||||
|
||||
#define FExtr(Data, Field) \
|
||||
((UData (Data) >> FShft (Field)) & FAlnMsk (Field))
|
||||
|
||||
|
||||
#endif /* __BITFIELD_H */
|
@ -1,17 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* arch/arm/mach-pxa/include/mach/dma.h
|
||||
*
|
||||
* Author: Nicolas Pitre
|
||||
* Created: Jun 15, 2001
|
||||
* Copyright: MontaVista Software, Inc.
|
||||
*/
|
||||
#ifndef __ASM_ARCH_DMA_H
|
||||
#define __ASM_ARCH_DMA_H
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
/* DMA Controller Registers Definitions */
|
||||
#define DMAC_REGS_VIRT io_p2v(0x40000000)
|
||||
|
||||
#endif /* _ASM_ARCH_DMA_H */
|
@ -1 +0,0 @@
|
||||
#include "../../generic.h"
|
@ -1,36 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* MTD primitives for XIP support. Architecture specific functions
|
||||
*
|
||||
* Do not include this file directly. It's included from linux/mtd/xip.h
|
||||
*
|
||||
* Author: Nicolas Pitre
|
||||
* Created: Nov 2, 2004
|
||||
* Copyright: (C) 2004 MontaVista Software, Inc.
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_PXA_MTD_XIP_H__
|
||||
#define __ARCH_PXA_MTD_XIP_H__
|
||||
|
||||
#include <mach/regs-ost.h>
|
||||
|
||||
/* restored July 2017, this did not build since 2011! */
|
||||
|
||||
#define ICIP io_p2v(0x40d00000)
|
||||
#define ICMR io_p2v(0x40d00004)
|
||||
#define xip_irqpending() (readl(ICIP) & readl(ICMR))
|
||||
|
||||
/* we sample OSCR and convert desired delta to usec (1/4 ~= 1000000/3686400) */
|
||||
#define xip_currtime() readl(OSCR)
|
||||
#define xip_elapsed_since(x) (signed)((readl(OSCR) - (x)) / 4)
|
||||
|
||||
/*
|
||||
* xip_cpu_idle() is used when waiting for a delay equal or larger than
|
||||
* the system timer tick period. This should put the CPU into idle mode
|
||||
* to save power and to be woken up only when some interrupts are pending.
|
||||
* As above, this should not rely upon standard kernel code.
|
||||
*/
|
||||
|
||||
#define xip_cpu_idle() asm volatile ("mcr p14, 0, %0, c7, c0, 0" :: "r" (1))
|
||||
|
||||
#endif /* __ARCH_PXA_MTD_XIP_H__ */
|
@ -1,70 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* arch/arm/mach-pxa/include/mach/uncompress.h
|
||||
*
|
||||
* Author: Nicolas Pitre
|
||||
* Copyright: (C) 2001 MontaVista Software Inc.
|
||||
*/
|
||||
|
||||
#include <linux/serial_reg.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#define FFUART_BASE (0x40100000)
|
||||
#define BTUART_BASE (0x40200000)
|
||||
#define STUART_BASE (0x40700000)
|
||||
|
||||
unsigned long uart_base;
|
||||
unsigned int uart_shift;
|
||||
unsigned int uart_is_pxa;
|
||||
|
||||
static inline unsigned char uart_read(int offset)
|
||||
{
|
||||
return *(volatile unsigned char *)(uart_base + (offset << uart_shift));
|
||||
}
|
||||
|
||||
static inline void uart_write(unsigned char val, int offset)
|
||||
{
|
||||
*(volatile unsigned char *)(uart_base + (offset << uart_shift)) = val;
|
||||
}
|
||||
|
||||
static inline int uart_is_enabled(void)
|
||||
{
|
||||
/* assume enabled by default for non-PXA uarts */
|
||||
return uart_is_pxa ? uart_read(UART_IER) & UART_IER_UUE : 1;
|
||||
}
|
||||
|
||||
static inline void putc(char c)
|
||||
{
|
||||
if (!uart_is_enabled())
|
||||
return;
|
||||
|
||||
while (!(uart_read(UART_LSR) & UART_LSR_THRE))
|
||||
barrier();
|
||||
|
||||
uart_write(c, UART_TX);
|
||||
}
|
||||
|
||||
/*
|
||||
* This does not append a newline
|
||||
*/
|
||||
static inline void flush(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void arch_decomp_setup(void)
|
||||
{
|
||||
/* initialize to default */
|
||||
uart_base = FFUART_BASE;
|
||||
uart_shift = 2;
|
||||
uart_is_pxa = 1;
|
||||
|
||||
if (machine_is_littleton() || machine_is_csb726() ||
|
||||
machine_is_cm_x300() || machine_is_balloon3())
|
||||
uart_base = STUART_BASE;
|
||||
|
||||
if (machine_is_arcom_zeus()) {
|
||||
uart_base = 0x10000000; /* nCS4 */
|
||||
uart_shift = 1;
|
||||
uart_is_pxa = 0;
|
||||
}
|
||||
}
|
@ -17,13 +17,14 @@
|
||||
#include <linux/irq.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/soc/pxa/cpu.h>
|
||||
|
||||
#include <asm/exception.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/irqs.h>
|
||||
#include "irqs.h"
|
||||
|
||||
#include "generic.h"
|
||||
#include "pxa-regs.h"
|
||||
|
||||
#define ICIP (0x000)
|
||||
#define ICMR (0x004)
|
||||
|
@ -31,7 +31,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
@ -39,12 +38,13 @@
|
||||
|
||||
#include "pxa27x.h"
|
||||
#include "lpd270.h"
|
||||
#include <mach/audio.h>
|
||||
#include "addr-map.h"
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <mach/smemc.h>
|
||||
#include "smemc.h"
|
||||
|
||||
#include "generic.h"
|
||||
#include "devices.h"
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
@ -46,14 +45,14 @@
|
||||
#include <asm/hardware/sa1111.h>
|
||||
|
||||
#include "pxa25x.h"
|
||||
#include <mach/audio.h>
|
||||
#include <mach/lubbock.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include "lubbock.h"
|
||||
#include "udc.h"
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include "pm.h"
|
||||
#include <mach/smemc.h>
|
||||
#include "smemc.h"
|
||||
|
||||
#include "generic.h"
|
||||
#include "devices.h"
|
||||
@ -132,6 +131,13 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = {
|
||||
// no D+ pullup; lubbock can't connect/disconnect in software
|
||||
};
|
||||
|
||||
static struct resource lubbock_udc_resources[] = {
|
||||
DEFINE_RES_MEM(0x40600000, 0x10000),
|
||||
DEFINE_RES_IRQ(IRQ_USB),
|
||||
DEFINE_RES_IRQ(LUBBOCK_USB_IRQ),
|
||||
DEFINE_RES_IRQ(LUBBOCK_USB_DISC_IRQ),
|
||||
};
|
||||
|
||||
/* GPIOs for SA1111 PCMCIA */
|
||||
static struct gpiod_lookup_table sa1111_pcmcia_gpio_table = {
|
||||
.dev_id = "1800",
|
||||
@ -497,6 +503,9 @@ static void __init lubbock_init(void)
|
||||
lubbock_init_pcmcia();
|
||||
|
||||
clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL);
|
||||
/* lubbock has two extra IRQs */
|
||||
pxa25x_device_udc.resource = lubbock_udc_resources;
|
||||
pxa25x_device_udc.num_resources = ARRAY_SIZE(lubbock_udc_resources);
|
||||
pxa_set_udc_info(&udc_info);
|
||||
pxa_set_fb_info(NULL, &sharp_lm8v31);
|
||||
pxa_set_mci_info(&lubbock_mci_platform_data);
|
||||
|
@ -1,13 +1,11 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* arch/arm/mach-pxa/include/mach/lubbock.h
|
||||
*
|
||||
* Author: Nicolas Pitre
|
||||
* Created: Jun 15, 2001
|
||||
* Copyright: MontaVista Software Inc.
|
||||
*/
|
||||
|
||||
#include <mach/irqs.h>
|
||||
#include "irqs.h"
|
||||
|
||||
#define LUBBOCK_ETH_PHYS PXA_CS3_PHYS
|
||||
|
@ -29,13 +29,13 @@
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/platform_data/i2c-pxa.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/system_info.h>
|
||||
|
||||
#include "pxa27x.h"
|
||||
#include <mach/magician.h>
|
||||
#include "addr-map.h"
|
||||
#include "magician.h"
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
@ -53,6 +53,7 @@
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/spi/pxa2xx_spi.h>
|
||||
#include <linux/spi/ads7846.h>
|
||||
#include <sound/uda1380.h>
|
||||
|
||||
static unsigned long magician_pin_config[] __initdata = {
|
||||
|
||||
@ -681,7 +682,7 @@ static struct platform_device bq24022 = {
|
||||
static struct gpiod_lookup_table bq24022_gpiod_table = {
|
||||
.dev_id = "gpio-regulator",
|
||||
.table = {
|
||||
GPIO_LOOKUP("gpio-pxa", EGPIO_MAGICIAN_BQ24022_ISET2,
|
||||
GPIO_LOOKUP("htc-egpio-0", EGPIO_MAGICIAN_BQ24022_ISET2 - MAGICIAN_EGPIO_BASE,
|
||||
NULL, GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("gpio-pxa", GPIO30_MAGICIAN_BQ24022_nCHARGE_EN,
|
||||
"enable", GPIO_ACTIVE_LOW),
|
||||
@ -898,6 +899,53 @@ static struct platform_device strataflash = {
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* audio support
|
||||
*/
|
||||
static struct uda1380_platform_data uda1380_info = {
|
||||
.gpio_power = EGPIO_MAGICIAN_CODEC_POWER,
|
||||
.gpio_reset = EGPIO_MAGICIAN_CODEC_RESET,
|
||||
.dac_clk = UDA1380_DAC_CLK_WSPLL,
|
||||
};
|
||||
|
||||
static struct i2c_board_info magician_audio_i2c_board_info[] = {
|
||||
{
|
||||
I2C_BOARD_INFO("uda1380", 0x18),
|
||||
.platform_data = &uda1380_info,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table magician_audio_gpio_table = {
|
||||
.dev_id = "magician-audio",
|
||||
.table = {
|
||||
GPIO_LOOKUP("htc-egpio-0",
|
||||
EGPIO_MAGICIAN_SPK_POWER - MAGICIAN_EGPIO_BASE,
|
||||
"SPK_POWER", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("htc-egpio-0",
|
||||
EGPIO_MAGICIAN_EP_POWER - MAGICIAN_EGPIO_BASE,
|
||||
"EP_POWER", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("htc-egpio-0",
|
||||
EGPIO_MAGICIAN_MIC_POWER - MAGICIAN_EGPIO_BASE,
|
||||
"MIC_POWER", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("htc-egpio-0",
|
||||
EGPIO_MAGICIAN_IN_SEL0 - MAGICIAN_EGPIO_BASE,
|
||||
"IN_SEL0", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("htc-egpio-0",
|
||||
EGPIO_MAGICIAN_IN_SEL1 - MAGICIAN_EGPIO_BASE,
|
||||
"IN_SEL1", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static void magician_audio_init(void)
|
||||
{
|
||||
i2c_register_board_info(0,
|
||||
ARRAY_AND_SIZE(magician_audio_i2c_board_info));
|
||||
|
||||
gpiod_add_lookup_table(&magician_audio_gpio_table);
|
||||
platform_device_register_simple("magician-audio", -1, NULL, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* PXA I2C main controller
|
||||
*/
|
||||
@ -1048,6 +1096,8 @@ static void __init magician_init(void)
|
||||
gpiod_add_lookup_table(&bq24022_gpiod_table);
|
||||
gpiod_add_lookup_table(&gpio_vbus_gpiod_table);
|
||||
platform_add_devices(ARRAY_AND_SIZE(devices));
|
||||
|
||||
magician_audio_init();
|
||||
}
|
||||
|
||||
MACHINE_START(MAGICIAN, "HTC Magician")
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define _MAGICIAN_H_
|
||||
|
||||
#include <linux/gpio.h>
|
||||
#include <mach/irqs.h>
|
||||
#include "irqs.h"
|
||||
|
||||
/*
|
||||
* PXA GPIOs
|
@ -35,7 +35,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
@ -45,14 +44,15 @@
|
||||
#include <asm/mach/flash.h>
|
||||
|
||||
#include "pxa27x.h"
|
||||
#include <mach/mainstone.h>
|
||||
#include <mach/audio.h>
|
||||
#include "mainstone.h"
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <linux/platform_data/keypad-pxa27x.h>
|
||||
#include <mach/smemc.h>
|
||||
#include "addr-map.h"
|
||||
#include "smemc.h"
|
||||
|
||||
#include "generic.h"
|
||||
#include "devices.h"
|
||||
@ -548,6 +548,14 @@ static struct gpiod_lookup_table mainstone_pcmcia_gpio_table = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table mainstone_wm97xx_gpio_table = {
|
||||
.dev_id = "wm97xx-touch",
|
||||
.table = {
|
||||
GPIO_LOOKUP("gpio-pxa", 4, "touch", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static void __init mainstone_init(void)
|
||||
{
|
||||
int SW7 = 0; /* FIXME: get from SCR (Mst doc section 3.2.1.1) */
|
||||
@ -562,6 +570,7 @@ static void __init mainstone_init(void)
|
||||
"mst-pcmcia1", MST_PCMCIA_INPUTS, 0, NULL,
|
||||
NULL, mst_pcmcia1_irqs);
|
||||
gpiod_add_lookup_table(&mainstone_pcmcia_gpio_table);
|
||||
gpiod_add_lookup_table(&mainstone_wm97xx_gpio_table);
|
||||
|
||||
pxa_set_ffuart_info(NULL);
|
||||
pxa_set_btuart_info(NULL);
|
||||
|
@ -1,7 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* arch/arm/mach-pxa/include/mach/mainstone.h
|
||||
*
|
||||
* Author: Nicolas Pitre
|
||||
* Created: Nov 14, 2002
|
||||
* Copyright: MontaVista Software Inc.
|
||||
@ -10,7 +8,7 @@
|
||||
#ifndef ASM_ARCH_MAINSTONE_H
|
||||
#define ASM_ARCH_MAINSTONE_H
|
||||
|
||||
#include <mach/irqs.h>
|
||||
#include "irqs.h"
|
||||
|
||||
#define MST_ETH_PHYS PXA_CS4_PHYS
|
||||
|
@ -16,8 +16,9 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/soc/pxa/cpu.h>
|
||||
|
||||
#include <mach/pxa2xx-regs.h>
|
||||
#include "pxa2xx-regs.h"
|
||||
#include "mfp-pxa2xx.h"
|
||||
|
||||
#include "generic.h"
|
||||
|
@ -2,7 +2,7 @@
|
||||
#ifndef __ASM_ARCH_MFP_PXA2XX_H
|
||||
#define __ASM_ARCH_MFP_PXA2XX_H
|
||||
|
||||
#include <plat/mfp.h>
|
||||
#include <linux/soc/pxa/mfp.h>
|
||||
|
||||
/*
|
||||
* the following MFP_xxx bit definitions in mfp.h are re-used for pxa2xx:
|
||||
|
@ -16,9 +16,8 @@
|
||||
#include <linux/io.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include "mfp-pxa3xx.h"
|
||||
#include <mach/pxa3xx-regs.h>
|
||||
#include "pxa3xx-regs.h"
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
/*
|
||||
|
@ -2,7 +2,7 @@
|
||||
#ifndef __ASM_ARCH_MFP_PXA3XX_H
|
||||
#define __ASM_ARCH_MFP_PXA3XX_H
|
||||
|
||||
#include <plat/mfp.h>
|
||||
#include <linux/soc/pxa/mfp.h>
|
||||
|
||||
#define MFPR_BASE (0x40e10000)
|
||||
|
||||
|
@ -13,6 +13,6 @@
|
||||
#ifndef __ASM_ARCH_MFP_H
|
||||
#define __ASM_ARCH_MFP_H
|
||||
|
||||
#include <plat/mfp.h>
|
||||
#include <linux/soc/pxa/mfp.h>
|
||||
|
||||
#endif /* __ASM_ARCH_MFP_H */
|
@ -41,8 +41,8 @@
|
||||
#include "udc.h"
|
||||
#include "pxa27x-udc.h"
|
||||
#include <linux/platform_data/media/camera-pxa.h>
|
||||
#include <mach/audio.h>
|
||||
#include <mach/smemc.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include "smemc.h"
|
||||
|
||||
#include "mioa701.h"
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include "pxa320.h"
|
||||
|
||||
#include "mxm8x10.h"
|
||||
@ -356,14 +357,9 @@ void __init mxm_8x10_usb_host_init(void)
|
||||
pxa_set_ohci_info(&mxm_8x10_ohci_platform_data);
|
||||
}
|
||||
|
||||
/* AC97 Sound Support */
|
||||
static struct platform_device mxm_8x10_ac97_device = {
|
||||
.name = "pxa2xx-ac97"
|
||||
};
|
||||
|
||||
void __init mxm_8x10_ac97_init(void)
|
||||
{
|
||||
platform_device_register(&mxm_8x10_ac97_device);
|
||||
pxa_set_ac97_info(NULL);
|
||||
}
|
||||
|
||||
/* NAND flash Support */
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include "pxa27x.h"
|
||||
#include <mach/audio.h>
|
||||
#include <linux/platform_data/asoc-pxa.h>
|
||||
#include <linux/platform_data/mmc-pxamci.h>
|
||||
#include <linux/platform_data/video-pxafb.h>
|
||||
#include <linux/platform_data/irda-pxaficp.h>
|
||||
|
@ -13,8 +13,9 @@
|
||||
#include <linux/gpio.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <mach/palmld.h>
|
||||
#include "soc_common.h"
|
||||
#include <pcmcia/soc_common.h>
|
||||
|
||||
#include "palmld.h"
|
||||
|
||||
static struct gpio palmld_pcmcia_gpios[] = {
|
||||
{ GPIO_NR_PALMLD_PCMCIA_POWER, GPIOF_INIT_LOW, "PCMCIA Power" },
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user