mirror of
https://github.com/torvalds/linux.git
synced 2024-11-19 02:21:47 +00:00
Merge branch 'omap-boards' into omap-for-linus
This commit is contained in:
commit
df760137ad
@ -107,10 +107,6 @@ void (*dev_config) (struct ata_port *, struct ata_device *);
|
||||
issue of SET FEATURES - XFER MODE, and prior to operation.
|
||||
</para>
|
||||
<para>
|
||||
Called by ata_device_add() after ata_dev_identify() determines
|
||||
a device is present.
|
||||
</para>
|
||||
<para>
|
||||
This entry may be specified as NULL in ata_port_operations.
|
||||
</para>
|
||||
|
||||
@ -154,8 +150,8 @@ unsigned int (*mode_filter) (struct ata_port *, struct ata_device *, unsigned in
|
||||
|
||||
<sect2><title>Taskfile read/write</title>
|
||||
<programlisting>
|
||||
void (*tf_load) (struct ata_port *ap, struct ata_taskfile *tf);
|
||||
void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf);
|
||||
void (*sff_tf_load) (struct ata_port *ap, struct ata_taskfile *tf);
|
||||
void (*sff_tf_read) (struct ata_port *ap, struct ata_taskfile *tf);
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
@ -164,36 +160,35 @@ void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf);
|
||||
hardware registers / DMA buffers, to obtain the current set of
|
||||
taskfile register values.
|
||||
Most drivers for taskfile-based hardware (PIO or MMIO) use
|
||||
ata_tf_load() and ata_tf_read() for these hooks.
|
||||
ata_sff_tf_load() and ata_sff_tf_read() for these hooks.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2><title>PIO data read/write</title>
|
||||
<programlisting>
|
||||
void (*data_xfer) (struct ata_device *, unsigned char *, unsigned int, int);
|
||||
void (*sff_data_xfer) (struct ata_device *, unsigned char *, unsigned int, int);
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
All bmdma-style drivers must implement this hook. This is the low-level
|
||||
operation that actually copies the data bytes during a PIO data
|
||||
transfer.
|
||||
Typically the driver
|
||||
will choose one of ata_pio_data_xfer_noirq(), ata_pio_data_xfer(), or
|
||||
ata_mmio_data_xfer().
|
||||
Typically the driver will choose one of ata_sff_data_xfer_noirq(),
|
||||
ata_sff_data_xfer(), or ata_sff_data_xfer32().
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2><title>ATA command execute</title>
|
||||
<programlisting>
|
||||
void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf);
|
||||
void (*sff_exec_command)(struct ata_port *ap, struct ata_taskfile *tf);
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
causes an ATA command, previously loaded with
|
||||
->tf_load(), to be initiated in hardware.
|
||||
Most drivers for taskfile-based hardware use ata_exec_command()
|
||||
Most drivers for taskfile-based hardware use ata_sff_exec_command()
|
||||
for this hook.
|
||||
</para>
|
||||
|
||||
@ -218,8 +213,8 @@ command.
|
||||
|
||||
<sect2><title>Read specific ATA shadow registers</title>
|
||||
<programlisting>
|
||||
u8 (*check_status)(struct ata_port *ap);
|
||||
u8 (*check_altstatus)(struct ata_port *ap);
|
||||
u8 (*sff_check_status)(struct ata_port *ap);
|
||||
u8 (*sff_check_altstatus)(struct ata_port *ap);
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
@ -227,20 +222,14 @@ u8 (*check_altstatus)(struct ata_port *ap);
|
||||
hardware. On some hardware, reading the Status register has
|
||||
the side effect of clearing the interrupt condition.
|
||||
Most drivers for taskfile-based hardware use
|
||||
ata_check_status() for this hook.
|
||||
</para>
|
||||
<para>
|
||||
Note that because this is called from ata_device_add(), at
|
||||
least a dummy function that clears device interrupts must be
|
||||
provided for all drivers, even if the controller doesn't
|
||||
actually have a taskfile status register.
|
||||
ata_sff_check_status() for this hook.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2><title>Select ATA device on bus</title>
|
||||
<programlisting>
|
||||
void (*dev_select)(struct ata_port *ap, unsigned int device);
|
||||
void (*sff_dev_select)(struct ata_port *ap, unsigned int device);
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
@ -251,9 +240,7 @@ void (*dev_select)(struct ata_port *ap, unsigned int device);
|
||||
</para>
|
||||
<para>
|
||||
Most drivers for taskfile-based hardware use
|
||||
ata_std_dev_select() for this hook. Controllers which do not
|
||||
support second drives on a port (such as SATA contollers) will
|
||||
use ata_noop_dev_select().
|
||||
ata_sff_dev_select() for this hook.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
@ -441,13 +428,13 @@ void (*irq_clear) (struct ata_port *);
|
||||
to struct ata_host_set.
|
||||
</para>
|
||||
<para>
|
||||
Most legacy IDE drivers use ata_interrupt() for the
|
||||
Most legacy IDE drivers use ata_sff_interrupt() for the
|
||||
irq_handler hook, which scans all ports in the host_set,
|
||||
determines which queued command was active (if any), and calls
|
||||
ata_host_intr(ap,qc).
|
||||
ata_sff_host_intr(ap,qc).
|
||||
</para>
|
||||
<para>
|
||||
Most legacy IDE drivers use ata_bmdma_irq_clear() for the
|
||||
Most legacy IDE drivers use ata_sff_irq_clear() for the
|
||||
irq_clear() hook, which simply clears the interrupt and error
|
||||
flags in the DMA status register.
|
||||
</para>
|
||||
@ -496,10 +483,6 @@ void (*host_stop) (struct ata_host_set *host_set);
|
||||
data from port at this time.
|
||||
</para>
|
||||
<para>
|
||||
Many drivers use ata_port_stop() as this hook, which frees the
|
||||
PRD table.
|
||||
</para>
|
||||
<para>
|
||||
->host_stop() is called after all ->port_stop() calls
|
||||
have completed. The hook must finalize hardware shutdown, release DMA
|
||||
and other resources, etc.
|
||||
|
@ -589,3 +589,26 @@ Why: Useful in 2003, implementation is a hack.
|
||||
Generally invoked by accident today.
|
||||
Seen as doing more harm than good.
|
||||
Who: Len Brown <len.brown@intel.com>
|
||||
|
||||
----------------------------
|
||||
|
||||
What: video4linux /dev/vtx teletext API support
|
||||
When: 2.6.35
|
||||
Files: drivers/media/video/saa5246a.c drivers/media/video/saa5249.c
|
||||
include/linux/videotext.h
|
||||
Why: The vtx device nodes have been superseded by vbi device nodes
|
||||
for many years. No applications exist that use the vtx support.
|
||||
Of the two i2c drivers that actually support this API the saa5249
|
||||
has been impossible to use for a year now and no known hardware
|
||||
that supports this device exists. The saa5246a is theoretically
|
||||
supported by the old mxb boards, but it never actually worked.
|
||||
|
||||
In summary: there is no hardware that can use this API and there
|
||||
are no applications actually implementing this API.
|
||||
|
||||
The vtx support still reserves minors 192-223 and we would really
|
||||
like to reuse those for upcoming new functionality. In the unlikely
|
||||
event that new hardware appears that wants to use the functionality
|
||||
provided by the vtx API, then that functionality should be build
|
||||
around the sliced VBI API instead.
|
||||
Who: Hans Verkuil <hverkuil@xs4all.nl>
|
||||
|
@ -74,6 +74,11 @@ structure at all. You should use this to keep device-specific data.
|
||||
/* retrieve the value */
|
||||
void *i2c_get_clientdata(const struct i2c_client *client);
|
||||
|
||||
Note that starting with kernel 2.6.34, you don't have to set the `data' field
|
||||
to NULL in remove() or if probe() failed anymore. The i2c-core does this
|
||||
automatically on these occasions. Those are also the only times the core will
|
||||
touch this field.
|
||||
|
||||
|
||||
Accessing the client
|
||||
====================
|
||||
|
@ -333,14 +333,14 @@ byte 0:
|
||||
byte 1:
|
||||
|
||||
bit 7 6 5 4 3 2 1 0
|
||||
x15 x14 x13 x12 x11 x10 x9 x8
|
||||
. . . . . x10 x9 x8
|
||||
|
||||
byte 2:
|
||||
|
||||
bit 7 6 5 4 3 2 1 0
|
||||
x7 x6 x5 x4 x4 x2 x1 x0
|
||||
|
||||
x15..x0 = absolute x value (horizontal)
|
||||
x10..x0 = absolute x value (horizontal)
|
||||
|
||||
byte 3:
|
||||
|
||||
@ -350,14 +350,14 @@ byte 3:
|
||||
byte 4:
|
||||
|
||||
bit 7 6 5 4 3 2 1 0
|
||||
y15 y14 y13 y12 y11 y10 y8 y8
|
||||
. . . . . . y9 y8
|
||||
|
||||
byte 5:
|
||||
|
||||
bit 7 6 5 4 3 2 1 0
|
||||
y7 y6 y5 y4 y3 y2 y1 y0
|
||||
|
||||
y15..y0 = absolute y value (vertical)
|
||||
y9..y0 = absolute y value (vertical)
|
||||
|
||||
|
||||
4.2.2 Two finger touch
|
||||
|
@ -58,7 +58,7 @@ static void transfer(int fd)
|
||||
};
|
||||
|
||||
ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);
|
||||
if (ret == 1)
|
||||
if (ret < 1)
|
||||
pabort("can't send spi message");
|
||||
|
||||
for (ret = 0; ret < ARRAY_SIZE(tx); ret++) {
|
||||
|
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 34
|
||||
EXTRAVERSION = -rc6
|
||||
EXTRAVERSION = -rc7
|
||||
NAME = Sheep on Meth
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
@ -685,8 +685,8 @@ proc_types:
|
||||
W(b) __armv4_mmu_cache_off
|
||||
W(b) __armv4_mmu_cache_flush
|
||||
|
||||
.word 0x56056930
|
||||
.word 0xff0ffff0 @ PXA935
|
||||
.word 0x56056900
|
||||
.word 0xffffff00 @ PXA9xx
|
||||
W(b) __armv4_mmu_cache_on
|
||||
W(b) __armv4_mmu_cache_off
|
||||
W(b) __armv4_mmu_cache_flush
|
||||
@ -697,12 +697,6 @@ proc_types:
|
||||
W(b) __armv4_mmu_cache_off
|
||||
W(b) __armv5tej_mmu_cache_flush
|
||||
|
||||
.word 0x56056930
|
||||
.word 0xff0ffff0 @ PXA935
|
||||
W(b) __armv4_mmu_cache_on
|
||||
W(b) __armv4_mmu_cache_off
|
||||
W(b) __armv4_mmu_cache_flush
|
||||
|
||||
.word 0x56050000 @ Feroceon
|
||||
.word 0xff0f0000
|
||||
W(b) __armv4_mmu_cache_on
|
||||
|
@ -422,15 +422,29 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_CAN is not set
|
||||
CONFIG_CAN=y
|
||||
CONFIG_CAN_RAW=y
|
||||
CONFIG_CAN_BCM=y
|
||||
|
||||
#
|
||||
# CAN Device Drivers
|
||||
#
|
||||
CONFIG_CAN_VCAN=y
|
||||
CONFIG_CAN_DEV=y
|
||||
CONFIG_CAN_CALC_BITTIMING=y
|
||||
CONFIG_CAN_TI_HECC=y
|
||||
# CONFIG_CAN_SJA1000 is not set
|
||||
|
||||
#
|
||||
# CAN USB interfaces
|
||||
#
|
||||
# CONFIG_CAN_EMS_USB is not set
|
||||
CONFIG_CAN_DEBUG_DEVICES=y
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
CONFIG_WIRELESS=y
|
||||
# CONFIG_CFG80211 is not set
|
||||
CONFIG_CFG80211_DEFAULT_PS_VALUE=0
|
||||
# CONFIG_WIRELESS_OLD_REGULATORY is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_LIB80211 is not set
|
||||
|
||||
#
|
||||
@ -517,7 +531,75 @@ CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_SCSI_OSD_INITIATOR is not set
|
||||
# CONFIG_ATA is not set
|
||||
# CONFIG_MD is not set
|
||||
# CONFIG_NETDEVICES is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
# CONFIG_VETH is not set
|
||||
CONFIG_PHYLIB=y
|
||||
|
||||
#
|
||||
# MII PHY device drivers
|
||||
#
|
||||
# CONFIG_MARVELL_PHY is not set
|
||||
# CONFIG_DAVICOM_PHY is not set
|
||||
# CONFIG_QSEMI_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_BROADCOM_PHY is not set
|
||||
# CONFIG_ICPLUS_PHY is not set
|
||||
# CONFIG_REALTEK_PHY is not set
|
||||
# CONFIG_NATIONAL_PHY is not set
|
||||
# CONFIG_STE10XP is not set
|
||||
# CONFIG_LSI_ET1011C_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_MII is not set
|
||||
# CONFIG_AX88796 is not set
|
||||
# CONFIG_SMC91X is not set
|
||||
CONFIG_TI_DAVINCI_EMAC=y
|
||||
# CONFIG_DM9000 is not set
|
||||
# CONFIG_ETHOC is not set
|
||||
# CONFIG_SMC911X is not set
|
||||
# CONFIG_SMSC911X is not set
|
||||
# CONFIG_DNET is not set
|
||||
# CONFIG_IBM_NEW_EMAC_ZMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
||||
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
||||
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||
# CONFIG_B44 is not set
|
||||
# CONFIG_KS8842 is not set
|
||||
# CONFIG_KS8851_MLL is not set
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_WLAN is not set
|
||||
|
||||
#
|
||||
# Enable WiMAX (Networking options) to see the WiMAX drivers
|
||||
#
|
||||
|
||||
#
|
||||
# USB Network Adapters
|
||||
#
|
||||
# CONFIG_USB_CATC is not set
|
||||
# CONFIG_USB_KAWETH is not set
|
||||
# CONFIG_USB_PEGASUS is not set
|
||||
# CONFIG_USB_RTL8150 is not set
|
||||
# CONFIG_USB_USBNET is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
|
@ -47,6 +47,7 @@ CONFIG_SYSVIPC_SYSCTL=y
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_TREE_PREEMPT_RCU=y
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
@ -95,9 +96,8 @@ CONFIG_KMOD=y
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
@ -836,7 +836,8 @@ CONFIG_DAB=y
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
|
||||
#
|
||||
# Display device support
|
||||
@ -1284,7 +1285,7 @@ CONFIG_DEBUG_PREEMPT=y
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
# CONFIG_DEBUG_VM is not set
|
||||
# CONFIG_DEBUG_LIST is not set
|
||||
|
@ -1,13 +1,14 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.33-rc6
|
||||
# Thu Feb 4 15:42:56 2010
|
||||
# Linux kernel version: 2.6.34-rc2
|
||||
# Wed Mar 24 13:27:25 2010
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_HAVE_PROC_CPU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
@ -19,7 +20,9 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_ARCH_HAS_CPUFREQ=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||
CONFIG_ARM_L1_CACHE_SHIFT_6=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
CONFIG_CONSTRUCTORS=y
|
||||
@ -60,11 +63,6 @@ CONFIG_RCU_FANOUT=32
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_GROUP_SCHED=y
|
||||
CONFIG_FAIR_GROUP_SCHED=y
|
||||
# CONFIG_RT_GROUP_SCHED is not set
|
||||
CONFIG_USER_SCHED=y
|
||||
# CONFIG_CGROUP_SCHED is not set
|
||||
# CONFIG_CGROUPS is not set
|
||||
# CONFIG_SYSFS_DEPRECATED_V2 is not set
|
||||
# CONFIG_RELAY is not set
|
||||
@ -96,10 +94,14 @@ CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_AIO=y
|
||||
CONFIG_HAVE_PERF_EVENTS=y
|
||||
CONFIG_PERF_USE_VMALLOC=y
|
||||
|
||||
#
|
||||
# Kernel Performance Events And Counters
|
||||
#
|
||||
# CONFIG_PERF_EVENTS is not set
|
||||
# CONFIG_PERF_COUNTERS is not set
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_COMPAT_BRK=y
|
||||
CONFIG_SLAB=y
|
||||
@ -170,7 +172,7 @@ CONFIG_INLINE_WRITE_UNLOCK=y
|
||||
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
|
||||
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
|
||||
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
|
||||
# CONFIG_FREEZER is not set
|
||||
CONFIG_FREEZER=y
|
||||
|
||||
#
|
||||
# System Type
|
||||
@ -181,6 +183,7 @@ CONFIG_MMU=y
|
||||
# CONFIG_ARCH_REALVIEW is not set
|
||||
# CONFIG_ARCH_VERSATILE is not set
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_ARCH_BCMRING is not set
|
||||
# CONFIG_ARCH_CLPS711X is not set
|
||||
# CONFIG_ARCH_GEMINI is not set
|
||||
# CONFIG_ARCH_EBSA110 is not set
|
||||
@ -190,7 +193,6 @@ CONFIG_MMU=y
|
||||
# CONFIG_ARCH_STMP3XXX is not set
|
||||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_NOMADIK is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IOP32X is not set
|
||||
# CONFIG_ARCH_IOP33X is not set
|
||||
@ -207,21 +209,26 @@ CONFIG_MMU=y
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_W90X900 is not set
|
||||
# CONFIG_ARCH_NUC93X is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
# CONFIG_ARCH_PXA is not set
|
||||
# CONFIG_ARCH_MSM is not set
|
||||
# CONFIG_ARCH_SHMOBILE is not set
|
||||
# CONFIG_ARCH_RPC is not set
|
||||
# CONFIG_ARCH_SA1100 is not set
|
||||
# CONFIG_ARCH_S3C2410 is not set
|
||||
# CONFIG_ARCH_S3C64XX is not set
|
||||
# CONFIG_ARCH_S5P6440 is not set
|
||||
# CONFIG_ARCH_S5P6442 is not set
|
||||
# CONFIG_ARCH_S5PC1XX is not set
|
||||
# CONFIG_ARCH_S5PV210 is not set
|
||||
# CONFIG_ARCH_SHARK is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_U300 is not set
|
||||
# CONFIG_ARCH_U8500 is not set
|
||||
# CONFIG_ARCH_NOMADIK is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
CONFIG_ARCH_OMAP=y
|
||||
# CONFIG_ARCH_BCMRING is not set
|
||||
# CONFIG_ARCH_U8500 is not set
|
||||
|
||||
#
|
||||
# TI OMAP Implementations
|
||||
@ -237,16 +244,20 @@ CONFIG_ARCH_OMAP3=y
|
||||
# OMAP Feature Selections
|
||||
#
|
||||
# CONFIG_OMAP_RESET_CLOCKS is not set
|
||||
# CONFIG_OMAP_MUX is not set
|
||||
CONFIG_OMAP_MUX=y
|
||||
# CONFIG_OMAP_MUX_DEBUG is not set
|
||||
CONFIG_OMAP_MUX_WARNINGS=y
|
||||
CONFIG_OMAP_MCBSP=y
|
||||
# CONFIG_OMAP_MBOX_FWK is not set
|
||||
# CONFIG_OMAP_MPU_TIMER is not set
|
||||
CONFIG_OMAP_32K_TIMER=y
|
||||
# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
|
||||
CONFIG_OMAP_32K_TIMER_HZ=128
|
||||
CONFIG_OMAP_DM_TIMER=y
|
||||
# CONFIG_OMAP_PM_NONE is not set
|
||||
CONFIG_OMAP_PM_NOOP=y
|
||||
CONFIG_ARCH_OMAP3430=y
|
||||
CONFIG_OMAP_PACKAGE_CUS=y
|
||||
|
||||
#
|
||||
# OMAP Board Type
|
||||
@ -295,6 +306,7 @@ CONFIG_ARM_THUMB=y
|
||||
# CONFIG_CPU_BPREDICT_DISABLE is not set
|
||||
CONFIG_HAS_TLS_REG=y
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=6
|
||||
CONFIG_CPU_HAS_PMU=y
|
||||
# CONFIG_ARM_ERRATA_430973 is not set
|
||||
# CONFIG_ARM_ERRATA_458693 is not set
|
||||
# CONFIG_ARM_ERRATA_460075 is not set
|
||||
@ -387,7 +399,14 @@ CONFIG_HAVE_AOUT=y
|
||||
#
|
||||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
CONFIG_PM=y
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
CONFIG_PM_SLEEP=y
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_SUSPEND_FREEZER=y
|
||||
# CONFIG_APM_EMULATION is not set
|
||||
# CONFIG_PM_RUNTIME is not set
|
||||
CONFIG_PM_OPS=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_NET=y
|
||||
|
||||
@ -395,7 +414,6 @@ CONFIG_NET=y
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
@ -666,6 +684,7 @@ CONFIG_HAVE_IDE=y
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
CONFIG_SCSI_MOD=y
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
@ -717,6 +736,7 @@ CONFIG_NET_ETHERNET=y
|
||||
CONFIG_MII=y
|
||||
# CONFIG_AX88796 is not set
|
||||
# CONFIG_SMC91X is not set
|
||||
# CONFIG_TI_DAVINCI_EMAC is not set
|
||||
CONFIG_DM9000=y
|
||||
CONFIG_DM9000_DEBUGLEVEL=4
|
||||
CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
|
||||
@ -863,6 +883,7 @@ CONFIG_SERIAL_8250_RSA=y
|
||||
# CONFIG_SERIAL_MAX3100 is not set
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_TIMBERDALE is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
@ -891,6 +912,7 @@ CONFIG_I2C_HELPER_AUTO=y
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
CONFIG_I2C_OMAP=y
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_XILINX is not set
|
||||
|
||||
#
|
||||
# External I2C/SMBus adapter drivers
|
||||
@ -904,15 +926,9 @@ CONFIG_I2C_OMAP=y
|
||||
#
|
||||
# CONFIG_I2C_PCA_PLATFORM is not set
|
||||
# CONFIG_I2C_STUB is not set
|
||||
|
||||
#
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
# CONFIG_SENSORS_TSL2550 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
CONFIG_SPI=y
|
||||
# CONFIG_SPI_DEBUG is not set
|
||||
CONFIG_SPI_MASTER=y
|
||||
@ -944,10 +960,12 @@ CONFIG_GPIOLIB=y
|
||||
#
|
||||
# Memory mapped GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_IT8761E is not set
|
||||
|
||||
#
|
||||
# I2C GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_MAX7300 is not set
|
||||
# CONFIG_GPIO_MAX732X is not set
|
||||
# CONFIG_GPIO_PCA953X is not set
|
||||
# CONFIG_GPIO_PCF857X is not set
|
||||
@ -984,10 +1002,12 @@ CONFIG_SSB_POSSIBLE=y
|
||||
# Multifunction device drivers
|
||||
#
|
||||
CONFIG_MFD_CORE=y
|
||||
# CONFIG_MFD_88PM860X is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_MFD_ASIC3 is not set
|
||||
# CONFIG_HTC_EGPIO is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_HTC_I2CPLD is not set
|
||||
# CONFIG_TPS65010 is not set
|
||||
CONFIG_TWL4030_CORE=y
|
||||
CONFIG_TWL4030_POWER=y
|
||||
@ -998,22 +1018,25 @@ CONFIG_TWL4030_CODEC=y
|
||||
# CONFIG_MFD_TC6393XB is not set
|
||||
# CONFIG_PMIC_DA903X is not set
|
||||
# CONFIG_PMIC_ADP5520 is not set
|
||||
# CONFIG_MFD_MAX8925 is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
# CONFIG_MFD_WM831X is not set
|
||||
# CONFIG_MFD_WM8350_I2C is not set
|
||||
# CONFIG_MFD_WM8994 is not set
|
||||
# CONFIG_MFD_PCF50633 is not set
|
||||
# CONFIG_MFD_MC13783 is not set
|
||||
# CONFIG_AB3100_CORE is not set
|
||||
# CONFIG_EZX_PCAP is not set
|
||||
# CONFIG_MFD_88PM8607 is not set
|
||||
# CONFIG_AB4500_CORE is not set
|
||||
CONFIG_REGULATOR=y
|
||||
# CONFIG_REGULATOR_DEBUG is not set
|
||||
# CONFIG_REGULATOR_DUMMY is not set
|
||||
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
|
||||
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
|
||||
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
|
||||
# CONFIG_REGULATOR_BQ24022 is not set
|
||||
# CONFIG_REGULATOR_MAX1586 is not set
|
||||
# CONFIG_REGULATOR_MAX8649 is not set
|
||||
# CONFIG_REGULATOR_MAX8660 is not set
|
||||
CONFIG_REGULATOR_TWL4030=y
|
||||
# CONFIG_REGULATOR_LP3971 is not set
|
||||
@ -1072,7 +1095,6 @@ CONFIG_OMAP2_DSS_VENC=y
|
||||
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
|
||||
CONFIG_FB_OMAP2=y
|
||||
CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
|
||||
# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
|
||||
CONFIG_FB_OMAP2_NUM_FBS=3
|
||||
|
||||
#
|
||||
@ -1080,7 +1102,9 @@ CONFIG_FB_OMAP2_NUM_FBS=3
|
||||
#
|
||||
CONFIG_PANEL_GENERIC=y
|
||||
# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
|
||||
CONFIG_PANEL_INNOLUX_AT070TN83=y
|
||||
# CONFIG_PANEL_SHARP_LQ043T1DG01 is not set
|
||||
# CONFIG_PANEL_TOPPOLY_TDO35S is not set
|
||||
# CONFIG_PANEL_TPO_TD043MTEA1 is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
@ -1136,6 +1160,7 @@ CONFIG_SND_ARM=y
|
||||
CONFIG_SND_SPI=y
|
||||
CONFIG_SND_USB=y
|
||||
# CONFIG_SND_USB_AUDIO is not set
|
||||
# CONFIG_SND_USB_UA101 is not set
|
||||
# CONFIG_SND_USB_CAIAQ is not set
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_OMAP_SOC=y
|
||||
@ -1147,42 +1172,44 @@ CONFIG_SND_SOC_TWL4030=y
|
||||
# CONFIG_SOUND_PRIME is not set
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
CONFIG_HIDRAW=y
|
||||
# CONFIG_HIDRAW is not set
|
||||
|
||||
#
|
||||
# USB Input Devices
|
||||
#
|
||||
CONFIG_USB_HID=y
|
||||
# CONFIG_HID_PID is not set
|
||||
CONFIG_USB_HIDDEV=y
|
||||
# CONFIG_USB_HIDDEV is not set
|
||||
|
||||
#
|
||||
# Special HID drivers
|
||||
#
|
||||
CONFIG_HID_A4TECH=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
# CONFIG_HID_3M_PCT is not set
|
||||
# CONFIG_HID_A4TECH is not set
|
||||
# CONFIG_HID_APPLE is not set
|
||||
# CONFIG_HID_BELKIN is not set
|
||||
# CONFIG_HID_CHERRY is not set
|
||||
# CONFIG_HID_CHICONY is not set
|
||||
# CONFIG_HID_CYPRESS is not set
|
||||
# CONFIG_HID_DRAGONRISE is not set
|
||||
CONFIG_HID_EZKEY=y
|
||||
# CONFIG_HID_EZKEY is not set
|
||||
# CONFIG_HID_KYE is not set
|
||||
CONFIG_HID_GYRATION=y
|
||||
# CONFIG_HID_GYRATION is not set
|
||||
# CONFIG_HID_TWINHAN is not set
|
||||
# CONFIG_HID_KENSINGTON is not set
|
||||
CONFIG_HID_LOGITECH=y
|
||||
# CONFIG_LOGITECH_FF is not set
|
||||
# CONFIG_LOGIRUMBLEPAD2_FF is not set
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
# CONFIG_HID_LOGITECH is not set
|
||||
# CONFIG_HID_MICROSOFT is not set
|
||||
# CONFIG_HID_MOSART is not set
|
||||
# CONFIG_HID_MONTEREY is not set
|
||||
# CONFIG_HID_NTRIG is not set
|
||||
CONFIG_HID_PANTHERLORD=y
|
||||
# CONFIG_PANTHERLORD_FF is not set
|
||||
CONFIG_HID_PETALYNX=y
|
||||
CONFIG_HID_SAMSUNG=y
|
||||
CONFIG_HID_SONY=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
# CONFIG_HID_ORTEK is not set
|
||||
# CONFIG_HID_PANTHERLORD is not set
|
||||
# CONFIG_HID_PETALYNX is not set
|
||||
# CONFIG_HID_QUANTA is not set
|
||||
# CONFIG_HID_SAMSUNG is not set
|
||||
# CONFIG_HID_SONY is not set
|
||||
# CONFIG_HID_STANTUM is not set
|
||||
# CONFIG_HID_SUNPLUS is not set
|
||||
# CONFIG_HID_GREENASIA is not set
|
||||
# CONFIG_HID_SMARTJOYPLUS is not set
|
||||
# CONFIG_HID_TOPSEED is not set
|
||||
@ -1193,7 +1220,7 @@ CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
CONFIG_USB=y
|
||||
# CONFIG_USB_DEBUG is not set
|
||||
CONFIG_USB_DEBUG=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
|
||||
#
|
||||
@ -1202,7 +1229,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
# CONFIG_USB_DEVICEFS is not set
|
||||
# CONFIG_USB_DEVICE_CLASS is not set
|
||||
# CONFIG_USB_DYNAMIC_MINORS is not set
|
||||
# CONFIG_USB_OTG is not set
|
||||
CONFIG_USB_OTG=y
|
||||
# CONFIG_USB_OTG_WHITELIST is not set
|
||||
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
|
||||
CONFIG_USB_MON=y
|
||||
@ -1230,15 +1257,15 @@ CONFIG_USB_MUSB_SOC=y
|
||||
#
|
||||
# OMAP 343x high speed USB support
|
||||
#
|
||||
CONFIG_USB_MUSB_HOST=y
|
||||
# CONFIG_USB_MUSB_HOST is not set
|
||||
# CONFIG_USB_MUSB_PERIPHERAL is not set
|
||||
# CONFIG_USB_MUSB_OTG is not set
|
||||
# CONFIG_USB_GADGET_MUSB_HDRC is not set
|
||||
CONFIG_USB_MUSB_OTG=y
|
||||
CONFIG_USB_GADGET_MUSB_HDRC=y
|
||||
CONFIG_USB_MUSB_HDRC_HCD=y
|
||||
# CONFIG_MUSB_PIO_ONLY is not set
|
||||
CONFIG_USB_INVENTRA_DMA=y
|
||||
# CONFIG_USB_TI_CPPI_DMA is not set
|
||||
# CONFIG_USB_MUSB_DEBUG is not set
|
||||
CONFIG_USB_MUSB_DEBUG=y
|
||||
|
||||
#
|
||||
# USB Device Class drivers
|
||||
@ -1291,7 +1318,6 @@ CONFIG_USB_STORAGE=m
|
||||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_BERRY_CHARGE is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
@ -1304,9 +1330,8 @@ CONFIG_USB_STORAGE=m
|
||||
# CONFIG_USB_IOWARRIOR is not set
|
||||
# CONFIG_USB_TEST is not set
|
||||
# CONFIG_USB_ISIGHTFW is not set
|
||||
# CONFIG_USB_VST is not set
|
||||
CONFIG_USB_GADGET=y
|
||||
# CONFIG_USB_GADGET_DEBUG is not set
|
||||
CONFIG_USB_GADGET_DEBUG=y
|
||||
# CONFIG_USB_GADGET_DEBUG_FILES is not set
|
||||
CONFIG_USB_GADGET_VBUS_DRAW=2
|
||||
CONFIG_USB_GADGET_SELECTED=y
|
||||
@ -1314,8 +1339,7 @@ CONFIG_USB_GADGET_SELECTED=y
|
||||
# CONFIG_USB_GADGET_ATMEL_USBA is not set
|
||||
# CONFIG_USB_GADGET_FSL_USB2 is not set
|
||||
# CONFIG_USB_GADGET_LH7A40X is not set
|
||||
CONFIG_USB_GADGET_OMAP=y
|
||||
CONFIG_USB_OMAP=y
|
||||
# CONFIG_USB_GADGET_OMAP is not set
|
||||
# CONFIG_USB_GADGET_PXA25X is not set
|
||||
# CONFIG_USB_GADGET_R8A66597 is not set
|
||||
# CONFIG_USB_GADGET_PXA27X is not set
|
||||
@ -1330,19 +1354,20 @@ CONFIG_USB_OMAP=y
|
||||
# CONFIG_USB_GADGET_GOKU is not set
|
||||
# CONFIG_USB_GADGET_LANGWELL is not set
|
||||
# CONFIG_USB_GADGET_DUMMY_HCD is not set
|
||||
# CONFIG_USB_GADGET_DUALSPEED is not set
|
||||
CONFIG_USB_GADGET_DUALSPEED=y
|
||||
# CONFIG_USB_ZERO is not set
|
||||
CONFIG_USB_AUDIO=m
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_ETH_RNDIS=y
|
||||
CONFIG_USB_ETH_EEM=y
|
||||
CONFIG_USB_GADGETFS=m
|
||||
# CONFIG_USB_AUDIO is not set
|
||||
CONFIG_USB_ETH=y
|
||||
# CONFIG_USB_ETH_RNDIS is not set
|
||||
# CONFIG_USB_ETH_EEM is not set
|
||||
# CONFIG_USB_GADGETFS is not set
|
||||
# CONFIG_USB_FILE_STORAGE is not set
|
||||
# CONFIG_USB_MASS_STORAGE is not set
|
||||
CONFIG_USB_G_SERIAL=m
|
||||
# CONFIG_USB_G_SERIAL is not set
|
||||
# CONFIG_USB_MIDI_GADGET is not set
|
||||
CONFIG_USB_G_PRINTER=m
|
||||
# CONFIG_USB_G_PRINTER is not set
|
||||
# CONFIG_USB_CDC_COMPOSITE is not set
|
||||
# CONFIG_USB_G_NOKIA is not set
|
||||
# CONFIG_USB_G_MULTI is not set
|
||||
|
||||
#
|
||||
@ -1373,8 +1398,6 @@ CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=m
|
||||
# CONFIG_MMC_OMAP is not set
|
||||
CONFIG_MMC_OMAP_HS=y
|
||||
# CONFIG_MMC_AT91 is not set
|
||||
# CONFIG_MMC_ATMELMCI is not set
|
||||
CONFIG_MMC_SPI=m
|
||||
# CONFIG_MEMSTICK is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
@ -1392,11 +1415,11 @@ CONFIG_LEDS_GPIO_PLATFORM=y
|
||||
# CONFIG_LEDS_REGULATOR is not set
|
||||
# CONFIG_LEDS_BD2802 is not set
|
||||
# CONFIG_LEDS_LT3593 is not set
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
# CONFIG_LEDS_TRIGGER_TIMER is not set
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
|
||||
@ -1580,6 +1603,7 @@ CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_LZO=y
|
||||
CONFIG_UBIFS_FS_ZLIB=y
|
||||
# CONFIG_UBIFS_FS_DEBUG is not set
|
||||
# CONFIG_LOGFS is not set
|
||||
CONFIG_CRAMFS=y
|
||||
# CONFIG_SQUASHFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
@ -1606,6 +1630,7 @@ CONFIG_SUNRPC_GSS=y
|
||||
CONFIG_RPCSEC_GSS_KRB5=y
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CEPH_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
|
@ -1,13 +1,14 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.33-rc8
|
||||
# Sat Feb 13 21:48:53 2010
|
||||
# Linux kernel version: 2.6.34-rc2
|
||||
# Thu Apr 8 14:49:08 2010
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_HAVE_PROC_CPU=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
@ -19,6 +20,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_ARCH_HAS_CPUFREQ=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_ARCH_MTD_XIP=y
|
||||
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
@ -60,11 +62,6 @@ CONFIG_RCU_FANOUT=32
|
||||
# CONFIG_TREE_RCU_TRACE is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_GROUP_SCHED=y
|
||||
CONFIG_FAIR_GROUP_SCHED=y
|
||||
# CONFIG_RT_GROUP_SCHED is not set
|
||||
CONFIG_USER_SCHED=y
|
||||
# CONFIG_CGROUP_SCHED is not set
|
||||
# CONFIG_CGROUPS is not set
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
@ -97,10 +94,14 @@ CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_AIO=y
|
||||
CONFIG_HAVE_PERF_EVENTS=y
|
||||
CONFIG_PERF_USE_VMALLOC=y
|
||||
|
||||
#
|
||||
# Kernel Performance Events And Counters
|
||||
#
|
||||
# CONFIG_PERF_EVENTS is not set
|
||||
# CONFIG_PERF_COUNTERS is not set
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
@ -184,6 +185,7 @@ CONFIG_MMU=y
|
||||
# CONFIG_ARCH_REALVIEW is not set
|
||||
# CONFIG_ARCH_VERSATILE is not set
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_ARCH_BCMRING is not set
|
||||
# CONFIG_ARCH_CLPS711X is not set
|
||||
# CONFIG_ARCH_GEMINI is not set
|
||||
# CONFIG_ARCH_EBSA110 is not set
|
||||
@ -193,7 +195,6 @@ CONFIG_MMU=y
|
||||
# CONFIG_ARCH_STMP3XXX is not set
|
||||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_NOMADIK is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IOP32X is not set
|
||||
# CONFIG_ARCH_IOP33X is not set
|
||||
@ -210,21 +211,26 @@ CONFIG_MMU=y
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_W90X900 is not set
|
||||
# CONFIG_ARCH_NUC93X is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
# CONFIG_ARCH_MSM is not set
|
||||
# CONFIG_ARCH_SHMOBILE is not set
|
||||
# CONFIG_ARCH_RPC is not set
|
||||
# CONFIG_ARCH_SA1100 is not set
|
||||
# CONFIG_ARCH_S3C2410 is not set
|
||||
# CONFIG_ARCH_S3C64XX is not set
|
||||
# CONFIG_ARCH_S5P6440 is not set
|
||||
# CONFIG_ARCH_S5P6442 is not set
|
||||
# CONFIG_ARCH_S5PC1XX is not set
|
||||
# CONFIG_ARCH_S5PV210 is not set
|
||||
# CONFIG_ARCH_SHARK is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_U300 is not set
|
||||
# CONFIG_ARCH_U8500 is not set
|
||||
# CONFIG_ARCH_NOMADIK is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_ARCH_OMAP is not set
|
||||
# CONFIG_ARCH_BCMRING is not set
|
||||
# CONFIG_ARCH_U8500 is not set
|
||||
|
||||
#
|
||||
# Intel PXA2xx/PXA3xx Implementations
|
||||
@ -253,6 +259,7 @@ CONFIG_ARCH_PXA=y
|
||||
# CONFIG_MACH_EM_X270 is not set
|
||||
# CONFIG_MACH_EXEDA is not set
|
||||
# CONFIG_MACH_CM_X300 is not set
|
||||
# CONFIG_MACH_CAPC7117 is not set
|
||||
# CONFIG_ARCH_GUMSTIX is not set
|
||||
CONFIG_MACH_INTELMOTE2=y
|
||||
# CONFIG_MACH_STARGATE2 is not set
|
||||
@ -275,7 +282,11 @@ CONFIG_MACH_INTELMOTE2=y
|
||||
# CONFIG_PXA_EZX is not set
|
||||
# CONFIG_MACH_MP900C is not set
|
||||
# CONFIG_ARCH_PXA_PALM is not set
|
||||
# CONFIG_MACH_RAUMFELD_RC is not set
|
||||
# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
|
||||
# CONFIG_MACH_RAUMFELD_SPEAKER is not set
|
||||
# CONFIG_PXA_SHARPSL is not set
|
||||
# CONFIG_MACH_ICONTROL is not set
|
||||
# CONFIG_ARCH_PXA_ESERIES is not set
|
||||
CONFIG_PXA27x=y
|
||||
CONFIG_PXA_SSP=y
|
||||
@ -302,6 +313,7 @@ CONFIG_ARM_THUMB=y
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=5
|
||||
CONFIG_IWMMXT=y
|
||||
CONFIG_XSCALE_PMU=y
|
||||
CONFIG_CPU_HAS_PMU=y
|
||||
CONFIG_COMMON_CLKDEV=y
|
||||
|
||||
#
|
||||
@ -352,7 +364,7 @@ CONFIG_ALIGNMENT_TRAP=y
|
||||
#
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug"
|
||||
CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 console=ttyS2,115200 mem=32M"
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_ATAGS_PROC=y
|
||||
@ -360,24 +372,8 @@ CONFIG_ATAGS_PROC=y
|
||||
#
|
||||
# CPU Power Management
|
||||
#
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_TABLE=y
|
||||
CONFIG_CPU_FREQ_DEBUG=y
|
||||
CONFIG_CPU_FREQ_STAT=y
|
||||
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
|
||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=m
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_CPU_IDLE is not set
|
||||
|
||||
#
|
||||
# Floating point emulation
|
||||
@ -409,6 +405,7 @@ CONFIG_SUSPEND=y
|
||||
CONFIG_SUSPEND_FREEZER=y
|
||||
CONFIG_APM_EMULATION=y
|
||||
CONFIG_PM_RUNTIME=y
|
||||
CONFIG_PM_OPS=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_NET=y
|
||||
|
||||
@ -416,7 +413,6 @@ CONFIG_NET=y
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
@ -506,6 +502,7 @@ CONFIG_NF_CT_NETLINK=m
|
||||
CONFIG_NETFILTER_XTABLES=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
|
||||
# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_CT is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
|
||||
CONFIG_NETFILTER_XT_TARGET_HL=m
|
||||
CONFIG_NETFILTER_XT_TARGET_LED=m
|
||||
@ -622,6 +619,7 @@ CONFIG_IP6_NF_RAW=m
|
||||
# CONFIG_ATM is not set
|
||||
CONFIG_STP=m
|
||||
CONFIG_BRIDGE=m
|
||||
# CONFIG_BRIDGE_IGMP_SNOOPING is not set
|
||||
# CONFIG_NET_DSA is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
@ -646,32 +644,7 @@ CONFIG_NET_CLS_ROUTE=y
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_CAN is not set
|
||||
# CONFIG_IRDA is not set
|
||||
CONFIG_BT=y
|
||||
CONFIG_BT_L2CAP=y
|
||||
CONFIG_BT_SCO=y
|
||||
CONFIG_BT_RFCOMM=y
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=y
|
||||
CONFIG_BT_BNEP_MC_FILTER=y
|
||||
CONFIG_BT_BNEP_PROTO_FILTER=y
|
||||
CONFIG_BT_HIDP=y
|
||||
|
||||
#
|
||||
# Bluetooth device drivers
|
||||
#
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_BT_HCIBTSDIO=m
|
||||
CONFIG_BT_HCIUART=y
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
# CONFIG_BT_HCIUART_BCSP is not set
|
||||
# CONFIG_BT_HCIUART_LL is not set
|
||||
CONFIG_BT_HCIBCM203X=m
|
||||
CONFIG_BT_HCIBPA10X=m
|
||||
CONFIG_BT_HCIBFUSB=m
|
||||
CONFIG_BT_HCIVHCI=m
|
||||
CONFIG_BT_MRVL=m
|
||||
CONFIG_BT_MRVL_SDIO=m
|
||||
# CONFIG_BT_ATH3K is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
CONFIG_FIB_RULES=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
@ -687,7 +660,8 @@ CONFIG_FIB_RULES=y
|
||||
# Generic Driver Options
|
||||
#
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_DEVTMPFS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FW_LOADER=m
|
||||
@ -703,9 +677,9 @@ CONFIG_MTD=y
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||
# CONFIG_MTD_CMDLINE_PARTS is not set
|
||||
# CONFIG_MTD_AFS_PARTS is not set
|
||||
# CONFIG_MTD_AR7_PARTS is not set
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_AFS_PARTS=y
|
||||
CONFIG_MTD_AR7_PARTS=y
|
||||
|
||||
#
|
||||
# User Modules And Translation Layers
|
||||
@ -812,6 +786,7 @@ CONFIG_HAVE_IDE=y
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
CONFIG_SCSI_MOD=y
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_DMA is not set
|
||||
@ -965,6 +940,7 @@ CONFIG_SERIAL_PXA=y
|
||||
CONFIG_SERIAL_PXA_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_TIMBERDALE is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
@ -993,6 +969,7 @@ CONFIG_I2C_HELPER_AUTO=y
|
||||
CONFIG_I2C_PXA=y
|
||||
# CONFIG_I2C_PXA_SLAVE is not set
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_XILINX is not set
|
||||
|
||||
#
|
||||
# External I2C/SMBus adapter drivers
|
||||
@ -1006,15 +983,9 @@ CONFIG_I2C_PXA=y
|
||||
#
|
||||
# CONFIG_I2C_PCA_PLATFORM is not set
|
||||
# CONFIG_I2C_STUB is not set
|
||||
|
||||
#
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
# CONFIG_SENSORS_TSL2550 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
CONFIG_SPI=y
|
||||
# CONFIG_SPI_DEBUG is not set
|
||||
CONFIG_SPI_MASTER=y
|
||||
@ -1046,10 +1017,12 @@ CONFIG_GPIO_SYSFS=y
|
||||
#
|
||||
# Memory mapped GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_IT8761E is not set
|
||||
|
||||
#
|
||||
# I2C GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_MAX7300 is not set
|
||||
# CONFIG_GPIO_MAX732X is not set
|
||||
# CONFIG_GPIO_PCA953X is not set
|
||||
# CONFIG_GPIO_PCF857X is not set
|
||||
@ -1093,10 +1066,12 @@ CONFIG_SSB_POSSIBLE=y
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_CORE is not set
|
||||
# CONFIG_MFD_88PM860X is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_MFD_ASIC3 is not set
|
||||
# CONFIG_HTC_EGPIO is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_HTC_I2CPLD is not set
|
||||
# CONFIG_TPS65010 is not set
|
||||
# CONFIG_TWL4030_CORE is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
@ -1105,22 +1080,25 @@ CONFIG_SSB_POSSIBLE=y
|
||||
# CONFIG_MFD_TC6393XB is not set
|
||||
CONFIG_PMIC_DA903X=y
|
||||
# CONFIG_PMIC_ADP5520 is not set
|
||||
# CONFIG_MFD_MAX8925 is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
# CONFIG_MFD_WM831X is not set
|
||||
# CONFIG_MFD_WM8350_I2C is not set
|
||||
# CONFIG_MFD_WM8994 is not set
|
||||
# CONFIG_MFD_PCF50633 is not set
|
||||
# CONFIG_MFD_MC13783 is not set
|
||||
# CONFIG_AB3100_CORE is not set
|
||||
# CONFIG_EZX_PCAP is not set
|
||||
# CONFIG_MFD_88PM8607 is not set
|
||||
# CONFIG_AB4500_CORE is not set
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_DEBUG=y
|
||||
# CONFIG_REGULATOR_DUMMY is not set
|
||||
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
|
||||
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
|
||||
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
|
||||
# CONFIG_REGULATOR_BQ24022 is not set
|
||||
# CONFIG_REGULATOR_MAX1586 is not set
|
||||
# CONFIG_REGULATOR_MAX8649 is not set
|
||||
# CONFIG_REGULATOR_MAX8660 is not set
|
||||
CONFIG_REGULATOR_DA903X=y
|
||||
# CONFIG_REGULATOR_LP3971 is not set
|
||||
@ -1218,6 +1196,7 @@ CONFIG_VIDEO_IR_I2C=y
|
||||
# CONFIG_VIDEO_SAA7191 is not set
|
||||
# CONFIG_VIDEO_TVP514X is not set
|
||||
# CONFIG_VIDEO_TVP5150 is not set
|
||||
# CONFIG_VIDEO_TVP7002 is not set
|
||||
# CONFIG_VIDEO_VPX3220 is not set
|
||||
|
||||
#
|
||||
@ -1264,15 +1243,7 @@ CONFIG_SOC_CAMERA_MT9M111=y
|
||||
CONFIG_VIDEO_PXA27x=y
|
||||
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
|
||||
# CONFIG_V4L_USB_DRIVERS is not set
|
||||
CONFIG_RADIO_ADAPTERS=y
|
||||
# CONFIG_I2C_SI4713 is not set
|
||||
# CONFIG_RADIO_SI4713 is not set
|
||||
# CONFIG_USB_DSBR is not set
|
||||
# CONFIG_RADIO_SI470X is not set
|
||||
# CONFIG_USB_MR800 is not set
|
||||
CONFIG_RADIO_TEA5764=y
|
||||
CONFIG_RADIO_TEA5764_XTAL=y
|
||||
# CONFIG_RADIO_TEF6862 is not set
|
||||
# CONFIG_RADIO_ADAPTERS is not set
|
||||
# CONFIG_DAB is not set
|
||||
|
||||
#
|
||||
@ -1398,8 +1369,6 @@ CONFIG_HID=y
|
||||
#
|
||||
# Special HID drivers
|
||||
#
|
||||
CONFIG_HID_APPLE=m
|
||||
# CONFIG_HID_WACOM is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
@ -1477,7 +1446,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_BERRY_CHARGE is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
@ -1489,7 +1457,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# CONFIG_USB_IOWARRIOR is not set
|
||||
# CONFIG_USB_TEST is not set
|
||||
# CONFIG_USB_ISIGHTFW is not set
|
||||
# CONFIG_USB_VST is not set
|
||||
CONFIG_USB_GADGET=y
|
||||
# CONFIG_USB_GADGET_DEBUG is not set
|
||||
# CONFIG_USB_GADGET_DEBUG_FILES is not set
|
||||
@ -1529,6 +1496,7 @@ CONFIG_USB_ETH=y
|
||||
# CONFIG_USB_MIDI_GADGET is not set
|
||||
# CONFIG_USB_G_PRINTER is not set
|
||||
# CONFIG_USB_CDC_COMPOSITE is not set
|
||||
# CONFIG_USB_G_NOKIA is not set
|
||||
# CONFIG_USB_G_MULTI is not set
|
||||
|
||||
#
|
||||
@ -1555,8 +1523,6 @@ CONFIG_SDIO_UART=m
|
||||
#
|
||||
CONFIG_MMC_PXA=y
|
||||
# CONFIG_MMC_SDHCI is not set
|
||||
# CONFIG_MMC_AT91 is not set
|
||||
# CONFIG_MMC_ATMELMCI is not set
|
||||
CONFIG_MMC_SPI=y
|
||||
# CONFIG_MEMSTICK is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
@ -1574,11 +1540,11 @@ CONFIG_LEDS_LP3944=y
|
||||
# CONFIG_LEDS_REGULATOR is not set
|
||||
# CONFIG_LEDS_BD2802 is not set
|
||||
# CONFIG_LEDS_LT3593 is not set
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
@ -1656,7 +1622,7 @@ CONFIG_RTC_INTF_DEV=y
|
||||
# on-CPU RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_SA1100 is not set
|
||||
# CONFIG_RTC_DRV_PXA is not set
|
||||
CONFIG_RTC_DRV_PXA=y
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
# CONFIG_UIO is not set
|
||||
@ -1681,19 +1647,10 @@ CONFIG_EXT3_FS_XATTR=y
|
||||
CONFIG_JBD=m
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
CONFIG_FS_MBCACHE=m
|
||||
CONFIG_REISERFS_FS=m
|
||||
# CONFIG_REISERFS_CHECK is not set
|
||||
# CONFIG_REISERFS_PROC_INFO is not set
|
||||
CONFIG_REISERFS_FS_XATTR=y
|
||||
CONFIG_REISERFS_FS_POSIX_ACL=y
|
||||
CONFIG_REISERFS_FS_SECURITY=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
CONFIG_XFS_FS=m
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
# CONFIG_XFS_POSIX_ACL is not set
|
||||
# CONFIG_XFS_RT is not set
|
||||
# CONFIG_XFS_DEBUG is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_BTRFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
@ -1716,9 +1673,7 @@ CONFIG_CUSE=m
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
#
|
||||
CONFIG_ISO9660_FS=m
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
# CONFIG_ISO9660_FS is not set
|
||||
# CONFIG_UDF_FS is not set
|
||||
|
||||
#
|
||||
@ -1750,12 +1705,14 @@ CONFIG_MISC_FILESYSTEMS=y
|
||||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
CONFIG_JFFS2_FS=m
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
|
||||
# CONFIG_JFFS2_SUMMARY is not set
|
||||
# CONFIG_JFFS2_FS_XATTR is not set
|
||||
CONFIG_JFFS2_FS_WBUF_VERIFY=y
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_JFFS2_FS_POSIX_ACL=y
|
||||
CONFIG_JFFS2_FS_SECURITY=y
|
||||
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_LZO=y
|
||||
@ -1765,6 +1722,7 @@ CONFIG_JFFS2_RUBIN=y
|
||||
CONFIG_JFFS2_CMODE_PRIORITY=y
|
||||
# CONFIG_JFFS2_CMODE_SIZE is not set
|
||||
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
|
||||
# CONFIG_LOGFS is not set
|
||||
CONFIG_CRAMFS=m
|
||||
CONFIG_SQUASHFS=m
|
||||
# CONFIG_SQUASHFS_EMBEDDED is not set
|
||||
@ -1802,6 +1760,7 @@ CONFIG_SUNRPC=y
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
CONFIG_SMB_FS=m
|
||||
# CONFIG_SMB_NLS_DEFAULT is not set
|
||||
# CONFIG_CEPH_FS is not set
|
||||
CONFIG_CIFS=m
|
||||
CONFIG_CIFS_STATS=y
|
||||
# CONFIG_CIFS_STATS2 is not set
|
||||
@ -1895,6 +1854,7 @@ CONFIG_DEBUG_SPINLOCK=y
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
CONFIG_LOCKDEP=y
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_LOCKDEP is not set
|
||||
@ -1918,6 +1878,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
||||
# CONFIG_BACKTRACE_SELF_TEST is not set
|
||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
# CONFIG_LKDTM is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
# CONFIG_LATENCYTOP is not set
|
||||
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
|
||||
@ -2061,9 +2022,9 @@ CONFIG_CRC32=y
|
||||
CONFIG_CRC7=y
|
||||
CONFIG_LIBCRC32C=m
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_ZLIB_DEFLATE=m
|
||||
CONFIG_LZO_COMPRESS=m
|
||||
CONFIG_LZO_DECOMPRESS=m
|
||||
CONFIG_ZLIB_DEFLATE=y
|
||||
CONFIG_LZO_COMPRESS=y
|
||||
CONFIG_LZO_DECOMPRESS=y
|
||||
CONFIG_DECOMPRESS_GZIP=y
|
||||
CONFIG_DECOMPRESS_BZIP2=y
|
||||
CONFIG_DECOMPRESS_LZMA=y
|
||||
@ -2075,3 +2036,4 @@ CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_NLATTR=y
|
||||
CONFIG_GENERIC_ATOMIC64=y
|
||||
|
@ -9,6 +9,8 @@
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/user.h>
|
||||
|
||||
struct task_struct;
|
||||
|
||||
typedef unsigned long elf_greg_t;
|
||||
typedef unsigned long elf_freg_t[3];
|
||||
|
||||
|
@ -676,10 +676,10 @@ do_fpe:
|
||||
* lr = unrecognised FP instruction return address
|
||||
*/
|
||||
|
||||
.data
|
||||
.pushsection .data
|
||||
ENTRY(fp_enter)
|
||||
.word no_fp
|
||||
.text
|
||||
.popsection
|
||||
|
||||
ENTRY(no_fp)
|
||||
mov pc, lr
|
||||
|
@ -86,6 +86,12 @@ int __cpuinit __cpu_up(unsigned int cpu)
|
||||
return PTR_ERR(idle);
|
||||
}
|
||||
ci->idle = idle;
|
||||
} else {
|
||||
/*
|
||||
* Since this idle thread is being re-used, call
|
||||
* init_idle() to reinitialize the thread structure.
|
||||
*/
|
||||
init_idle(idle, cpu);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <asm/clkdev.h>
|
||||
#include <asm/div64.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/common.h>
|
||||
|
@ -10,6 +10,7 @@ config ARCH_OMAP2420
|
||||
config ARCH_OMAP2430
|
||||
bool "OMAP2430 support"
|
||||
depends on ARCH_OMAP2
|
||||
select ARCH_OMAP_OTG
|
||||
|
||||
config ARCH_OMAP3430
|
||||
bool "OMAP3430 support"
|
||||
|
@ -174,9 +174,18 @@ static struct i2c_board_info __initdata sdp2430_i2c_boardinfo[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata sdp2430_i2c1_boardinfo[] = {
|
||||
{
|
||||
I2C_BOARD_INFO("isp1301_omap", 0x2D),
|
||||
.flags = I2C_CLIENT_WAKE,
|
||||
.irq = OMAP_GPIO_IRQ(78),
|
||||
},
|
||||
};
|
||||
|
||||
static int __init omap2430_i2c_init(void)
|
||||
{
|
||||
omap_register_i2c_bus(1, 400, NULL, 0);
|
||||
omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo,
|
||||
ARRAY_SIZE(sdp2430_i2c1_boardinfo));
|
||||
omap_register_i2c_bus(2, 2600, sdp2430_i2c_boardinfo,
|
||||
ARRAY_SIZE(sdp2430_i2c_boardinfo));
|
||||
return 0;
|
||||
@ -198,6 +207,15 @@ static struct omap_musb_board_data musb_board_data = {
|
||||
.mode = MUSB_OTG,
|
||||
.power = 100,
|
||||
};
|
||||
static struct omap_usb_config sdp2430_usb_config __initdata = {
|
||||
.otg = 1,
|
||||
#ifdef CONFIG_USB_GADGET_OMAP
|
||||
.hmc_mode = 0x0,
|
||||
#elif defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
|
||||
.hmc_mode = 0x1,
|
||||
#endif
|
||||
.pins[0] = 3,
|
||||
};
|
||||
|
||||
static void __init omap_2430sdp_init(void)
|
||||
{
|
||||
@ -208,6 +226,7 @@ static void __init omap_2430sdp_init(void)
|
||||
platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
|
||||
omap_serial_init();
|
||||
omap2_hsmmc_init(mmc);
|
||||
omap_usb_init(&sdp2430_usb_config);
|
||||
usb_musb_init(&musb_board_data);
|
||||
board_smc91x_init();
|
||||
|
||||
|
@ -21,6 +21,8 @@
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/i2c/pca953x.h>
|
||||
#include <linux/can/platform/ti_hecc.h>
|
||||
#include <linux/davinci_emac.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/am35xx.h>
|
||||
@ -30,11 +32,106 @@
|
||||
|
||||
#include <plat/board.h>
|
||||
#include <plat/common.h>
|
||||
#include <plat/control.h>
|
||||
#include <plat/usb.h>
|
||||
#include <plat/display.h>
|
||||
|
||||
#include "mux.h"
|
||||
|
||||
#define AM35XX_EVM_PHY_MASK (0xF)
|
||||
#define AM35XX_EVM_MDIO_FREQUENCY (1000000)
|
||||
|
||||
static struct emac_platform_data am3517_evm_emac_pdata = {
|
||||
.phy_mask = AM35XX_EVM_PHY_MASK,
|
||||
.mdio_max_freq = AM35XX_EVM_MDIO_FREQUENCY,
|
||||
.rmii_en = 1,
|
||||
};
|
||||
|
||||
static struct resource am3517_emac_resources[] = {
|
||||
{
|
||||
.start = AM35XX_IPSS_EMAC_BASE,
|
||||
.end = AM35XX_IPSS_EMAC_BASE + 0x3FFFF,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
{
|
||||
.start = INT_35XX_EMAC_C0_RXTHRESH_IRQ,
|
||||
.end = INT_35XX_EMAC_C0_RXTHRESH_IRQ,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
{
|
||||
.start = INT_35XX_EMAC_C0_RX_PULSE_IRQ,
|
||||
.end = INT_35XX_EMAC_C0_RX_PULSE_IRQ,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
{
|
||||
.start = INT_35XX_EMAC_C0_TX_PULSE_IRQ,
|
||||
.end = INT_35XX_EMAC_C0_TX_PULSE_IRQ,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
{
|
||||
.start = INT_35XX_EMAC_C0_MISC_PULSE_IRQ,
|
||||
.end = INT_35XX_EMAC_C0_MISC_PULSE_IRQ,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device am3517_emac_device = {
|
||||
.name = "davinci_emac",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(am3517_emac_resources),
|
||||
.resource = am3517_emac_resources,
|
||||
};
|
||||
|
||||
static void am3517_enable_ethernet_int(void)
|
||||
{
|
||||
u32 regval;
|
||||
|
||||
regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR);
|
||||
regval = (regval | AM35XX_CPGMAC_C0_RX_PULSE_CLR |
|
||||
AM35XX_CPGMAC_C0_TX_PULSE_CLR |
|
||||
AM35XX_CPGMAC_C0_MISC_PULSE_CLR |
|
||||
AM35XX_CPGMAC_C0_RX_THRESH_CLR);
|
||||
omap_ctrl_writel(regval, AM35XX_CONTROL_LVL_INTR_CLEAR);
|
||||
regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR);
|
||||
}
|
||||
|
||||
static void am3517_disable_ethernet_int(void)
|
||||
{
|
||||
u32 regval;
|
||||
|
||||
regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR);
|
||||
regval = (regval | AM35XX_CPGMAC_C0_RX_PULSE_CLR |
|
||||
AM35XX_CPGMAC_C0_TX_PULSE_CLR);
|
||||
omap_ctrl_writel(regval, AM35XX_CONTROL_LVL_INTR_CLEAR);
|
||||
regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR);
|
||||
}
|
||||
|
||||
void am3517_evm_ethernet_init(struct emac_platform_data *pdata)
|
||||
{
|
||||
unsigned int regval;
|
||||
|
||||
pdata->ctrl_reg_offset = AM35XX_EMAC_CNTRL_OFFSET;
|
||||
pdata->ctrl_mod_reg_offset = AM35XX_EMAC_CNTRL_MOD_OFFSET;
|
||||
pdata->ctrl_ram_offset = AM35XX_EMAC_CNTRL_RAM_OFFSET;
|
||||
pdata->mdio_reg_offset = AM35XX_EMAC_MDIO_OFFSET;
|
||||
pdata->ctrl_ram_size = AM35XX_EMAC_CNTRL_RAM_SIZE;
|
||||
pdata->version = EMAC_VERSION_2;
|
||||
pdata->hw_ram_addr = AM35XX_EMAC_HW_RAM_ADDR;
|
||||
pdata->interrupt_enable = am3517_enable_ethernet_int;
|
||||
pdata->interrupt_disable = am3517_disable_ethernet_int;
|
||||
am3517_emac_device.dev.platform_data = pdata;
|
||||
platform_device_register(&am3517_emac_device);
|
||||
|
||||
regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET);
|
||||
regval = regval & (~(AM35XX_CPGMACSS_SW_RST));
|
||||
omap_ctrl_writel(regval, AM35XX_CONTROL_IP_SW_RESET);
|
||||
regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET);
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define LCD_PANEL_PWR 176
|
||||
#define LCD_PANEL_BKLIGHT_PWR 182
|
||||
#define LCD_PANEL_PWM 181
|
||||
@ -119,6 +216,8 @@ static int __init am3517_evm_i2c_init(void)
|
||||
static int lcd_enabled;
|
||||
static int dvi_enabled;
|
||||
|
||||
#if defined(CONFIG_PANEL_SHARP_LQ043T1DG01) || \
|
||||
defined(CONFIG_PANEL_SHARP_LQ043T1DG01_MODULE)
|
||||
static void __init am3517_evm_display_init(void)
|
||||
{
|
||||
int r;
|
||||
@ -162,6 +261,9 @@ err_2:
|
||||
err_1:
|
||||
gpio_free(LCD_PANEL_BKLIGHT_PWR);
|
||||
}
|
||||
#else
|
||||
static void __init am3517_evm_display_init(void) {}
|
||||
#endif
|
||||
|
||||
static int am3517_evm_panel_enable_lcd(struct omap_dss_device *dssdev)
|
||||
{
|
||||
@ -275,7 +377,12 @@ static void __init am3517_evm_init_irq(void)
|
||||
|
||||
static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
|
||||
.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
|
||||
#if defined(CONFIG_PANEL_SHARP_LQ043T1DG01) || \
|
||||
defined(CONFIG_PANEL_SHARP_LQ043T1DG01_MODULE)
|
||||
.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
|
||||
#else
|
||||
.port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
|
||||
#endif
|
||||
.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
|
||||
|
||||
.phy_reset = true,
|
||||
@ -292,6 +399,42 @@ static struct omap_board_mux board_mux[] __initdata = {
|
||||
#define board_mux NULL
|
||||
#endif
|
||||
|
||||
|
||||
static struct resource am3517_hecc_resources[] = {
|
||||
{
|
||||
.start = AM35XX_IPSS_HECC_BASE,
|
||||
.end = AM35XX_IPSS_HECC_BASE + 0x3FFF,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
{
|
||||
.start = INT_35XX_HECC0_IRQ,
|
||||
.end = INT_35XX_HECC0_IRQ,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device am3517_hecc_device = {
|
||||
.name = "ti_hecc",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(am3517_hecc_resources),
|
||||
.resource = am3517_hecc_resources,
|
||||
};
|
||||
|
||||
static struct ti_hecc_platform_data am3517_evm_hecc_pdata = {
|
||||
.scc_hecc_offset = AM35XX_HECC_SCC_HECC_OFFSET,
|
||||
.scc_ram_offset = AM35XX_HECC_SCC_RAM_OFFSET,
|
||||
.hecc_ram_offset = AM35XX_HECC_RAM_OFFSET,
|
||||
.mbx_offset = AM35XX_HECC_MBOX_OFFSET,
|
||||
.int_line = AM35XX_HECC_INT_LINE,
|
||||
.version = AM35XX_HECC_VERSION,
|
||||
};
|
||||
|
||||
static void am3517_evm_hecc_init(struct ti_hecc_platform_data *pdata)
|
||||
{
|
||||
am3517_hecc_device.dev.platform_data = pdata;
|
||||
platform_device_register(&am3517_hecc_device);
|
||||
}
|
||||
|
||||
static void __init am3517_evm_init(void)
|
||||
{
|
||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||
@ -305,6 +448,7 @@ static void __init am3517_evm_init(void)
|
||||
/* Configure GPIO for EHCI port */
|
||||
omap_mux_init_gpio(57, OMAP_PIN_OUTPUT);
|
||||
usb_ehci_init(&ehci_pdata);
|
||||
am3517_evm_hecc_init(&am3517_evm_hecc_pdata);
|
||||
/* DSS */
|
||||
am3517_evm_display_init();
|
||||
|
||||
@ -313,6 +457,8 @@ static void __init am3517_evm_init(void)
|
||||
|
||||
i2c_register_board_info(1, am3517evm_i2c_boardinfo,
|
||||
ARRAY_SIZE(am3517evm_i2c_boardinfo));
|
||||
/*Ethernet*/
|
||||
am3517_evm_ethernet_init(&am3517_evm_emac_pdata);
|
||||
}
|
||||
|
||||
static void __init am3517_evm_map_io(void)
|
||||
|
@ -633,8 +633,163 @@ static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
|
||||
.reset_gpio_port[2] = -EINVAL
|
||||
};
|
||||
|
||||
static struct omap_board_mux board_mux[] __initdata = {
|
||||
/* nCS and IRQ for Devkit8000 ethernet */
|
||||
OMAP3_MUX(GPMC_NCS6, OMAP_MUX_MODE0),
|
||||
OMAP3_MUX(ETK_D11, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
|
||||
|
||||
/* McSPI 2*/
|
||||
OMAP3_MUX(MCSPI2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCSPI2_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(MCSPI2_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCSPI2_CS0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(MCSPI2_CS1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
|
||||
/* PENDOWN GPIO */
|
||||
OMAP3_MUX(ETK_D13, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
||||
|
||||
/* mUSB */
|
||||
OMAP3_MUX(HSUSB0_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_STP, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(HSUSB0_DIR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_NXT, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(HSUSB0_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* USB 1 */
|
||||
OMAP3_MUX(ETK_CTL, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_CLK, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(ETK_D8, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D9, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D0, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D1, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D2, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D4, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D5, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D6, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(ETK_D7, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
|
||||
|
||||
/* MMC 1 */
|
||||
OMAP3_MUX(SDMMC1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(SDMMC1_DAT7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* McBSP 2 */
|
||||
OMAP3_MUX(MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
|
||||
/* I2C 1 */
|
||||
OMAP3_MUX(I2C1_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(I2C1_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* I2C 2 */
|
||||
OMAP3_MUX(I2C2_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(I2C2_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* I2C 3 */
|
||||
OMAP3_MUX(I2C3_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(I2C3_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* I2C 4 */
|
||||
OMAP3_MUX(I2C4_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(I2C4_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* serial ports */
|
||||
OMAP3_MUX(MCBSP3_CLKX, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(MCBSP3_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* DSS */
|
||||
OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
||||
|
||||
/* expansion port */
|
||||
/* McSPI 1 */
|
||||
OMAP3_MUX(MCSPI1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCSPI1_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCSPI1_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCSPI1_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
|
||||
OMAP3_MUX(MCSPI1_CS3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
|
||||
|
||||
/* HDQ */
|
||||
OMAP3_MUX(HDQ_SIO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
/* McSPI4 */
|
||||
OMAP3_MUX(MCBSP1_CLKR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCBSP1_DX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCBSP1_DR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(MCBSP1_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP),
|
||||
|
||||
/* MMC 2 */
|
||||
OMAP3_MUX(SDMMC2_DAT4, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(SDMMC2_DAT5, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(SDMMC2_DAT6, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(SDMMC2_DAT7, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
|
||||
|
||||
/* I2C3 */
|
||||
OMAP3_MUX(I2C3_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
OMAP3_MUX(I2C3_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
||||
|
||||
OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
||||
|
||||
OMAP3_MUX(GPMC_NCS7, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
||||
OMAP3_MUX(GPMC_NCS3, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
||||
|
||||
/* TPS IRQ */
|
||||
OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_WAKEUP_EN | \
|
||||
OMAP_PIN_INPUT_PULLUP),
|
||||
|
||||
{ .reg_offset = OMAP_MUX_TERMINATOR },
|
||||
};
|
||||
|
||||
static void __init devkit8000_init(void)
|
||||
{
|
||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
|
||||
omap_serial_init();
|
||||
|
||||
omap_dm9000_init();
|
||||
|
@ -63,6 +63,8 @@
|
||||
|
||||
#define OVERO_SMSC911X_CS 5
|
||||
#define OVERO_SMSC911X_GPIO 176
|
||||
#define OVERO_SMSC911X2_CS 4
|
||||
#define OVERO_SMSC911X2_GPIO 65
|
||||
|
||||
#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
|
||||
defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
|
||||
@ -137,6 +139,16 @@ static struct resource overo_smsc911x_resources[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct resource overo_smsc911x2_resources[] = {
|
||||
{
|
||||
.name = "smsc911x2-memory",
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
{
|
||||
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
|
||||
},
|
||||
};
|
||||
|
||||
static struct smsc911x_platform_config overo_smsc911x_config = {
|
||||
.irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
|
||||
.irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
|
||||
@ -146,7 +158,7 @@ static struct smsc911x_platform_config overo_smsc911x_config = {
|
||||
|
||||
static struct platform_device overo_smsc911x_device = {
|
||||
.name = "smsc911x",
|
||||
.id = -1,
|
||||
.id = 0,
|
||||
.num_resources = ARRAY_SIZE(overo_smsc911x_resources),
|
||||
.resource = overo_smsc911x_resources,
|
||||
.dev = {
|
||||
|
@ -277,7 +277,7 @@ static struct regulator_consumer_supply rx51_vmmc1_supply = {
|
||||
.dev_name = "mmci-omap-hs.0",
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply rx51_vmmc2_supply = {
|
||||
static struct regulator_consumer_supply rx51_vaux3_supply = {
|
||||
.supply = "vmmc",
|
||||
.dev_name = "mmci-omap-hs.1",
|
||||
};
|
||||
@ -287,6 +287,35 @@ static struct regulator_consumer_supply rx51_vsim_supply = {
|
||||
.dev_name = "mmci-omap-hs.1",
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
|
||||
/* tlv320aic3x analog supplies */
|
||||
{
|
||||
.supply = "AVDD",
|
||||
.dev_name = "2-0018",
|
||||
},
|
||||
{
|
||||
.supply = "DRVDD",
|
||||
.dev_name = "2-0018",
|
||||
},
|
||||
/* Keep vmmc as last item. It is not iterated for newer boards */
|
||||
{
|
||||
.supply = "vmmc",
|
||||
.dev_name = "mmci-omap-hs.1",
|
||||
},
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply rx51_vio_supplies[] = {
|
||||
/* tlv320aic3x digital supplies */
|
||||
{
|
||||
.supply = "IOVDD",
|
||||
.dev_name = "2-0018"
|
||||
},
|
||||
{
|
||||
.supply = "DVDD",
|
||||
.dev_name = "2-0018"
|
||||
},
|
||||
};
|
||||
|
||||
static struct regulator_init_data rx51_vaux1 = {
|
||||
.constraints = {
|
||||
.name = "V28",
|
||||
@ -338,7 +367,7 @@ static struct regulator_init_data rx51_vaux3_mmc = {
|
||||
| REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
.num_consumer_supplies = 1,
|
||||
.consumer_supplies = &rx51_vmmc2_supply,
|
||||
.consumer_supplies = &rx51_vaux3_supply,
|
||||
};
|
||||
|
||||
static struct regulator_init_data rx51_vaux4 = {
|
||||
@ -370,9 +399,9 @@ static struct regulator_init_data rx51_vmmc1 = {
|
||||
|
||||
static struct regulator_init_data rx51_vmmc2 = {
|
||||
.constraints = {
|
||||
.name = "VMMC2_30",
|
||||
.min_uV = 1850000,
|
||||
.max_uV = 3150000,
|
||||
.name = "V28_A",
|
||||
.min_uV = 2800000,
|
||||
.max_uV = 3000000,
|
||||
.apply_uV = true,
|
||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||
| REGULATOR_MODE_STANDBY,
|
||||
@ -380,8 +409,8 @@ static struct regulator_init_data rx51_vmmc2 = {
|
||||
| REGULATOR_CHANGE_MODE
|
||||
| REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
.num_consumer_supplies = 1,
|
||||
.consumer_supplies = &rx51_vmmc2_supply,
|
||||
.num_consumer_supplies = ARRAY_SIZE(rx51_vmmc2_supplies),
|
||||
.consumer_supplies = rx51_vmmc2_supplies,
|
||||
};
|
||||
|
||||
static struct regulator_init_data rx51_vsim = {
|
||||
@ -411,6 +440,20 @@ static struct regulator_init_data rx51_vdac = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct regulator_init_data rx51_vio = {
|
||||
.constraints = {
|
||||
.min_uV = 1800000,
|
||||
.max_uV = 1800000,
|
||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||
| REGULATOR_MODE_STANDBY,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
||||
| REGULATOR_CHANGE_MODE
|
||||
| REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
.num_consumer_supplies = ARRAY_SIZE(rx51_vio_supplies),
|
||||
.consumer_supplies = rx51_vio_supplies,
|
||||
};
|
||||
|
||||
static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n)
|
||||
{
|
||||
/* FIXME this gpio setup is just a placeholder for now */
|
||||
@ -618,6 +661,7 @@ static struct twl4030_platform_data rx51_twldata __initdata = {
|
||||
.vmmc1 = &rx51_vmmc1,
|
||||
.vsim = &rx51_vsim,
|
||||
.vdac = &rx51_vdac,
|
||||
.vio = &rx51_vio,
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = {
|
||||
@ -629,18 +673,27 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = {
|
||||
{
|
||||
I2C_BOARD_INFO("tlv320aic3x", 0x18),
|
||||
},
|
||||
};
|
||||
|
||||
static int __init rx51_i2c_init(void)
|
||||
{
|
||||
if ((system_rev >= SYSTEM_REV_S_USES_VAUX3 && system_rev < 0x100) ||
|
||||
system_rev >= SYSTEM_REV_B_USES_VAUX3)
|
||||
system_rev >= SYSTEM_REV_B_USES_VAUX3) {
|
||||
rx51_twldata.vaux3 = &rx51_vaux3_mmc;
|
||||
else {
|
||||
/* Only older boards use VMMC2 for internal MMC */
|
||||
rx51_vmmc2.num_consumer_supplies--;
|
||||
} else {
|
||||
rx51_twldata.vaux3 = &rx51_vaux3_cam;
|
||||
rx51_twldata.vmmc2 = &rx51_vmmc2;
|
||||
}
|
||||
rx51_twldata.vmmc2 = &rx51_vmmc2;
|
||||
omap_register_i2c_bus(1, 2200, rx51_peripherals_i2c_board_info_1,
|
||||
ARRAY_SIZE(rx51_peripherals_i2c_board_info_1));
|
||||
omap_register_i2c_bus(2, 100, NULL, 0);
|
||||
ARRAY_SIZE(rx51_peripherals_i2c_board_info_1));
|
||||
omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2,
|
||||
ARRAY_SIZE(rx51_peripherals_i2c_board_info_2));
|
||||
omap_register_i2c_bus(3, 400, NULL, 0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -3472,8 +3472,8 @@ static struct omap_clk omap3xxx_clks[] = {
|
||||
CLK(NULL, "ipss_ick", &ipss_ick, CK_AM35XX),
|
||||
CLK(NULL, "rmii_ck", &rmii_ck, CK_AM35XX),
|
||||
CLK(NULL, "pclk_ck", &pclk_ck, CK_AM35XX),
|
||||
CLK("davinci_emac", "ick", &emac_ick, CK_AM35XX),
|
||||
CLK("davinci_emac", "fck", &emac_fck, CK_AM35XX),
|
||||
CLK("davinci_emac", "emac_clk", &emac_ick, CK_AM35XX),
|
||||
CLK("davinci_emac", "phy_clk", &emac_fck, CK_AM35XX),
|
||||
CLK("vpfe-capture", "master", &vpfe_ick, CK_AM35XX),
|
||||
CLK("vpfe-capture", "slave", &vpfe_fck, CK_AM35XX),
|
||||
CLK("musb_hdrc", "ick", &hsotgusb_ick_am35xx, CK_AM35XX),
|
||||
|
@ -786,6 +786,33 @@ static inline void omap_hdq_init(void)
|
||||
static inline void omap_hdq_init(void) {}
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#if defined(CONFIG_VIDEO_OMAP2_VOUT) || \
|
||||
defined(CONFIG_VIDEO_OMAP2_VOUT_MODULE)
|
||||
#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
|
||||
static struct resource omap_vout_resource[3 - CONFIG_FB_OMAP2_NUM_FBS] = {
|
||||
};
|
||||
#else
|
||||
static struct resource omap_vout_resource[2] = {
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct platform_device omap_vout_device = {
|
||||
.name = "omap_vout",
|
||||
.num_resources = ARRAY_SIZE(omap_vout_resource),
|
||||
.resource = &omap_vout_resource[0],
|
||||
.id = -1,
|
||||
};
|
||||
static void omap_init_vout(void)
|
||||
{
|
||||
if (platform_device_register(&omap_vout_device) < 0)
|
||||
printk(KERN_ERR "Unable to register OMAP-VOUT device\n");
|
||||
}
|
||||
#else
|
||||
static inline void omap_init_vout(void) {}
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
static int __init omap2_init_devices(void)
|
||||
@ -800,6 +827,7 @@ static int __init omap2_init_devices(void)
|
||||
omap_hdq_init();
|
||||
omap_init_sti();
|
||||
omap_init_sha1_md5();
|
||||
omap_init_vout();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -23,4 +23,22 @@
|
||||
#define AM35XX_IPSS_HECC_BASE 0x5C050000
|
||||
#define AM35XX_IPSS_VPFE_BASE 0x5C060000
|
||||
|
||||
#endif /* __ASM_ARCH_AM35XX_H */
|
||||
|
||||
/* HECC module specifc offset definitions */
|
||||
#define AM35XX_HECC_SCC_HECC_OFFSET (0x0)
|
||||
#define AM35XX_HECC_SCC_RAM_OFFSET (0x3000)
|
||||
#define AM35XX_HECC_RAM_OFFSET (0x3000)
|
||||
#define AM35XX_HECC_MBOX_OFFSET (0x2000)
|
||||
#define AM35XX_HECC_INT_LINE (0x0)
|
||||
#define AM35XX_HECC_VERSION (0x1)
|
||||
|
||||
#define AM35XX_EMAC_CNTRL_OFFSET (0x10000)
|
||||
#define AM35XX_EMAC_CNTRL_MOD_OFFSET (0x0)
|
||||
#define AM35XX_EMAC_CNTRL_RAM_OFFSET (0x20000)
|
||||
#define AM35XX_EMAC_MDIO_OFFSET (0x30000)
|
||||
#define AM35XX_EMAC_CNTRL_RAM_SIZE (0x2000)
|
||||
#define AM35XX_EMAC_RAM_ADDR (AM3517_EMAC_BASE + \
|
||||
AM3517_EMAC_CNTRL_RAM_OFFSET)
|
||||
#define AM35XX_EMAC_HW_RAM_ADDR (0x01E20000)
|
||||
|
||||
#endif /* __ASM_ARCH_AM35XX_H */
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define _COLIBRI_H_
|
||||
|
||||
#include <net/ax88796.h>
|
||||
#include <mach/mfp.h>
|
||||
|
||||
/*
|
||||
* common settings for all modules
|
||||
|
@ -202,7 +202,7 @@
|
||||
#define __cpu_is_pxa950(id) \
|
||||
({ \
|
||||
unsigned int _id = (id) >> 4 & 0xfff; \
|
||||
id == 0x697; \
|
||||
_id == 0x697; \
|
||||
})
|
||||
#else
|
||||
#define __cpu_is_pxa950(id) (0)
|
||||
|
@ -166,7 +166,8 @@
|
||||
#define U2DMACSR_BUSERRTYPE (7 << 10) /* PX Bus Error Type */
|
||||
#define U2DMACSR_EORINTR (1 << 9) /* End Of Receive */
|
||||
#define U2DMACSR_REQPEND (1 << 8) /* Request Pending */
|
||||
#define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */#define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */
|
||||
#define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */
|
||||
#define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */
|
||||
#define U2DMACSR_ENDINTR (1 << 2) /* End Interrupt (read / write 1 clear) */
|
||||
#define U2DMACSR_STARTINTR (1 << 1) /* Start Interrupt (read / write 1 clear) */
|
||||
#define U2DMACSR_BUSERRINTR (1 << 0) /* Bus Error Interrupt (read / write 1 clear) */
|
||||
|
@ -983,7 +983,7 @@ static void __init raumfeld_common_init(void)
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(gpio_keys_button); i++)
|
||||
if (!strcmp(gpio_keys_button[i].desc, "on/off button"))
|
||||
if (!strcmp(gpio_keys_button[i].desc, "on_off button"))
|
||||
gpio_keys_button[i].active_low = 1;
|
||||
}
|
||||
|
||||
@ -1009,8 +1009,7 @@ static void __init raumfeld_common_init(void)
|
||||
gpio_direction_output(GPIO_W2W_PDN, 0);
|
||||
|
||||
/* this can be used to switch off the device */
|
||||
ret = gpio_request(GPIO_SHUTDOWN_SUPPLY,
|
||||
"supply shutdown");
|
||||
ret = gpio_request(GPIO_SHUTDOWN_SUPPLY, "supply shutdown");
|
||||
if (ret < 0)
|
||||
pr_warning("Unable to request GPIO_SHUTDOWN_SUPPLY\n");
|
||||
else
|
||||
|
@ -363,7 +363,7 @@ static struct gpio_keys_button spitz_gpio_keys[] = {
|
||||
.type = EV_PWR,
|
||||
.code = KEY_SUSPEND,
|
||||
.gpio = SPITZ_GPIO_ON_KEY,
|
||||
.desc = "On/Off",
|
||||
.desc = "On Off",
|
||||
.wakeup = 1,
|
||||
},
|
||||
/* Two buttons detecting the lid state */
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include <linux/pm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/i2c-gpio.h>
|
||||
#include <linux/serial_8250.h>
|
||||
#include <linux/smc91x.h>
|
||||
@ -454,7 +455,7 @@ static struct i2c_gpio_platform_data i2c_bus_data = {
|
||||
.sda_pin = VIPER_RTC_I2C_SDA_GPIO,
|
||||
.scl_pin = VIPER_RTC_I2C_SCL_GPIO,
|
||||
.udelay = 10,
|
||||
.timeout = 100,
|
||||
.timeout = HZ,
|
||||
};
|
||||
|
||||
static struct platform_device i2c_bus_device = {
|
||||
@ -779,7 +780,7 @@ static void __init viper_tpm_init(void)
|
||||
.sda_pin = VIPER_TPM_I2C_SDA_GPIO,
|
||||
.scl_pin = VIPER_TPM_I2C_SCL_GPIO,
|
||||
.udelay = 10,
|
||||
.timeout = 100,
|
||||
.timeout = HZ,
|
||||
};
|
||||
char *errstr;
|
||||
|
||||
|
@ -57,7 +57,7 @@ config SA1100_COLLIE
|
||||
config SA1100_H3100
|
||||
bool "Compaq iPAQ H3100"
|
||||
select HTC_EGPIO
|
||||
select CPU_FREQ_SA1100
|
||||
select CPU_FREQ_SA1110
|
||||
help
|
||||
Say Y here if you intend to run this kernel on the Compaq iPAQ
|
||||
H3100 handheld computer. Information about this machine and the
|
||||
@ -68,7 +68,7 @@ config SA1100_H3100
|
||||
config SA1100_H3600
|
||||
bool "Compaq iPAQ H3600/H3700"
|
||||
select HTC_EGPIO
|
||||
select CPU_FREQ_SA1100
|
||||
select CPU_FREQ_SA1110
|
||||
help
|
||||
Say Y here if you intend to run this kernel on the Compaq iPAQ
|
||||
H3600 handheld computer. Information about this machine and the
|
||||
|
@ -363,6 +363,9 @@ static int __init sa1110_clk_init(void)
|
||||
struct sdram_params *sdram;
|
||||
const char *name = sdram_name;
|
||||
|
||||
if (!cpu_is_sa1110())
|
||||
return -ENODEV;
|
||||
|
||||
if (!name[0]) {
|
||||
if (machine_is_assabet())
|
||||
name = "TC59SM716-CL3";
|
||||
|
@ -86,9 +86,6 @@ void show_mem(void)
|
||||
printk("Mem-info:\n");
|
||||
show_free_areas();
|
||||
for_each_online_node(node) {
|
||||
pg_data_t *n = NODE_DATA(node);
|
||||
struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn;
|
||||
|
||||
for_each_nodebank (i,mi,node) {
|
||||
struct membank *bank = &mi->bank[i];
|
||||
unsigned int pfn1, pfn2;
|
||||
@ -97,8 +94,8 @@ void show_mem(void)
|
||||
pfn1 = bank_pfn_start(bank);
|
||||
pfn2 = bank_pfn_end(bank);
|
||||
|
||||
page = map + pfn1;
|
||||
end = map + pfn2;
|
||||
page = pfn_to_page(pfn1);
|
||||
end = pfn_to_page(pfn2 - 1) + 1;
|
||||
|
||||
do {
|
||||
total++;
|
||||
@ -603,9 +600,6 @@ void __init mem_init(void)
|
||||
reserved_pages = free_pages = 0;
|
||||
|
||||
for_each_online_node(node) {
|
||||
pg_data_t *n = NODE_DATA(node);
|
||||
struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn;
|
||||
|
||||
for_each_nodebank(i, &meminfo, node) {
|
||||
struct membank *bank = &meminfo.bank[i];
|
||||
unsigned int pfn1, pfn2;
|
||||
@ -614,8 +608,8 @@ void __init mem_init(void)
|
||||
pfn1 = bank_pfn_start(bank);
|
||||
pfn2 = bank_pfn_end(bank);
|
||||
|
||||
page = map + pfn1;
|
||||
end = map + pfn2;
|
||||
page = pfn_to_page(pfn1);
|
||||
end = pfn_to_page(pfn2 - 1) + 1;
|
||||
|
||||
do {
|
||||
if (PageReserved(page))
|
||||
|
@ -31,7 +31,13 @@
|
||||
#define DMA_MODE_WRITE 1
|
||||
#define DMA_MODE_MASK 1
|
||||
|
||||
#define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR)
|
||||
#define MX1_DMA_REG(offset) MX1_IO_ADDRESS(MX1_DMA_BASE_ADDR + (offset))
|
||||
|
||||
/* DMA Interrupt Mask Register */
|
||||
#define MX1_DMA_DIMR MX1_DMA_REG(0x08)
|
||||
|
||||
/* Channel Control Register */
|
||||
#define MX1_DMA_CCR(x) MX1_DMA_REG(0x8c + ((x) << 6))
|
||||
|
||||
#define IMX_DMA_MEMSIZE_32 (0 << 4)
|
||||
#define IMX_DMA_MEMSIZE_8 (1 << 4)
|
||||
|
@ -46,7 +46,7 @@ struct ehci_hcd_omap_platform_data {
|
||||
struct omap_musb_board_data {
|
||||
u8 interface_type;
|
||||
u8 mode;
|
||||
u8 power;
|
||||
u16 power;
|
||||
};
|
||||
|
||||
enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI};
|
||||
|
@ -245,7 +245,7 @@ static void pxa_dma_init_debugfs(void)
|
||||
|
||||
dbgfs_chan = kmalloc(sizeof(*dbgfs_state) * num_dma_channels,
|
||||
GFP_KERNEL);
|
||||
if (!dbgfs_state)
|
||||
if (!dbgfs_chan)
|
||||
goto err_alloc;
|
||||
|
||||
chandir = debugfs_create_dir("channels", dbgfs_root);
|
||||
|
@ -12,7 +12,7 @@
|
||||
#
|
||||
# http://www.arm.linux.org.uk/developer/machines/?action=new
|
||||
#
|
||||
# Last update: Sat Mar 20 15:35:41 2010
|
||||
# Last update: Sat May 1 10:36:42 2010
|
||||
#
|
||||
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
|
||||
#
|
||||
@ -2749,3 +2749,58 @@ stamp9g45 MACH_STAMP9G45 STAMP9G45 2761
|
||||
h6053 MACH_H6053 H6053 2762
|
||||
smint01 MACH_SMINT01 SMINT01 2763
|
||||
prtlvt2 MACH_PRTLVT2 PRTLVT2 2764
|
||||
ap420 MACH_AP420 AP420 2765
|
||||
htcshift MACH_HTCSHIFT HTCSHIFT 2766
|
||||
davinci_dm365_fc MACH_DAVINCI_DM365_FC DAVINCI_DM365_FC 2767
|
||||
msm8x55_surf MACH_MSM8X55_SURF MSM8X55_SURF 2768
|
||||
msm8x55_ffa MACH_MSM8X55_FFA MSM8X55_FFA 2769
|
||||
esl_vamana MACH_ESL_VAMANA ESL_VAMANA 2770
|
||||
sbc35 MACH_SBC35 SBC35 2771
|
||||
mpx6446 MACH_MPX6446 MPX6446 2772
|
||||
oreo_controller MACH_OREO_CONTROLLER OREO_CONTROLLER 2773
|
||||
kopin_models MACH_KOPIN_MODELS KOPIN_MODELS 2774
|
||||
ttc_vision2 MACH_TTC_VISION2 TTC_VISION2 2775
|
||||
cns3420vb MACH_CNS3420VB CNS3420VB 2776
|
||||
lpc2 MACH_LPC2 LPC2 2777
|
||||
olympus MACH_OLYMPUS OLYMPUS 2778
|
||||
vortex MACH_VORTEX VORTEX 2779
|
||||
s5pc200 MACH_S5PC200 S5PC200 2780
|
||||
ecucore_9263 MACH_ECUCORE_9263 ECUCORE_9263 2781
|
||||
smdkc200 MACH_SMDKC200 SMDKC200 2782
|
||||
emsiso_sx27 MACH_EMSISO_SX27 EMSISO_SX27 2783
|
||||
apx_som9g45_ek MACH_APX_SOM9G45_EK APX_SOM9G45_EK 2784
|
||||
songshan MACH_SONGSHAN SONGSHAN 2785
|
||||
tianshan MACH_TIANSHAN TIANSHAN 2786
|
||||
vpx500 MACH_VPX500 VPX500 2787
|
||||
am3517sam MACH_AM3517SAM AM3517SAM 2788
|
||||
skat91_sim508 MACH_SKAT91_SIM508 SKAT91_SIM508 2789
|
||||
skat91_s3e MACH_SKAT91_S3E SKAT91_S3E 2790
|
||||
omap4_panda MACH_OMAP4_PANDA OMAP4_PANDA 2791
|
||||
df7220 MACH_DF7220 DF7220 2792
|
||||
nemini MACH_NEMINI NEMINI 2793
|
||||
t8200 MACH_T8200 T8200 2794
|
||||
apf51 MACH_APF51 APF51 2795
|
||||
dr_rc_unit MACH_DR_RC_UNIT DR_RC_UNIT 2796
|
||||
bordeaux MACH_BORDEAUX BORDEAUX 2797
|
||||
catania_b MACH_CATANIA_B CATANIA_B 2798
|
||||
mx51_ocean MACH_MX51_OCEAN MX51_OCEAN 2799
|
||||
ti8168evm MACH_TI8168EVM TI8168EVM 2800
|
||||
neocoreomap MACH_NEOCOREOMAP NEOCOREOMAP 2801
|
||||
withings_wbp MACH_WITHINGS_WBP WITHINGS_WBP 2802
|
||||
dbps MACH_DBPS DBPS 2803
|
||||
sbc9261 MACH_SBC9261 SBC9261 2804
|
||||
pcbfp0001 MACH_PCBFP0001 PCBFP0001 2805
|
||||
speedy MACH_SPEEDY SPEEDY 2806
|
||||
chrysaor MACH_CHRYSAOR CHRYSAOR 2807
|
||||
tango MACH_TANGO TANGO 2808
|
||||
synology_dsx11 MACH_SYNOLOGY_DSX11 SYNOLOGY_DSX11 2809
|
||||
hanlin_v3ext MACH_HANLIN_V3EXT HANLIN_V3EXT 2810
|
||||
hanlin_v5 MACH_HANLIN_V5 HANLIN_V5 2811
|
||||
hanlin_v3plus MACH_HANLIN_V3PLUS HANLIN_V3PLUS 2812
|
||||
iriver_story MACH_IRIVER_STORY IRIVER_STORY 2813
|
||||
irex_iliad MACH_IREX_ILIAD IREX_ILIAD 2814
|
||||
irex_dr1000 MACH_IREX_DR1000 IREX_DR1000 2815
|
||||
teton_bga MACH_TETON_BGA TETON_BGA 2816
|
||||
snapper9g45 MACH_SNAPPER9G45 SNAPPER9G45 2817
|
||||
tam3517 MACH_TAM3517 TAM3517 2818
|
||||
pdc100 MACH_PDC100 PDC100 2819
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.33-rc6
|
||||
# Wed Feb 3 10:02:59 2010
|
||||
# Linux kernel version: 2.6.34-rc6
|
||||
# Thu May 6 11:22:14 2010
|
||||
#
|
||||
CONFIG_MICROBLAZE=y
|
||||
# CONFIG_SWAP is not set
|
||||
@ -22,8 +22,6 @@ CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
# CONFIG_PCI is not set
|
||||
CONFIG_NO_DMA=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
CONFIG_CONSTRUCTORS=y
|
||||
@ -56,7 +54,6 @@ CONFIG_RCU_FANOUT=32
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
# CONFIG_GROUP_SCHED is not set
|
||||
# CONFIG_CGROUPS is not set
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
@ -106,6 +103,8 @@ CONFIG_SLAB=y
|
||||
# CONFIG_SLOB is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_DMA_ATTRS=y
|
||||
CONFIG_HAVE_DMA_API_DEBUG=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
@ -245,13 +244,20 @@ CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Bus Options
|
||||
#
|
||||
# CONFIG_PCI is not set
|
||||
# CONFIG_PCI_DOMAINS is not set
|
||||
# CONFIG_PCI_SYSCALL is not set
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
@ -341,7 +347,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
# CONFIG_CONNECTOR is not set
|
||||
# CONFIG_MTD is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_DEVICE=y
|
||||
CONFIG_OF_MDIO=y
|
||||
# CONFIG_PARPORT is not set
|
||||
CONFIG_BLK_DEV=y
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
@ -370,6 +378,7 @@ CONFIG_MISC_DEVICES=y
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
CONFIG_SCSI_MOD=y
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_DMA is not set
|
||||
@ -383,9 +392,30 @@ CONFIG_NETDEVICES=y
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
# CONFIG_VETH is not set
|
||||
# CONFIG_PHYLIB is not set
|
||||
CONFIG_PHYLIB=y
|
||||
|
||||
#
|
||||
# MII PHY device drivers
|
||||
#
|
||||
# CONFIG_MARVELL_PHY is not set
|
||||
# CONFIG_DAVICOM_PHY is not set
|
||||
# CONFIG_QSEMI_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_VITESSE_PHY is not set
|
||||
# CONFIG_SMSC_PHY is not set
|
||||
# CONFIG_BROADCOM_PHY is not set
|
||||
# CONFIG_ICPLUS_PHY is not set
|
||||
# CONFIG_REALTEK_PHY is not set
|
||||
# CONFIG_NATIONAL_PHY is not set
|
||||
# CONFIG_STE10XP is not set
|
||||
# CONFIG_LSI_ET1011C_PHY is not set
|
||||
# CONFIG_MICREL_PHY is not set
|
||||
# CONFIG_FIXED_PHY is not set
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_MII is not set
|
||||
# CONFIG_ETHOC is not set
|
||||
# CONFIG_DNET is not set
|
||||
# CONFIG_IBM_NEW_EMAC_ZMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||
@ -394,6 +424,7 @@ CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||
# CONFIG_B44 is not set
|
||||
# CONFIG_KS8842 is not set
|
||||
# CONFIG_KS8851_MLL is not set
|
||||
CONFIG_XILINX_EMACLITE=y
|
||||
@ -444,6 +475,7 @@ CONFIG_SERIAL_UARTLITE=y
|
||||
CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_TIMBERDALE is not set
|
||||
# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||
@ -471,6 +503,12 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
#
|
||||
# Sonics Silicon Backplane
|
||||
#
|
||||
# CONFIG_SSB is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
@ -502,6 +540,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
@ -572,6 +611,7 @@ CONFIG_MISC_FILESYSTEMS=y
|
||||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_LOGFS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_SQUASHFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
@ -595,6 +635,7 @@ CONFIG_SUNRPC=y
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CEPH_FS is not set
|
||||
CONFIG_CIFS=y
|
||||
CONFIG_CIFS_STATS=y
|
||||
CONFIG_CIFS_STATS2=y
|
||||
@ -696,6 +737,7 @@ CONFIG_SCHED_DEBUG=y
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
CONFIG_DEBUG_SLAB=y
|
||||
# CONFIG_DEBUG_SLAB_LEAK is not set
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
CONFIG_DEBUG_SPINLOCK=y
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
@ -741,6 +783,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
|
||||
# CONFIG_KMEMTRACE is not set
|
||||
# CONFIG_WORKQUEUE_TRACER is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_DMA_API_DEBUG is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_HEART_BEAT is not set
|
||||
@ -862,5 +905,6 @@ CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_DECOMPRESS_GZIP=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAVE_LMB=y
|
||||
CONFIG_NLATTR=y
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.33-rc6
|
||||
# Wed Feb 3 10:03:21 2010
|
||||
# Linux kernel version: 2.6.34-rc6
|
||||
# Thu May 6 11:25:12 2010
|
||||
#
|
||||
CONFIG_MICROBLAZE=y
|
||||
# CONFIG_SWAP is not set
|
||||
@ -22,8 +22,6 @@ CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
# CONFIG_PCI is not set
|
||||
CONFIG_NO_DMA=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
CONFIG_CONSTRUCTORS=y
|
||||
@ -58,7 +56,6 @@ CONFIG_RCU_FANOUT=32
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
# CONFIG_GROUP_SCHED is not set
|
||||
# CONFIG_CGROUPS is not set
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
@ -96,6 +93,8 @@ CONFIG_SLAB=y
|
||||
# CONFIG_MMAP_ALLOW_UNINITIALIZED is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_DMA_ATTRS=y
|
||||
CONFIG_HAVE_DMA_API_DEBUG=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
@ -209,11 +208,14 @@ CONFIG_PROC_DEVICETREE=y
|
||||
#
|
||||
# Advanced setup
|
||||
#
|
||||
# CONFIG_ADVANCED_OPTIONS is not set
|
||||
|
||||
#
|
||||
# Default settings for advanced configuration options are used
|
||||
#
|
||||
CONFIG_LOWMEM_SIZE=0x30000000
|
||||
CONFIG_KERNEL_START=0x90000000
|
||||
CONFIG_TASK_SIZE=0x80000000
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
@ -235,13 +237,20 @@ CONFIG_BINFMT_FLAT=y
|
||||
# CONFIG_BINFMT_SHARED_FLAT is not set
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Bus Options
|
||||
#
|
||||
# CONFIG_PCI is not set
|
||||
# CONFIG_PCI_DOMAINS is not set
|
||||
# CONFIG_PCI_SYSCALL is not set
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
@ -413,6 +422,7 @@ CONFIG_MTD_UCLINUX=y
|
||||
# UBI - Unsorted block images
|
||||
#
|
||||
# CONFIG_MTD_UBI is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_DEVICE=y
|
||||
# CONFIG_PARPORT is not set
|
||||
CONFIG_BLK_DEV=y
|
||||
@ -442,6 +452,7 @@ CONFIG_MISC_DEVICES=y
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
CONFIG_SCSI_MOD=y
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_DMA is not set
|
||||
@ -458,6 +469,7 @@ CONFIG_NETDEVICES=y
|
||||
# CONFIG_PHYLIB is not set
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_MII is not set
|
||||
# CONFIG_ETHOC is not set
|
||||
# CONFIG_DNET is not set
|
||||
# CONFIG_IBM_NEW_EMAC_ZMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||
@ -466,6 +478,7 @@ CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||
# CONFIG_B44 is not set
|
||||
# CONFIG_KS8842 is not set
|
||||
# CONFIG_KS8851_MLL is not set
|
||||
# CONFIG_XILINX_EMACLITE is not set
|
||||
@ -516,6 +529,7 @@ CONFIG_SERIAL_UARTLITE=y
|
||||
CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_TIMBERDALE is not set
|
||||
# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||
@ -544,6 +558,12 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
#
|
||||
# Sonics Silicon Backplane
|
||||
#
|
||||
# CONFIG_SSB is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
@ -593,6 +613,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
@ -661,6 +682,7 @@ CONFIG_MISC_FILESYSTEMS=y
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
# CONFIG_LOGFS is not set
|
||||
CONFIG_CRAMFS=y
|
||||
# CONFIG_SQUASHFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
@ -689,6 +711,7 @@ CONFIG_SUNRPC=y
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CEPH_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
@ -733,6 +756,7 @@ CONFIG_DEBUG_OBJECTS_TIMERS=y
|
||||
# CONFIG_DEBUG_OBJECTS_WORK is not set
|
||||
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
@ -758,6 +782,7 @@ CONFIG_DEBUG_SG=y
|
||||
# CONFIG_BACKTRACE_SELF_TEST is not set
|
||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
# CONFIG_LKDTM is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
# CONFIG_LATENCYTOP is not set
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
@ -782,6 +807,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
|
||||
# CONFIG_WORKQUEUE_TRACER is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_DYNAMIC_DEBUG is not set
|
||||
# CONFIG_DMA_API_DEBUG is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_HEART_BEAT is not set
|
||||
@ -901,5 +927,6 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAVE_LMB=y
|
||||
CONFIG_NLATTR=y
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
#include <asm/registers.h>
|
||||
|
||||
#define L1_CACHE_SHIFT 2
|
||||
#define L1_CACHE_SHIFT 5
|
||||
/* word-granular cache in microblaze */
|
||||
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
|
||||
|
||||
|
@ -18,4 +18,10 @@
|
||||
#define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
extern int isa_dma_bridge_buggy;
|
||||
#else
|
||||
#define isa_dma_bridge_buggy (0)
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_MICROBLAZE_DMA_H */
|
||||
|
@ -64,12 +64,6 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
|
||||
void die(const char *str, struct pt_regs *fp, long err);
|
||||
void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr);
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
void __bug(const char *file, int line, void *data);
|
||||
int bad_trap(int trap_num, struct pt_regs *regs);
|
||||
int debug_trap(struct pt_regs *regs);
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
#if defined(CONFIG_KGDB)
|
||||
void (*debugger)(struct pt_regs *regs);
|
||||
int (*debugger_bpt)(struct pt_regs *regs);
|
||||
|
@ -139,8 +139,6 @@ static inline void writel(unsigned int v, volatile void __iomem *addr)
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
|
||||
#define mm_ptov(addr) ((void *)__phys_to_virt(addr))
|
||||
#define mm_vtop(addr) ((unsigned long)__virt_to_phys(addr))
|
||||
#define phys_to_virt(addr) ((void *)__phys_to_virt(addr))
|
||||
#define virt_to_phys(addr) ((unsigned long)__virt_to_phys(addr))
|
||||
#define virt_to_bus(addr) ((unsigned long)__virt_to_phys(addr))
|
||||
|
@ -31,6 +31,9 @@
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/* MS be sure that SLAB allocates aligned objects */
|
||||
#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES
|
||||
|
||||
#define PAGE_UP(addr) (((addr)+((PAGE_SIZE)-1))&(~((PAGE_SIZE)-1)))
|
||||
#define PAGE_DOWN(addr) ((addr)&(~((PAGE_SIZE)-1)))
|
||||
|
||||
@ -70,14 +73,7 @@ typedef unsigned long pte_basic_t;
|
||||
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
# ifndef CONFIG_MMU
|
||||
# define copy_page(to, from) memcpy((to), (from), PAGE_SIZE)
|
||||
# define get_user_page(vaddr) __get_free_page(GFP_KERNEL)
|
||||
# define free_user_page(page, addr) free_page(addr)
|
||||
# else /* CONFIG_MMU */
|
||||
extern void copy_page(void *to, void *from);
|
||||
# endif /* CONFIG_MMU */
|
||||
|
||||
# define copy_page(to, from) memcpy((to), (from), PAGE_SIZE)
|
||||
# define clear_page(pgaddr) memset((pgaddr), 0, PAGE_SIZE)
|
||||
|
||||
# define clear_user_page(pgaddr, vaddr, page) memset((pgaddr), 0, PAGE_SIZE)
|
||||
|
@ -94,14 +94,6 @@ extern int pci_mmap_legacy_page_range(struct pci_bus *bus,
|
||||
|
||||
#define HAVE_PCI_LEGACY 1
|
||||
|
||||
/* pci_unmap_{page,single} is a nop so... */
|
||||
#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
|
||||
#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
|
||||
#define pci_unmap_addr(PTR, ADDR_NAME) (0)
|
||||
#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0)
|
||||
#define pci_unmap_len(PTR, LEN_NAME) (0)
|
||||
#define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0)
|
||||
|
||||
/* The PCI address space does equal the physical memory
|
||||
* address space (no IOMMU). The IDE and SCSI device layers use
|
||||
* this boolean for bounce buffer decisions.
|
||||
|
@ -108,21 +108,7 @@ extern inline void free_pgd_slow(pgd_t *pgd)
|
||||
#define pmd_alloc_one_fast(mm, address) ({ BUG(); ((pmd_t *)1); })
|
||||
#define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); })
|
||||
|
||||
static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
|
||||
unsigned long address)
|
||||
{
|
||||
pte_t *pte;
|
||||
extern void *early_get_page(void);
|
||||
if (mem_init_done) {
|
||||
pte = (pte_t *)__get_free_page(GFP_KERNEL |
|
||||
__GFP_REPEAT | __GFP_ZERO);
|
||||
} else {
|
||||
pte = (pte_t *)early_get_page();
|
||||
if (pte)
|
||||
clear_page(pte);
|
||||
}
|
||||
return pte;
|
||||
}
|
||||
extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long addr);
|
||||
|
||||
static inline struct page *pte_alloc_one(struct mm_struct *mm,
|
||||
unsigned long address)
|
||||
|
@ -511,15 +511,6 @@ static inline pmd_t *pmd_offset(pgd_t *dir, unsigned long address)
|
||||
|
||||
extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
|
||||
|
||||
/*
|
||||
* When flushing the tlb entry for a page, we also need to flush the hash
|
||||
* table entry. flush_hash_page is assembler (for speed) in hashtable.S.
|
||||
*/
|
||||
extern int flush_hash_page(unsigned context, unsigned long va, pte_t *ptep);
|
||||
|
||||
/* Add an HPTE to the hash table */
|
||||
extern void add_hash_page(unsigned context, unsigned long va, pte_t *ptep);
|
||||
|
||||
/*
|
||||
* Encode and decode a swap entry.
|
||||
* Note that the bits we use in a PTE for representing a swap entry
|
||||
@ -533,15 +524,7 @@ extern void add_hash_page(unsigned context, unsigned long va, pte_t *ptep);
|
||||
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> 2 })
|
||||
#define __swp_entry_to_pte(x) ((pte_t) { (x).val << 2 })
|
||||
|
||||
|
||||
/* CONFIG_APUS */
|
||||
/* For virtual address to physical address conversion */
|
||||
extern void cache_clear(__u32 addr, int length);
|
||||
extern void cache_push(__u32 addr, int length);
|
||||
extern int mm_end_of_chunk(unsigned long addr, int len);
|
||||
extern unsigned long iopa(unsigned long addr);
|
||||
/* extern unsigned long mm_ptov(unsigned long addr) \
|
||||
__attribute__ ((const)); TBD */
|
||||
|
||||
/* Values for nocacheflag and cmode */
|
||||
/* These are not used by the APUS kernel_map, but prevents
|
||||
@ -552,18 +535,6 @@ extern unsigned long iopa(unsigned long addr);
|
||||
#define IOMAP_NOCACHE_NONSER 2
|
||||
#define IOMAP_NO_COPYBACK 3
|
||||
|
||||
/*
|
||||
* Map some physical address range into the kernel address space.
|
||||
*/
|
||||
extern unsigned long kernel_map(unsigned long paddr, unsigned long size,
|
||||
int nocacheflag, unsigned long *memavailp);
|
||||
|
||||
/*
|
||||
* Set cache mode of (kernel space) address range.
|
||||
*/
|
||||
extern void kernel_set_cachemode(unsigned long address, unsigned long size,
|
||||
unsigned int cmode);
|
||||
|
||||
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
|
||||
#define kern_addr_valid(addr) (1)
|
||||
|
||||
@ -577,10 +548,6 @@ extern void kernel_set_cachemode(unsigned long address, unsigned long size,
|
||||
void do_page_fault(struct pt_regs *regs, unsigned long address,
|
||||
unsigned long error_code);
|
||||
|
||||
void __init io_block_mapping(unsigned long virt, phys_addr_t phys,
|
||||
unsigned int size, int flags);
|
||||
|
||||
void __init adjust_total_lowmem(void);
|
||||
void mapin_ram(void);
|
||||
int map_page(unsigned long va, phys_addr_t pa, int flags);
|
||||
|
||||
@ -601,7 +568,7 @@ void __init *early_get_page(void);
|
||||
extern unsigned long ioremap_bot, ioremap_base;
|
||||
|
||||
void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle);
|
||||
void consistent_free(void *vaddr);
|
||||
void consistent_free(size_t size, void *vaddr);
|
||||
void consistent_sync(void *vaddr, size_t size, int direction);
|
||||
void consistent_sync_page(struct page *page, unsigned long offset,
|
||||
size_t size, int direction);
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <linux/hardirq.h>
|
||||
#include <linux/thread_info.h>
|
||||
#include <linux/kbuild.h>
|
||||
#include <asm/cpuinfo.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -96,13 +96,16 @@ static inline void __disable_dcache_nomsr(void)
|
||||
}
|
||||
|
||||
|
||||
/* Helper macro for computing the limits of cache range loops */
|
||||
/* Helper macro for computing the limits of cache range loops
|
||||
*
|
||||
* End address can be unaligned which is OK for C implementation.
|
||||
* ASM implementation align it in ASM macros
|
||||
*/
|
||||
#define CACHE_LOOP_LIMITS(start, end, cache_line_length, cache_size) \
|
||||
do { \
|
||||
int align = ~(cache_line_length - 1); \
|
||||
end = min(start + cache_size, end); \
|
||||
start &= align; \
|
||||
end = ((end & align) + cache_line_length); \
|
||||
} while (0);
|
||||
|
||||
/*
|
||||
@ -111,9 +114,9 @@ do { \
|
||||
*/
|
||||
#define CACHE_ALL_LOOP(cache_size, line_length, op) \
|
||||
do { \
|
||||
unsigned int len = cache_size; \
|
||||
unsigned int len = cache_size - line_length; \
|
||||
int step = -line_length; \
|
||||
BUG_ON(step >= 0); \
|
||||
WARN_ON(step >= 0); \
|
||||
\
|
||||
__asm__ __volatile__ (" 1: " #op " %0, r0; \
|
||||
bgtid %0, 1b; \
|
||||
@ -122,26 +125,21 @@ do { \
|
||||
: "memory"); \
|
||||
} while (0);
|
||||
|
||||
|
||||
#define CACHE_ALL_LOOP2(cache_size, line_length, op) \
|
||||
do { \
|
||||
unsigned int len = cache_size; \
|
||||
int step = -line_length; \
|
||||
BUG_ON(step >= 0); \
|
||||
\
|
||||
__asm__ __volatile__ (" 1: " #op " r0, %0; \
|
||||
bgtid %0, 1b; \
|
||||
addk %0, %0, %1; \
|
||||
" : : "r" (len), "r" (step) \
|
||||
: "memory"); \
|
||||
} while (0);
|
||||
|
||||
/* for wdc.flush/clear */
|
||||
/* Used for wdc.flush/clear which can use rB for offset which is not possible
|
||||
* to use for simple wdc or wic.
|
||||
*
|
||||
* start address is cache aligned
|
||||
* end address is not aligned, if end is aligned then I have to substract
|
||||
* cacheline length because I can't flush/invalidate the next cacheline.
|
||||
* If is not, I align it because I will flush/invalidate whole line.
|
||||
*/
|
||||
#define CACHE_RANGE_LOOP_2(start, end, line_length, op) \
|
||||
do { \
|
||||
int step = -line_length; \
|
||||
int align = ~(line_length - 1); \
|
||||
end = ((end & align) == end) ? end - line_length : end & align; \
|
||||
int count = end - start; \
|
||||
BUG_ON(count <= 0); \
|
||||
WARN_ON(count < 0); \
|
||||
\
|
||||
__asm__ __volatile__ (" 1: " #op " %0, %1; \
|
||||
bgtid %1, 1b; \
|
||||
@ -154,7 +152,9 @@ do { \
|
||||
#define CACHE_RANGE_LOOP_1(start, end, line_length, op) \
|
||||
do { \
|
||||
int volatile temp; \
|
||||
BUG_ON(end - start <= 0); \
|
||||
int align = ~(line_length - 1); \
|
||||
end = ((end & align) == end) ? end - line_length : end & align; \
|
||||
WARN_ON(end - start < 0); \
|
||||
\
|
||||
__asm__ __volatile__ (" 1: " #op " %1, r0; \
|
||||
cmpu %0, %1, %2; \
|
||||
@ -360,8 +360,12 @@ static void __invalidate_dcache_all_noirq_wt(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
/* FIXME this is weird - should be only wdc but not work
|
||||
* MS: I am getting bus errors and other weird things */
|
||||
/* FIXME It is blindly invalidation as is expected
|
||||
* but can't be called on noMMU in microblaze_cache_init below
|
||||
*
|
||||
* MS: noMMU kernel won't boot if simple wdc is used
|
||||
* The reason should be that there are discared data which kernel needs
|
||||
*/
|
||||
static void __invalidate_dcache_all_wb(void)
|
||||
{
|
||||
#ifndef ASM_LOOP
|
||||
@ -369,12 +373,12 @@ static void __invalidate_dcache_all_wb(void)
|
||||
#endif
|
||||
pr_debug("%s\n", __func__);
|
||||
#ifdef ASM_LOOP
|
||||
CACHE_ALL_LOOP2(cpuinfo.dcache_size, cpuinfo.dcache_line_length,
|
||||
wdc.clear)
|
||||
CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length,
|
||||
wdc)
|
||||
#else
|
||||
for (i = 0; i < cpuinfo.dcache_size;
|
||||
i += cpuinfo.dcache_line_length)
|
||||
__asm__ __volatile__ ("wdc.clear %0, r0;" \
|
||||
__asm__ __volatile__ ("wdc %0, r0;" \
|
||||
: : "r" (i));
|
||||
#endif
|
||||
}
|
||||
@ -393,7 +397,7 @@ static void __invalidate_dcache_range_wb(unsigned long start,
|
||||
#ifdef ASM_LOOP
|
||||
CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear);
|
||||
#else
|
||||
for (i = start; i < end; i += cpuinfo.icache_line_length)
|
||||
for (i = start; i < end; i += cpuinfo.dcache_line_length)
|
||||
__asm__ __volatile__ ("wdc.clear %0, r0;" \
|
||||
: : "r" (i));
|
||||
#endif
|
||||
@ -413,7 +417,7 @@ static void __invalidate_dcache_range_nomsr_wt(unsigned long start,
|
||||
#ifdef ASM_LOOP
|
||||
CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc);
|
||||
#else
|
||||
for (i = start; i < end; i += cpuinfo.icache_line_length)
|
||||
for (i = start; i < end; i += cpuinfo.dcache_line_length)
|
||||
__asm__ __volatile__ ("wdc %0, r0;" \
|
||||
: : "r" (i));
|
||||
#endif
|
||||
@ -437,7 +441,7 @@ static void __invalidate_dcache_range_msr_irq_wt(unsigned long start,
|
||||
#ifdef ASM_LOOP
|
||||
CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc);
|
||||
#else
|
||||
for (i = start; i < end; i += cpuinfo.icache_line_length)
|
||||
for (i = start; i < end; i += cpuinfo.dcache_line_length)
|
||||
__asm__ __volatile__ ("wdc %0, r0;" \
|
||||
: : "r" (i));
|
||||
#endif
|
||||
@ -465,7 +469,7 @@ static void __invalidate_dcache_range_nomsr_irq(unsigned long start,
|
||||
#ifdef ASM_LOOP
|
||||
CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc);
|
||||
#else
|
||||
for (i = start; i < end; i += cpuinfo.icache_line_length)
|
||||
for (i = start; i < end; i += cpuinfo.dcache_line_length)
|
||||
__asm__ __volatile__ ("wdc %0, r0;" \
|
||||
: : "r" (i));
|
||||
#endif
|
||||
@ -504,7 +508,7 @@ static void __flush_dcache_range_wb(unsigned long start, unsigned long end)
|
||||
#ifdef ASM_LOOP
|
||||
CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush);
|
||||
#else
|
||||
for (i = start; i < end; i += cpuinfo.icache_line_length)
|
||||
for (i = start; i < end; i += cpuinfo.dcache_line_length)
|
||||
__asm__ __volatile__ ("wdc.flush %0, r0;" \
|
||||
: : "r" (i));
|
||||
#endif
|
||||
@ -650,7 +654,11 @@ void microblaze_cache_init(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
invalidate_dcache();
|
||||
/* FIXME Invalidation is done in U-BOOT
|
||||
* WT cache: Data is already written to main memory
|
||||
* WB cache: Discard data on noMMU which caused that kernel doesn't boot
|
||||
*/
|
||||
/* invalidate_dcache(); */
|
||||
enable_dcache();
|
||||
|
||||
invalidate_icache();
|
||||
|
@ -98,15 +98,17 @@ static int show_cpuinfo(struct seq_file *m, void *v)
|
||||
|
||||
if (cpuinfo.use_icache)
|
||||
count += seq_printf(m,
|
||||
"Icache:\t\t%ukB\n",
|
||||
cpuinfo.icache_size >> 10);
|
||||
"Icache:\t\t%ukB\tline length:\t%dB\n",
|
||||
cpuinfo.icache_size >> 10,
|
||||
cpuinfo.icache_line_length);
|
||||
else
|
||||
count += seq_printf(m, "Icache:\t\tno\n");
|
||||
|
||||
if (cpuinfo.use_dcache) {
|
||||
count += seq_printf(m,
|
||||
"Dcache:\t\t%ukB\n",
|
||||
cpuinfo.dcache_size >> 10);
|
||||
"Dcache:\t\t%ukB\tline length:\t%dB\n",
|
||||
cpuinfo.dcache_size >> 10,
|
||||
cpuinfo.dcache_line_length);
|
||||
if (cpuinfo.dcache_wb)
|
||||
count += seq_printf(m, "\t\twrite-back\n");
|
||||
else
|
||||
|
@ -74,7 +74,7 @@ static void dma_direct_free_coherent(struct device *dev, size_t size,
|
||||
void *vaddr, dma_addr_t dma_handle)
|
||||
{
|
||||
#ifdef NOT_COHERENT_CACHE
|
||||
consistent_free(vaddr);
|
||||
consistent_free(size, vaddr);
|
||||
#else
|
||||
free_pages((unsigned long)vaddr, get_order(size));
|
||||
#endif
|
||||
|
@ -121,7 +121,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
|
||||
}
|
||||
printk(KERN_WARNING "Divide by zero exception " \
|
||||
"in kernel mode.\n");
|
||||
die("Divide by exception", regs, SIGBUS);
|
||||
die("Divide by zero exception", regs, SIGBUS);
|
||||
break;
|
||||
case MICROBLAZE_FPU_EXCEPTION:
|
||||
pr_debug(KERN_WARNING "FPU exception\n");
|
||||
|
@ -28,6 +28,7 @@
|
||||
* for more details.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <asm/thread_info.h>
|
||||
#include <asm/page.h>
|
||||
@ -49,7 +50,7 @@ swapper_pg_dir:
|
||||
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
.text
|
||||
__HEAD
|
||||
ENTRY(_start)
|
||||
#if CONFIG_KERNEL_BASE_ADDR == 0
|
||||
brai TOPHYS(real_start)
|
||||
|
@ -9,6 +9,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/ftrace.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <linux/interrupt.h>
|
||||
@ -32,7 +33,7 @@ EXPORT_SYMBOL_GPL(irq_of_parse_and_map);
|
||||
|
||||
static u32 concurrent_irq;
|
||||
|
||||
void do_IRQ(struct pt_regs *regs)
|
||||
void __irq_entry do_IRQ(struct pt_regs *regs)
|
||||
{
|
||||
unsigned int irq;
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
|
@ -93,39 +93,3 @@ early_console_reg_tlb_alloc:
|
||||
nop
|
||||
|
||||
.size early_console_reg_tlb_alloc, . - early_console_reg_tlb_alloc
|
||||
|
||||
/*
|
||||
* Copy a whole page (4096 bytes).
|
||||
*/
|
||||
#define COPY_16_BYTES \
|
||||
lwi r7, r6, 0; \
|
||||
lwi r8, r6, 4; \
|
||||
lwi r9, r6, 8; \
|
||||
lwi r10, r6, 12; \
|
||||
swi r7, r5, 0; \
|
||||
swi r8, r5, 4; \
|
||||
swi r9, r5, 8; \
|
||||
swi r10, r5, 12
|
||||
|
||||
|
||||
/* FIXME DCACHE_LINE_BYTES (CONFIG_XILINX_MICROBLAZE0_DCACHE_LINE_LEN * 4)*/
|
||||
#define DCACHE_LINE_BYTES (4 * 4)
|
||||
|
||||
.globl copy_page;
|
||||
.type copy_page, @function
|
||||
.align 4;
|
||||
copy_page:
|
||||
ori r11, r0, (PAGE_SIZE/DCACHE_LINE_BYTES) - 1
|
||||
_copy_page_loop:
|
||||
COPY_16_BYTES
|
||||
#if DCACHE_LINE_BYTES >= 32
|
||||
COPY_16_BYTES
|
||||
#endif
|
||||
addik r6, r6, DCACHE_LINE_BYTES
|
||||
addik r5, r5, DCACHE_LINE_BYTES
|
||||
bneid r11, _copy_page_loop
|
||||
addik r11, r11, -1
|
||||
rtsd r15, 8
|
||||
nop
|
||||
|
||||
.size copy_page, . - copy_page
|
||||
|
@ -95,37 +95,3 @@ void dump_stack(void)
|
||||
show_stack(NULL, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL(dump_stack);
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
void __bug(const char *file, int line, void *data)
|
||||
{
|
||||
if (data)
|
||||
printk(KERN_CRIT "kernel BUG at %s:%d (data = %p)!\n",
|
||||
file, line, data);
|
||||
else
|
||||
printk(KERN_CRIT "kernel BUG at %s:%d!\n", file, line);
|
||||
|
||||
machine_halt();
|
||||
}
|
||||
|
||||
int bad_trap(int trap_num, struct pt_regs *regs)
|
||||
{
|
||||
printk(KERN_CRIT
|
||||
"unimplemented trap %d called at 0x%08lx, pid %d!\n",
|
||||
trap_num, regs->pc, current->pid);
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int debug_trap(struct pt_regs *regs)
|
||||
{
|
||||
int i;
|
||||
printk(KERN_CRIT "debug trap\n");
|
||||
for (i = 0; i < 32; i++) {
|
||||
/* printk("r%i:%08X\t",i,regs->gpr[i]); */
|
||||
if ((i % 4) == 3)
|
||||
printk(KERN_CRIT "\n");
|
||||
}
|
||||
printk(KERN_CRIT "pc:%08lX\tmsr:%08lX\n", regs->pc, regs->msr);
|
||||
return -ENOSYS;
|
||||
}
|
||||
#endif
|
||||
|
@ -24,7 +24,8 @@ SECTIONS {
|
||||
.text : AT(ADDR(.text) - LOAD_OFFSET) {
|
||||
_text = . ;
|
||||
_stext = . ;
|
||||
*(.text .text.*)
|
||||
HEAD_TEXT
|
||||
TEXT_TEXT
|
||||
*(.fixup)
|
||||
EXIT_TEXT
|
||||
EXIT_CALL
|
||||
|
@ -42,11 +42,12 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/cpuinfo.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
|
||||
/* I have to use dcache values because I can't relate on ram size */
|
||||
#define UNCACHED_SHADOW_MASK (cpuinfo.dcache_high - cpuinfo.dcache_base + 1)
|
||||
# define UNCACHED_SHADOW_MASK (cpuinfo.dcache_high - cpuinfo.dcache_base + 1)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Consistent memory allocators. Used for DMA devices that want to
|
||||
@ -60,71 +61,16 @@
|
||||
*/
|
||||
void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle)
|
||||
{
|
||||
struct page *page, *end, *free;
|
||||
unsigned long order;
|
||||
void *ret, *virt;
|
||||
unsigned long order, vaddr;
|
||||
void *ret;
|
||||
unsigned int i, err = 0;
|
||||
struct page *page, *end;
|
||||
|
||||
if (in_interrupt())
|
||||
BUG();
|
||||
|
||||
size = PAGE_ALIGN(size);
|
||||
order = get_order(size);
|
||||
|
||||
page = alloc_pages(gfp, order);
|
||||
if (!page)
|
||||
goto no_page;
|
||||
|
||||
/* We could do with a page_to_phys and page_to_bus here. */
|
||||
virt = page_address(page);
|
||||
ret = ioremap(virt_to_phys(virt), size);
|
||||
if (!ret)
|
||||
goto no_remap;
|
||||
|
||||
/*
|
||||
* Here's the magic! Note if the uncached shadow is not implemented,
|
||||
* it's up to the calling code to also test that condition and make
|
||||
* other arranegments, such as manually flushing the cache and so on.
|
||||
*/
|
||||
#ifdef CONFIG_XILINX_UNCACHED_SHADOW
|
||||
ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK);
|
||||
#endif
|
||||
/* dma_handle is same as physical (shadowed) address */
|
||||
*dma_handle = (dma_addr_t)ret;
|
||||
|
||||
/*
|
||||
* free wasted pages. We skip the first page since we know
|
||||
* that it will have count = 1 and won't require freeing.
|
||||
* We also mark the pages in use as reserved so that
|
||||
* remap_page_range works.
|
||||
*/
|
||||
page = virt_to_page(virt);
|
||||
free = page + (size >> PAGE_SHIFT);
|
||||
end = page + (1 << order);
|
||||
|
||||
for (; page < end; page++) {
|
||||
init_page_count(page);
|
||||
if (page >= free)
|
||||
__free_page(page);
|
||||
else
|
||||
SetPageReserved(page);
|
||||
}
|
||||
|
||||
return ret;
|
||||
no_remap:
|
||||
__free_pages(page, order);
|
||||
no_page:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle)
|
||||
{
|
||||
int order, err, i;
|
||||
unsigned long page, va, flags;
|
||||
#ifdef CONFIG_MMU
|
||||
phys_addr_t pa;
|
||||
struct vm_struct *area;
|
||||
void *ret;
|
||||
unsigned long va;
|
||||
#endif
|
||||
|
||||
if (in_interrupt())
|
||||
BUG();
|
||||
@ -133,71 +79,133 @@ void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle)
|
||||
size = PAGE_ALIGN(size);
|
||||
order = get_order(size);
|
||||
|
||||
page = __get_free_pages(gfp, order);
|
||||
if (!page) {
|
||||
BUG();
|
||||
vaddr = __get_free_pages(gfp, order);
|
||||
if (!vaddr)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* we need to ensure that there are no cachelines in use,
|
||||
* or worse dirty in this area.
|
||||
*/
|
||||
flush_dcache_range(virt_to_phys(page), virt_to_phys(page) + size);
|
||||
flush_dcache_range(virt_to_phys((void *)vaddr),
|
||||
virt_to_phys((void *)vaddr) + size);
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
ret = (void *)vaddr;
|
||||
/*
|
||||
* Here's the magic! Note if the uncached shadow is not implemented,
|
||||
* it's up to the calling code to also test that condition and make
|
||||
* other arranegments, such as manually flushing the cache and so on.
|
||||
*/
|
||||
# ifdef CONFIG_XILINX_UNCACHED_SHADOW
|
||||
ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK);
|
||||
# endif
|
||||
if ((unsigned int)ret > cpuinfo.dcache_base &&
|
||||
(unsigned int)ret < cpuinfo.dcache_high)
|
||||
printk(KERN_WARNING
|
||||
"ERROR: Your cache coherent area is CACHED!!!\n");
|
||||
|
||||
/* dma_handle is same as physical (shadowed) address */
|
||||
*dma_handle = (dma_addr_t)ret;
|
||||
#else
|
||||
/* Allocate some common virtual space to map the new pages. */
|
||||
area = get_vm_area(size, VM_ALLOC);
|
||||
if (area == NULL) {
|
||||
free_pages(page, order);
|
||||
if (!area) {
|
||||
free_pages(vaddr, order);
|
||||
return NULL;
|
||||
}
|
||||
va = (unsigned long) area->addr;
|
||||
ret = (void *)va;
|
||||
|
||||
/* This gives us the real physical address of the first page. */
|
||||
*dma_handle = pa = virt_to_bus((void *)page);
|
||||
|
||||
/* MS: This is the whole magic - use cache inhibit pages */
|
||||
flags = _PAGE_KERNEL | _PAGE_NO_CACHE;
|
||||
*dma_handle = pa = virt_to_bus((void *)vaddr);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Set refcount=1 on all pages in an order>0
|
||||
* allocation so that vfree() will actually
|
||||
* free all pages that were allocated.
|
||||
* free wasted pages. We skip the first page since we know
|
||||
* that it will have count = 1 and won't require freeing.
|
||||
* We also mark the pages in use as reserved so that
|
||||
* remap_page_range works.
|
||||
*/
|
||||
if (order > 0) {
|
||||
struct page *rpage = virt_to_page(page);
|
||||
for (i = 1; i < (1 << order); i++)
|
||||
init_page_count(rpage+i);
|
||||
page = virt_to_page(vaddr);
|
||||
end = page + (1 << order);
|
||||
|
||||
split_page(page, order);
|
||||
|
||||
for (i = 0; i < size && err == 0; i += PAGE_SIZE) {
|
||||
#ifdef CONFIG_MMU
|
||||
/* MS: This is the whole magic - use cache inhibit pages */
|
||||
err = map_page(va + i, pa + i, _PAGE_KERNEL | _PAGE_NO_CACHE);
|
||||
#endif
|
||||
|
||||
SetPageReserved(page);
|
||||
page++;
|
||||
}
|
||||
|
||||
err = 0;
|
||||
for (i = 0; i < size && err == 0; i += PAGE_SIZE)
|
||||
err = map_page(va+i, pa+i, flags);
|
||||
/* Free the otherwise unused pages. */
|
||||
while (page < end) {
|
||||
__free_page(page);
|
||||
page++;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
vfree((void *)va);
|
||||
free_pages(vaddr, order);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif /* CONFIG_MMU */
|
||||
EXPORT_SYMBOL(consistent_alloc);
|
||||
|
||||
/*
|
||||
* free page(s) as defined by the above mapping.
|
||||
*/
|
||||
void consistent_free(void *vaddr)
|
||||
void consistent_free(size_t size, void *vaddr)
|
||||
{
|
||||
struct page *page;
|
||||
|
||||
if (in_interrupt())
|
||||
BUG();
|
||||
|
||||
size = PAGE_ALIGN(size);
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
/* Clear SHADOW_MASK bit in address, and free as per usual */
|
||||
#ifdef CONFIG_XILINX_UNCACHED_SHADOW
|
||||
# ifdef CONFIG_XILINX_UNCACHED_SHADOW
|
||||
vaddr = (void *)((unsigned)vaddr & ~UNCACHED_SHADOW_MASK);
|
||||
# endif
|
||||
page = virt_to_page(vaddr);
|
||||
|
||||
do {
|
||||
ClearPageReserved(page);
|
||||
__free_page(page);
|
||||
page++;
|
||||
} while (size -= PAGE_SIZE);
|
||||
#else
|
||||
do {
|
||||
pte_t *ptep;
|
||||
unsigned long pfn;
|
||||
|
||||
ptep = pte_offset_kernel(pmd_offset(pgd_offset_k(
|
||||
(unsigned int)vaddr),
|
||||
(unsigned int)vaddr),
|
||||
(unsigned int)vaddr);
|
||||
if (!pte_none(*ptep) && pte_present(*ptep)) {
|
||||
pfn = pte_pfn(*ptep);
|
||||
pte_clear(&init_mm, (unsigned int)vaddr, ptep);
|
||||
if (pfn_valid(pfn)) {
|
||||
page = pfn_to_page(pfn);
|
||||
|
||||
ClearPageReserved(page);
|
||||
__free_page(page);
|
||||
}
|
||||
}
|
||||
vaddr += PAGE_SIZE;
|
||||
} while (size -= PAGE_SIZE);
|
||||
|
||||
/* flush tlb */
|
||||
flush_tlb_all();
|
||||
#endif
|
||||
vfree(vaddr);
|
||||
}
|
||||
EXPORT_SYMBOL(consistent_free);
|
||||
|
||||
@ -221,7 +229,7 @@ void consistent_sync(void *vaddr, size_t size, int direction)
|
||||
case PCI_DMA_NONE:
|
||||
BUG();
|
||||
case PCI_DMA_FROMDEVICE: /* invalidate only */
|
||||
flush_dcache_range(start, end);
|
||||
invalidate_dcache_range(start, end);
|
||||
break;
|
||||
case PCI_DMA_TODEVICE: /* writeback only */
|
||||
flush_dcache_range(start, end);
|
||||
|
@ -273,16 +273,11 @@ bad_area_nosemaphore:
|
||||
* us unable to handle the page fault gracefully.
|
||||
*/
|
||||
out_of_memory:
|
||||
if (current->pid == 1) {
|
||||
yield();
|
||||
down_read(&mm->mmap_sem);
|
||||
goto survive;
|
||||
}
|
||||
up_read(&mm->mmap_sem);
|
||||
printk(KERN_WARNING "VM: killing process %s\n", current->comm);
|
||||
if (user_mode(regs))
|
||||
do_exit(SIGKILL);
|
||||
bad_page_fault(regs, address, SIGKILL);
|
||||
if (!user_mode(regs))
|
||||
bad_page_fault(regs, address, SIGKILL);
|
||||
else
|
||||
pagefault_out_of_memory();
|
||||
return;
|
||||
|
||||
do_sigbus:
|
||||
|
@ -161,24 +161,6 @@ int map_page(unsigned long va, phys_addr_t pa, int flags)
|
||||
return err;
|
||||
}
|
||||
|
||||
void __init adjust_total_lowmem(void)
|
||||
{
|
||||
/* TBD */
|
||||
#if 0
|
||||
unsigned long max_low_mem = MAX_LOW_MEM;
|
||||
|
||||
if (total_lowmem > max_low_mem) {
|
||||
total_lowmem = max_low_mem;
|
||||
#ifndef CONFIG_HIGHMEM
|
||||
printk(KERN_INFO "Warning, memory limited to %ld Mb, use "
|
||||
"CONFIG_HIGHMEM to reach %ld Mb\n",
|
||||
max_low_mem >> 20, total_memory >> 20);
|
||||
total_memory = total_lowmem;
|
||||
#endif /* CONFIG_HIGHMEM */
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Map in all of physical memory starting at CONFIG_KERNEL_START.
|
||||
*/
|
||||
@ -206,24 +188,6 @@ void __init mapin_ram(void)
|
||||
/* is x a power of 2? */
|
||||
#define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0))
|
||||
|
||||
/*
|
||||
* Set up a mapping for a block of I/O.
|
||||
* virt, phys, size must all be page-aligned.
|
||||
* This should only be called before ioremap is called.
|
||||
*/
|
||||
void __init io_block_mapping(unsigned long virt, phys_addr_t phys,
|
||||
unsigned int size, int flags)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (virt > CONFIG_KERNEL_START && virt < ioremap_bot)
|
||||
ioremap_bot = ioremap_base = virt;
|
||||
|
||||
/* Put it in the page tables. */
|
||||
for (i = 0; i < size; i += PAGE_SIZE)
|
||||
map_page(virt + i, phys + i, flags);
|
||||
}
|
||||
|
||||
/* Scan the real Linux page tables and return a PTE pointer for
|
||||
* a virtual address in a context.
|
||||
* Returns true (1) if PTE was found, zero otherwise. The pointer to
|
||||
@ -274,3 +238,18 @@ unsigned long iopa(unsigned long addr)
|
||||
|
||||
return pa;
|
||||
}
|
||||
|
||||
__init_refok pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
|
||||
unsigned long address)
|
||||
{
|
||||
pte_t *pte;
|
||||
if (mem_init_done) {
|
||||
pte = (pte_t *)__get_free_page(GFP_KERNEL |
|
||||
__GFP_REPEAT | __GFP_ZERO);
|
||||
} else {
|
||||
pte = (pte_t *)early_get_page();
|
||||
if (pte)
|
||||
clear_page(pte);
|
||||
}
|
||||
return pte;
|
||||
}
|
||||
|
@ -1025,7 +1025,7 @@ static void __devinit pcibios_fixup_bridge(struct pci_bus *bus)
|
||||
|
||||
struct pci_dev *dev = bus->self;
|
||||
|
||||
for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) {
|
||||
pci_bus_for_each_resource(bus, res, i) {
|
||||
res = bus->resource[i];
|
||||
if (!res)
|
||||
continue;
|
||||
@ -1131,21 +1131,20 @@ static int skip_isa_ioresource_align(struct pci_dev *dev)
|
||||
* but we want to try to avoid allocating at 0x2900-0x2bff
|
||||
* which might have be mirrored at 0x0100-0x03ff..
|
||||
*/
|
||||
void pcibios_align_resource(void *data, struct resource *res,
|
||||
resource_size_t pcibios_align_resource(void *data, const struct resource *res,
|
||||
resource_size_t size, resource_size_t align)
|
||||
{
|
||||
struct pci_dev *dev = data;
|
||||
resource_size_t start = res->start;
|
||||
|
||||
if (res->flags & IORESOURCE_IO) {
|
||||
resource_size_t start = res->start;
|
||||
|
||||
if (skip_isa_ioresource_align(dev))
|
||||
return;
|
||||
if (start & 0x300) {
|
||||
return start;
|
||||
if (start & 0x300)
|
||||
start = (start + 0x3ff) & ~0x3ff;
|
||||
res->start = start;
|
||||
}
|
||||
}
|
||||
|
||||
return start;
|
||||
}
|
||||
EXPORT_SYMBOL(pcibios_align_resource);
|
||||
|
||||
@ -1228,7 +1227,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus)
|
||||
pr_debug("PCI: Allocating bus resources for %04x:%02x...\n",
|
||||
pci_domain_nr(bus), bus->number);
|
||||
|
||||
for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) {
|
||||
pci_bus_for_each_resource(bus, res, i) {
|
||||
res = bus->resource[i];
|
||||
if (!res || !res->flags
|
||||
|| res->start > res->end || res->parent)
|
||||
|
@ -49,7 +49,7 @@ config AR7
|
||||
family: TNETD7100, 7200 and 7300.
|
||||
|
||||
config BCM47XX
|
||||
bool "BCM47XX based boards"
|
||||
bool "Broadcom BCM47XX based boards"
|
||||
select CEVT_R4K
|
||||
select CSRC_R4K
|
||||
select DMA_NONCOHERENT
|
||||
@ -509,6 +509,7 @@ config SIBYTE_SWARM
|
||||
bool "Sibyte BCM91250A-SWARM"
|
||||
select BOOT_ELF32
|
||||
select DMA_COHERENT
|
||||
select HAVE_PATA_PLATFORM
|
||||
select NR_CPUS_DEFAULT_2
|
||||
select SIBYTE_SB1250
|
||||
select SWAP_IO_SPACE
|
||||
@ -523,6 +524,7 @@ config SIBYTE_LITTLESUR
|
||||
depends on EXPERIMENTAL
|
||||
select BOOT_ELF32
|
||||
select DMA_COHERENT
|
||||
select HAVE_PATA_PLATFORM
|
||||
select NR_CPUS_DEFAULT_2
|
||||
select SIBYTE_SB1250
|
||||
select SWAP_IO_SPACE
|
||||
@ -1305,6 +1307,33 @@ config CPU_CAVIUM_OCTEON
|
||||
|
||||
endchoice
|
||||
|
||||
if CPU_LOONGSON2F
|
||||
config CPU_NOP_WORKAROUNDS
|
||||
bool
|
||||
|
||||
config CPU_JUMP_WORKAROUNDS
|
||||
bool
|
||||
|
||||
config CPU_LOONGSON2F_WORKAROUNDS
|
||||
bool "Loongson 2F Workarounds"
|
||||
default y
|
||||
select CPU_NOP_WORKAROUNDS
|
||||
select CPU_JUMP_WORKAROUNDS
|
||||
help
|
||||
Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
|
||||
require workarounds. Without workarounds the system may hang
|
||||
unexpectedly. For more information please refer to the gas
|
||||
-mfix-loongson2f-nop and -mfix-loongson2f-jump options.
|
||||
|
||||
Loongson 2F03 and later have fixed these issues and no workarounds
|
||||
are needed. The workarounds have no significant side effect on them
|
||||
but may decrease the performance of the system so this option should
|
||||
be disabled unless the kernel is intended to be run on 2F01 or 2F02
|
||||
systems.
|
||||
|
||||
If unsure, please say Y.
|
||||
endif # CPU_LOONGSON2F
|
||||
|
||||
config SYS_SUPPORTS_ZBOOT
|
||||
bool
|
||||
select HAVE_KERNEL_GZIP
|
||||
|
@ -136,6 +136,19 @@ cflags-$(CONFIG_CPU_LOONGSON2E) += \
|
||||
$(call cc-option,-march=loongson2e,-march=r4600)
|
||||
cflags-$(CONFIG_CPU_LOONGSON2F) += \
|
||||
$(call cc-option,-march=loongson2f,-march=r4600)
|
||||
# enable the workarounds for loongson2f
|
||||
ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS
|
||||
ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),)
|
||||
$(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop)
|
||||
else
|
||||
cflags-$(CONFIG_CPU_NOP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-nop
|
||||
endif
|
||||
ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-jump,),)
|
||||
$(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-jump)
|
||||
else
|
||||
cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-jump
|
||||
endif
|
||||
endif
|
||||
|
||||
cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
|
||||
-Wa,-mips32 -Wa,--trap
|
||||
|
@ -66,12 +66,16 @@ static int __init db1200_arch_init(void)
|
||||
set_irq_type(AU1200_GPIO7_INT, IRQF_TRIGGER_LOW);
|
||||
bcsr_init_irq(DB1200_INT_BEGIN, DB1200_INT_END, AU1200_GPIO7_INT);
|
||||
|
||||
/* do not autoenable these: CPLD has broken edge int handling,
|
||||
* and the CD handler setup requires manual enabling to work
|
||||
* around that.
|
||||
/* insert/eject pairs: one of both is always screaming. To avoid
|
||||
* issues they must not be automatically enabled when initially
|
||||
* requested.
|
||||
*/
|
||||
irq_to_desc(DB1200_SD0_INSERT_INT)->status |= IRQ_NOAUTOEN;
|
||||
irq_to_desc(DB1200_SD0_EJECT_INT)->status |= IRQ_NOAUTOEN;
|
||||
irq_to_desc(DB1200_PC0_INSERT_INT)->status |= IRQ_NOAUTOEN;
|
||||
irq_to_desc(DB1200_PC0_EJECT_INT)->status |= IRQ_NOAUTOEN;
|
||||
irq_to_desc(DB1200_PC1_INSERT_INT)->status |= IRQ_NOAUTOEN;
|
||||
irq_to_desc(DB1200_PC1_EJECT_INT)->status |= IRQ_NOAUTOEN;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.30-rc6
|
||||
# Sun May 31 20:17:18 2009
|
||||
# Linux kernel version: 2.6.34-rc2
|
||||
# Tue Mar 23 10:36:32 2010
|
||||
#
|
||||
CONFIG_MIPS=y
|
||||
|
||||
@ -9,13 +9,14 @@ CONFIG_MIPS=y
|
||||
# Machine selection
|
||||
#
|
||||
# CONFIG_MACH_ALCHEMY is not set
|
||||
# CONFIG_AR7 is not set
|
||||
# CONFIG_BCM47XX is not set
|
||||
CONFIG_BCM63XX=y
|
||||
# CONFIG_MIPS_COBALT is not set
|
||||
# CONFIG_MACH_DECSTATION is not set
|
||||
# CONFIG_MACH_JAZZ is not set
|
||||
# CONFIG_LASAT is not set
|
||||
# CONFIG_LEMOTE_FULONG is not set
|
||||
# CONFIG_MACH_LOONGSON is not set
|
||||
# CONFIG_MIPS_MALTA is not set
|
||||
# CONFIG_MIPS_SIM is not set
|
||||
# CONFIG_NEC_MARKEINS is not set
|
||||
@ -26,6 +27,7 @@ CONFIG_BCM63XX=y
|
||||
# CONFIG_PNX8550_STB810 is not set
|
||||
# CONFIG_PMC_MSP is not set
|
||||
# CONFIG_PMC_YOSEMITE is not set
|
||||
# CONFIG_POWERTV is not set
|
||||
# CONFIG_SGI_IP22 is not set
|
||||
# CONFIG_SGI_IP27 is not set
|
||||
# CONFIG_SGI_IP28 is not set
|
||||
@ -45,13 +47,17 @@ CONFIG_BCM63XX=y
|
||||
# CONFIG_WR_PPMC is not set
|
||||
# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
|
||||
# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
|
||||
# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
|
||||
|
||||
#
|
||||
# CPU support
|
||||
#
|
||||
CONFIG_BCM63XX_CPU_6338=y
|
||||
CONFIG_BCM63XX_CPU_6345=y
|
||||
CONFIG_BCM63XX_CPU_6348=y
|
||||
CONFIG_BCM63XX_CPU_6358=y
|
||||
CONFIG_BOARD_BCM963XX=y
|
||||
CONFIG_LOONGSON_UART_BASE=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
@ -69,10 +75,8 @@ CONFIG_CEVT_R4K=y
|
||||
CONFIG_CSRC_R4K_LIB=y
|
||||
CONFIG_CSRC_R4K=y
|
||||
CONFIG_DMA_NONCOHERENT=y
|
||||
CONFIG_DMA_NEED_PCI_MAP_STATE=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_SYS_HAS_EARLY_PRINTK=y
|
||||
# CONFIG_HOTPLUG_CPU is not set
|
||||
# CONFIG_NO_IOPORT is not set
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
@ -85,7 +89,8 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
|
||||
#
|
||||
# CPU selection
|
||||
#
|
||||
# CONFIG_CPU_LOONGSON2 is not set
|
||||
# CONFIG_CPU_LOONGSON2E is not set
|
||||
# CONFIG_CPU_LOONGSON2F is not set
|
||||
CONFIG_CPU_MIPS32_R1=y
|
||||
# CONFIG_CPU_MIPS32_R2 is not set
|
||||
# CONFIG_CPU_MIPS64_R1 is not set
|
||||
@ -128,7 +133,7 @@ CONFIG_CPU_HAS_PREFETCH=y
|
||||
CONFIG_MIPS_MT_DISABLED=y
|
||||
# CONFIG_MIPS_MT_SMP is not set
|
||||
# CONFIG_MIPS_MT_SMTC is not set
|
||||
CONFIG_CPU_HAS_LLSC=y
|
||||
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
|
||||
CONFIG_CPU_HAS_SYNC=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
@ -146,9 +151,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_UNEVICTABLE_LRU=y
|
||||
CONFIG_HAVE_MLOCK=y
|
||||
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
|
||||
# CONFIG_KSM is not set
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
||||
CONFIG_TICK_ONESHOT=y
|
||||
CONFIG_NO_HZ=y
|
||||
# CONFIG_HIGH_RES_TIMERS is not set
|
||||
@ -170,6 +174,7 @@ CONFIG_PREEMPT_NONE=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
CONFIG_CONSTRUCTORS=y
|
||||
|
||||
#
|
||||
# General setup
|
||||
@ -189,15 +194,12 @@ CONFIG_LOCALVERSION=""
|
||||
#
|
||||
# RCU Subsystem
|
||||
#
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_TREE_RCU is not set
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
# CONFIG_TREE_PREEMPT_RCU is not set
|
||||
CONFIG_TINY_RCU=y
|
||||
# CONFIG_TREE_RCU_TRACE is not set
|
||||
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
# CONFIG_GROUP_SCHED is not set
|
||||
# CONFIG_CGROUPS is not set
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
# CONFIG_RELAY is not set
|
||||
@ -205,11 +207,11 @@ CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
CONFIG_HOTPLUG=y
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
@ -223,6 +225,10 @@ CONFIG_BASE_FULL=y
|
||||
# CONFIG_EVENTFD is not set
|
||||
# CONFIG_SHMEM is not set
|
||||
# CONFIG_AIO is not set
|
||||
|
||||
#
|
||||
# Kernel Performance Events And Counters
|
||||
#
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
@ -231,14 +237,17 @@ CONFIG_COMPAT_BRK=y
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_SLOB is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
# CONFIG_MARKERS is not set
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
#
|
||||
# CONFIG_SLOW_WORK is not set
|
||||
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_MODULES is not set
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
CONFIG_LBDAF=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||
|
||||
@ -246,14 +255,41 @@ CONFIG_BLOCK=y
|
||||
# IO Schedulers
|
||||
#
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
# CONFIG_IOSCHED_AS is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_DEFAULT_AS is not set
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
CONFIG_DEFAULT_NOOP=y
|
||||
CONFIG_DEFAULT_IOSCHED="noop"
|
||||
# CONFIG_INLINE_SPIN_TRYLOCK is not set
|
||||
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
|
||||
# CONFIG_INLINE_SPIN_LOCK is not set
|
||||
# CONFIG_INLINE_SPIN_LOCK_BH is not set
|
||||
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
|
||||
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
|
||||
CONFIG_INLINE_SPIN_UNLOCK=y
|
||||
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
|
||||
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
|
||||
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
|
||||
# CONFIG_INLINE_READ_TRYLOCK is not set
|
||||
# CONFIG_INLINE_READ_LOCK is not set
|
||||
# CONFIG_INLINE_READ_LOCK_BH is not set
|
||||
# CONFIG_INLINE_READ_LOCK_IRQ is not set
|
||||
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
|
||||
CONFIG_INLINE_READ_UNLOCK=y
|
||||
# CONFIG_INLINE_READ_UNLOCK_BH is not set
|
||||
CONFIG_INLINE_READ_UNLOCK_IRQ=y
|
||||
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
|
||||
# CONFIG_INLINE_WRITE_TRYLOCK is not set
|
||||
# CONFIG_INLINE_WRITE_LOCK is not set
|
||||
# CONFIG_INLINE_WRITE_LOCK_BH is not set
|
||||
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
|
||||
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
|
||||
CONFIG_INLINE_WRITE_UNLOCK=y
|
||||
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
|
||||
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
|
||||
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
|
||||
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
|
||||
# CONFIG_FREEZER is not set
|
||||
|
||||
#
|
||||
@ -263,15 +299,12 @@ CONFIG_HW_HAS_PCI=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
# CONFIG_PCI_LEGACY is not set
|
||||
# CONFIG_PCI_STUB is not set
|
||||
# CONFIG_PCI_IOV is not set
|
||||
CONFIG_MMU=y
|
||||
CONFIG_PCCARD=y
|
||||
# CONFIG_PCMCIA_DEBUG is not set
|
||||
CONFIG_PCMCIA=y
|
||||
CONFIG_PCMCIA_LOAD_CIS=y
|
||||
CONFIG_PCMCIA_IOCTL=y
|
||||
CONFIG_CARDBUS=y
|
||||
|
||||
#
|
||||
@ -295,6 +328,7 @@ CONFIG_TRAD_SIGNALS=y
|
||||
#
|
||||
# Power management options
|
||||
#
|
||||
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
# CONFIG_PM is not set
|
||||
CONFIG_NET=y
|
||||
@ -333,6 +367,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
# CONFIG_NETFILTER is not set
|
||||
# CONFIG_IP_DCCP is not set
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_RDS is not set
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
@ -347,6 +382,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_PHONET is not set
|
||||
# CONFIG_IEEE802154 is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_DCB is not set
|
||||
|
||||
@ -359,7 +395,27 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_WIRELESS=y
|
||||
CONFIG_WEXT_CORE=y
|
||||
CONFIG_WEXT_PROC=y
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_NL80211_TESTMODE=y
|
||||
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
|
||||
# CONFIG_CFG80211_REG_DEBUG is not set
|
||||
CONFIG_CFG80211_DEFAULT_PS=y
|
||||
# CONFIG_CFG80211_INTERNAL_REGDB is not set
|
||||
CONFIG_CFG80211_WEXT=y
|
||||
CONFIG_WIRELESS_EXT_SYSFS=y
|
||||
# CONFIG_LIB80211 is not set
|
||||
CONFIG_MAC80211=y
|
||||
# CONFIG_MAC80211_RC_PID is not set
|
||||
CONFIG_MAC80211_RC_MINSTREL=y
|
||||
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
|
||||
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
|
||||
CONFIG_MAC80211_RC_DEFAULT="minstrel"
|
||||
# CONFIG_MAC80211_MESH is not set
|
||||
CONFIG_MAC80211_LEDS=y
|
||||
# CONFIG_MAC80211_DEBUG_MENU is not set
|
||||
# CONFIG_WIMAX is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
@ -471,6 +527,7 @@ CONFIG_HAVE_IDE=y
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
CONFIG_SCSI_MOD=y
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_DMA is not set
|
||||
@ -484,13 +541,16 @@ CONFIG_HAVE_IDE=y
|
||||
#
|
||||
|
||||
#
|
||||
# Enable only one of the two stacks, unless you know what you are doing
|
||||
# You can enable one or both FireWire driver stacks.
|
||||
#
|
||||
|
||||
#
|
||||
# The newer stack is recommended.
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
# CONFIG_I2O is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_COMPAT_NET_DEV_OPS=y
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
@ -529,6 +589,7 @@ CONFIG_MII=y
|
||||
# CONFIG_SMC91X is not set
|
||||
# CONFIG_DM9000 is not set
|
||||
# CONFIG_ETHOC is not set
|
||||
# CONFIG_SMSC911X is not set
|
||||
# CONFIG_DNET is not set
|
||||
# CONFIG_NET_TULIP is not set
|
||||
# CONFIG_HP100 is not set
|
||||
@ -541,17 +602,48 @@ CONFIG_MII=y
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||
# CONFIG_NET_PCI is not set
|
||||
# CONFIG_B44 is not set
|
||||
# CONFIG_KS8842 is not set
|
||||
# CONFIG_KS8851_MLL is not set
|
||||
# CONFIG_ATL2 is not set
|
||||
CONFIG_BCM63XX_ENET=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
CONFIG_WLAN=y
|
||||
# CONFIG_PCMCIA_RAYCS is not set
|
||||
# CONFIG_LIBERTAS_THINFIRM is not set
|
||||
# CONFIG_ATMEL is not set
|
||||
# CONFIG_AT76C50X_USB is not set
|
||||
# CONFIG_AIRO_CS is not set
|
||||
# CONFIG_PCMCIA_WL3501 is not set
|
||||
# CONFIG_PRISM54 is not set
|
||||
# CONFIG_USB_ZD1201 is not set
|
||||
# CONFIG_USB_NET_RNDIS_WLAN is not set
|
||||
# CONFIG_RTL8180 is not set
|
||||
# CONFIG_RTL8187 is not set
|
||||
# CONFIG_ADM8211 is not set
|
||||
# CONFIG_MAC80211_HWSIM is not set
|
||||
# CONFIG_MWL8K is not set
|
||||
# CONFIG_ATH_COMMON is not set
|
||||
CONFIG_B43=y
|
||||
CONFIG_B43_PCI_AUTOSELECT=y
|
||||
CONFIG_B43_PCICORE_AUTOSELECT=y
|
||||
# CONFIG_B43_PCMCIA is not set
|
||||
CONFIG_B43_PIO=y
|
||||
# CONFIG_B43_PHY_LP is not set
|
||||
CONFIG_B43_LEDS=y
|
||||
# CONFIG_B43_DEBUG is not set
|
||||
# CONFIG_B43LEGACY is not set
|
||||
# CONFIG_HOSTAP is not set
|
||||
# CONFIG_IPW2100 is not set
|
||||
# CONFIG_IPW2200 is not set
|
||||
# CONFIG_IWLWIFI is not set
|
||||
# CONFIG_LIBERTAS is not set
|
||||
# CONFIG_HERMES is not set
|
||||
# CONFIG_P54_COMMON is not set
|
||||
# CONFIG_RT2X00 is not set
|
||||
# CONFIG_WL12XX is not set
|
||||
# CONFIG_ZD1211RW is not set
|
||||
|
||||
#
|
||||
# Enable WiMAX (Networking options) to see the WiMAX drivers
|
||||
@ -574,6 +666,7 @@ CONFIG_BCM63XX_ENET=y
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_VMXNET3 is not set
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
@ -607,6 +700,7 @@ CONFIG_BCM63XX_ENET=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_JSM is not set
|
||||
# CONFIG_SERIAL_TIMBERDALE is not set
|
||||
CONFIG_SERIAL_BCM63XX=y
|
||||
CONFIG_SERIAL_BCM63XX_CONSOLE=y
|
||||
# CONFIG_UNIX98_PTYS is not set
|
||||
@ -629,6 +723,11 @@ CONFIG_LEGACY_PTY_COUNT=256
|
||||
CONFIG_DEVPORT=y
|
||||
# CONFIG_I2C is not set
|
||||
# CONFIG_SPI is not set
|
||||
|
||||
#
|
||||
# PPS support
|
||||
#
|
||||
# CONFIG_PPS is not set
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
CONFIG_GPIOLIB=y
|
||||
# CONFIG_GPIO_SYSFS is not set
|
||||
@ -636,6 +735,8 @@ CONFIG_GPIOLIB=y
|
||||
#
|
||||
# Memory mapped GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_IT8761E is not set
|
||||
# CONFIG_GPIO_SCH is not set
|
||||
|
||||
#
|
||||
# I2C GPIO expanders:
|
||||
@ -644,16 +745,21 @@ CONFIG_GPIOLIB=y
|
||||
#
|
||||
# PCI GPIO expanders:
|
||||
#
|
||||
# CONFIG_GPIO_CS5535 is not set
|
||||
# CONFIG_GPIO_BT8XX is not set
|
||||
# CONFIG_GPIO_LANGWELL is not set
|
||||
|
||||
#
|
||||
# SPI GPIO expanders:
|
||||
#
|
||||
|
||||
#
|
||||
# AC97 GPIO expanders:
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_SUPPLY is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
# CONFIG_THERMAL_HWMON is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
@ -662,15 +768,16 @@ CONFIG_SSB_POSSIBLE=y
|
||||
#
|
||||
CONFIG_SSB=y
|
||||
CONFIG_SSB_SPROM=y
|
||||
CONFIG_SSB_BLOCKIO=y
|
||||
CONFIG_SSB_PCIHOST_POSSIBLE=y
|
||||
CONFIG_SSB_PCIHOST=y
|
||||
# CONFIG_SSB_B43_PCI_BRIDGE is not set
|
||||
CONFIG_SSB_B43_PCI_BRIDGE=y
|
||||
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
|
||||
# CONFIG_SSB_PCMCIAHOST is not set
|
||||
# CONFIG_SSB_SILENT is not set
|
||||
# CONFIG_SSB_DEBUG is not set
|
||||
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
|
||||
# CONFIG_SSB_DRIVER_PCICORE is not set
|
||||
CONFIG_SSB_DRIVER_PCICORE=y
|
||||
# CONFIG_SSB_DRIVER_MIPS is not set
|
||||
|
||||
#
|
||||
@ -680,27 +787,15 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_MFD_TIMBERDALE is not set
|
||||
# CONFIG_LPC_SCH is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia core support
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_VIDEO_MEDIA is not set
|
||||
|
||||
#
|
||||
# Multimedia drivers
|
||||
#
|
||||
# CONFIG_DAB is not set
|
||||
# CONFIG_MEDIA_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_VGA_ARB is not set
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
|
||||
@ -710,11 +805,7 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
CONFIG_DISPLAY_SUPPORT=y
|
||||
|
||||
#
|
||||
# Display hardware drivers
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_SOUND is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
@ -741,13 +832,14 @@ CONFIG_USB=y
|
||||
# USB Host Controller Drivers
|
||||
#
|
||||
# CONFIG_USB_C67X00_HCD is not set
|
||||
# CONFIG_USB_XHCI_HCD is not set
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
|
||||
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
|
||||
CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
|
||||
# CONFIG_USB_OXU210HP_HCD is not set
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
# CONFIG_USB_ISP1760_HCD is not set
|
||||
# CONFIG_USB_ISP1362_HCD is not set
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
# CONFIG_USB_OHCI_HCD_SSB is not set
|
||||
CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
|
||||
@ -796,7 +888,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_BERRY_CHARGE is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
@ -807,8 +898,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# CONFIG_USB_LD is not set
|
||||
# CONFIG_USB_TRANCEVIBRATOR is not set
|
||||
# CONFIG_USB_IOWARRIOR is not set
|
||||
# CONFIG_USB_TEST is not set
|
||||
# CONFIG_USB_ISIGHTFW is not set
|
||||
# CONFIG_USB_VST is not set
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
@ -819,7 +910,29 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# CONFIG_UWB is not set
|
||||
# CONFIG_MMC is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_GPIO_PLATFORM=y
|
||||
# CONFIG_LEDS_LT3593 is not set
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
|
||||
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
|
||||
#
|
||||
# iptables trigger is under Netfilter config (LED target)
|
||||
#
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_INFINIBAND is not set
|
||||
CONFIG_RTC_LIB=y
|
||||
@ -827,6 +940,10 @@ CONFIG_RTC_LIB=y
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
#
|
||||
# TI VLYNQ
|
||||
#
|
||||
# CONFIG_STAGING is not set
|
||||
|
||||
#
|
||||
@ -838,12 +955,16 @@ CONFIG_RTC_LIB=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
# CONFIG_FILE_LOCKING is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_BTRFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
# CONFIG_FILE_LOCKING is not set
|
||||
CONFIG_FSNOTIFY=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_INOTIFY is not set
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
@ -875,8 +996,6 @@ CONFIG_PROC_KCORE=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_TMPFS_POSIX_ACL is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
CONFIG_MISC_FILESYSTEMS=y
|
||||
@ -888,6 +1007,7 @@ CONFIG_MISC_FILESYSTEMS=y
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
# CONFIG_LOGFS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_SQUASHFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
@ -898,7 +1018,6 @@ CONFIG_MISC_FILESYSTEMS=y
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
# CONFIG_NETWORK_FILESYSTEMS is not set
|
||||
|
||||
#
|
||||
@ -906,7 +1025,46 @@ CONFIG_MISC_FILESYSTEMS=y
|
||||
#
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
# CONFIG_NLS is not set
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_DEFAULT="iso8859-1"
|
||||
# CONFIG_NLS_CODEPAGE_437 is not set
|
||||
# CONFIG_NLS_CODEPAGE_737 is not set
|
||||
# CONFIG_NLS_CODEPAGE_775 is not set
|
||||
# CONFIG_NLS_CODEPAGE_850 is not set
|
||||
# CONFIG_NLS_CODEPAGE_852 is not set
|
||||
# CONFIG_NLS_CODEPAGE_855 is not set
|
||||
# CONFIG_NLS_CODEPAGE_857 is not set
|
||||
# CONFIG_NLS_CODEPAGE_860 is not set
|
||||
# CONFIG_NLS_CODEPAGE_861 is not set
|
||||
# CONFIG_NLS_CODEPAGE_862 is not set
|
||||
# CONFIG_NLS_CODEPAGE_863 is not set
|
||||
# CONFIG_NLS_CODEPAGE_864 is not set
|
||||
# CONFIG_NLS_CODEPAGE_865 is not set
|
||||
# CONFIG_NLS_CODEPAGE_866 is not set
|
||||
# CONFIG_NLS_CODEPAGE_869 is not set
|
||||
# CONFIG_NLS_CODEPAGE_936 is not set
|
||||
# CONFIG_NLS_CODEPAGE_950 is not set
|
||||
# CONFIG_NLS_CODEPAGE_932 is not set
|
||||
# CONFIG_NLS_CODEPAGE_949 is not set
|
||||
# CONFIG_NLS_CODEPAGE_874 is not set
|
||||
# CONFIG_NLS_ISO8859_8 is not set
|
||||
# CONFIG_NLS_CODEPAGE_1250 is not set
|
||||
# CONFIG_NLS_CODEPAGE_1251 is not set
|
||||
# CONFIG_NLS_ASCII is not set
|
||||
# CONFIG_NLS_ISO8859_1 is not set
|
||||
# CONFIG_NLS_ISO8859_2 is not set
|
||||
# CONFIG_NLS_ISO8859_3 is not set
|
||||
# CONFIG_NLS_ISO8859_4 is not set
|
||||
# CONFIG_NLS_ISO8859_5 is not set
|
||||
# CONFIG_NLS_ISO8859_6 is not set
|
||||
# CONFIG_NLS_ISO8859_7 is not set
|
||||
# CONFIG_NLS_ISO8859_9 is not set
|
||||
# CONFIG_NLS_ISO8859_13 is not set
|
||||
# CONFIG_NLS_ISO8859_14 is not set
|
||||
# CONFIG_NLS_ISO8859_15 is not set
|
||||
# CONFIG_NLS_KOI8_R is not set
|
||||
# CONFIG_NLS_KOI8_U is not set
|
||||
# CONFIG_NLS_UTF8 is not set
|
||||
# CONFIG_DLM is not set
|
||||
|
||||
#
|
||||
@ -918,29 +1076,23 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
|
||||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
# CONFIG_DEBUG_MEMORY_INIT is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
CONFIG_HAVE_FUNCTION_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
|
||||
CONFIG_HAVE_DYNAMIC_FTRACE=y
|
||||
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
|
||||
CONFIG_TRACING_SUPPORT=y
|
||||
|
||||
#
|
||||
# Tracers
|
||||
#
|
||||
# CONFIG_IRQSOFF_TRACER is not set
|
||||
# CONFIG_SCHED_TRACER is not set
|
||||
# CONFIG_CONTEXT_SWITCH_TRACER is not set
|
||||
# CONFIG_EVENT_TRACER is not set
|
||||
# CONFIG_BOOT_TRACER is not set
|
||||
# CONFIG_TRACE_BRANCH_PROFILING is not set
|
||||
# CONFIG_KMEMTRACE is not set
|
||||
# CONFIG_WORKQUEUE_TRACER is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="console=ttyS0,115200"
|
||||
# CONFIG_CMDLINE_OVERRIDE is not set
|
||||
@ -951,8 +1103,108 @@ CONFIG_CMDLINE="console=ttyS0,115200"
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
# CONFIG_SECURITYFS is not set
|
||||
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||
# CONFIG_CRYPTO is not set
|
||||
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
|
||||
# CONFIG_DEFAULT_SECURITY_SMACK is not set
|
||||
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
|
||||
CONFIG_DEFAULT_SECURITY_DAC=y
|
||||
CONFIG_DEFAULT_SECURITY=""
|
||||
CONFIG_CRYPTO=y
|
||||
|
||||
#
|
||||
# Crypto core or helper
|
||||
#
|
||||
# CONFIG_CRYPTO_FIPS is not set
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_ALGAPI2=y
|
||||
CONFIG_CRYPTO_AEAD2=y
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
CONFIG_CRYPTO_BLKCIPHER2=y
|
||||
CONFIG_CRYPTO_HASH2=y
|
||||
CONFIG_CRYPTO_RNG=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_CRYPTO_PCOMP=y
|
||||
CONFIG_CRYPTO_MANAGER=y
|
||||
CONFIG_CRYPTO_MANAGER2=y
|
||||
# CONFIG_CRYPTO_GF128MUL is not set
|
||||
# CONFIG_CRYPTO_NULL is not set
|
||||
CONFIG_CRYPTO_WORKQUEUE=y
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
# CONFIG_CRYPTO_AUTHENC is not set
|
||||
|
||||
#
|
||||
# Authenticated Encryption with Associated Data
|
||||
#
|
||||
# CONFIG_CRYPTO_CCM is not set
|
||||
# CONFIG_CRYPTO_GCM is not set
|
||||
# CONFIG_CRYPTO_SEQIV is not set
|
||||
|
||||
#
|
||||
# Block modes
|
||||
#
|
||||
# CONFIG_CRYPTO_CBC is not set
|
||||
# CONFIG_CRYPTO_CTR is not set
|
||||
# CONFIG_CRYPTO_CTS is not set
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
# CONFIG_CRYPTO_LRW is not set
|
||||
# CONFIG_CRYPTO_PCBC is not set
|
||||
# CONFIG_CRYPTO_XTS is not set
|
||||
|
||||
#
|
||||
# Hash modes
|
||||
#
|
||||
# CONFIG_CRYPTO_HMAC is not set
|
||||
# CONFIG_CRYPTO_XCBC is not set
|
||||
# CONFIG_CRYPTO_VMAC is not set
|
||||
|
||||
#
|
||||
# Digest
|
||||
#
|
||||
# CONFIG_CRYPTO_CRC32C is not set
|
||||
# CONFIG_CRYPTO_GHASH is not set
|
||||
# CONFIG_CRYPTO_MD4 is not set
|
||||
# CONFIG_CRYPTO_MD5 is not set
|
||||
# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
||||
# CONFIG_CRYPTO_RMD128 is not set
|
||||
# CONFIG_CRYPTO_RMD160 is not set
|
||||
# CONFIG_CRYPTO_RMD256 is not set
|
||||
# CONFIG_CRYPTO_RMD320 is not set
|
||||
# CONFIG_CRYPTO_SHA1 is not set
|
||||
# CONFIG_CRYPTO_SHA256 is not set
|
||||
# CONFIG_CRYPTO_SHA512 is not set
|
||||
# CONFIG_CRYPTO_TGR192 is not set
|
||||
# CONFIG_CRYPTO_WP512 is not set
|
||||
|
||||
#
|
||||
# Ciphers
|
||||
#
|
||||
CONFIG_CRYPTO_AES=y
|
||||
# CONFIG_CRYPTO_ANUBIS is not set
|
||||
CONFIG_CRYPTO_ARC4=y
|
||||
# CONFIG_CRYPTO_BLOWFISH is not set
|
||||
# CONFIG_CRYPTO_CAMELLIA is not set
|
||||
# CONFIG_CRYPTO_CAST5 is not set
|
||||
# CONFIG_CRYPTO_CAST6 is not set
|
||||
# CONFIG_CRYPTO_DES is not set
|
||||
# CONFIG_CRYPTO_FCRYPT is not set
|
||||
# CONFIG_CRYPTO_KHAZAD is not set
|
||||
# CONFIG_CRYPTO_SALSA20 is not set
|
||||
# CONFIG_CRYPTO_SEED is not set
|
||||
# CONFIG_CRYPTO_SERPENT is not set
|
||||
# CONFIG_CRYPTO_TEA is not set
|
||||
# CONFIG_CRYPTO_TWOFISH is not set
|
||||
|
||||
#
|
||||
# Compression
|
||||
#
|
||||
# CONFIG_CRYPTO_DEFLATE is not set
|
||||
# CONFIG_CRYPTO_ZLIB is not set
|
||||
# CONFIG_CRYPTO_LZO is not set
|
||||
|
||||
#
|
||||
# Random Number Generation
|
||||
#
|
||||
CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
# CONFIG_BINARY_PRINTF is not set
|
||||
|
||||
#
|
||||
|
@ -16,7 +16,7 @@
|
||||
({ \
|
||||
__typeof(*(m)) __ret; \
|
||||
\
|
||||
if (kernel_uses_llsc && R10000_LLSC_WAR) { \
|
||||
if (kernel_uses_llsc && R10000_LLSC_WAR) { \
|
||||
__asm__ __volatile__( \
|
||||
" .set push \n" \
|
||||
" .set noat \n" \
|
||||
|
@ -307,7 +307,7 @@ extern unsigned long _loongson_addrwincfg_base;
|
||||
*/
|
||||
#define LOONGSON_ADDRWIN_CFG(s, d, w, src, dst, size) do {\
|
||||
s##_WIN##w##_BASE = (src); \
|
||||
s##_WIN##w##_MMAP = (src) | ADDRWIN_MAP_DST_##d; \
|
||||
s##_WIN##w##_MMAP = (dst) | ADDRWIN_MAP_DST_##d; \
|
||||
s##_WIN##w##_MASK = ~(size-1); \
|
||||
} while (0)
|
||||
|
||||
|
@ -120,9 +120,14 @@
|
||||
#endif
|
||||
#define FIRST_USER_ADDRESS 0UL
|
||||
|
||||
#define VMALLOC_START MAP_BASE
|
||||
/*
|
||||
* TLB refill handlers also map the vmalloc area into xuseg. Avoid
|
||||
* the first couple of pages so NULL pointer dereferences will still
|
||||
* reliably trap.
|
||||
*/
|
||||
#define VMALLOC_START (MAP_BASE + (2 * PAGE_SIZE))
|
||||
#define VMALLOC_END \
|
||||
(VMALLOC_START + \
|
||||
(MAP_BASE + \
|
||||
min(PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE, \
|
||||
(1UL << cpu_vmbits)) - (1UL << 32))
|
||||
|
||||
|
@ -142,9 +142,9 @@ extern int ptrace_set_watch_regs(struct task_struct *child,
|
||||
|
||||
extern asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit);
|
||||
|
||||
extern NORET_TYPE void die(const char *, const struct pt_regs *) ATTRIB_NORET;
|
||||
extern NORET_TYPE void die(const char *, struct pt_regs *) ATTRIB_NORET;
|
||||
|
||||
static inline void die_if_kernel(const char *str, const struct pt_regs *regs)
|
||||
static inline void die_if_kernel(const char *str, struct pt_regs *regs)
|
||||
{
|
||||
if (unlikely(!user_mode(regs)))
|
||||
die(str, regs);
|
||||
|
@ -121,7 +121,7 @@
|
||||
.endm
|
||||
#else
|
||||
.macro get_saved_sp /* Uniprocessor variation */
|
||||
#ifdef CONFIG_CPU_LOONGSON2F
|
||||
#ifdef CONFIG_CPU_JUMP_WORKAROUNDS
|
||||
/*
|
||||
* Clear BTB (branch target buffer), forbid RAS (return address
|
||||
* stack) to workaround the Out-of-order Issue in Loongson2F
|
||||
|
@ -167,6 +167,24 @@ static inline void __cpuinit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
|
||||
#define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1)
|
||||
#define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3)
|
||||
|
||||
static inline void uasm_i_dsrl_safe(u32 **p, unsigned int a1,
|
||||
unsigned int a2, unsigned int a3)
|
||||
{
|
||||
if (a3 < 32)
|
||||
uasm_i_dsrl(p, a1, a2, a3);
|
||||
else
|
||||
uasm_i_dsrl32(p, a1, a2, a3 - 32);
|
||||
}
|
||||
|
||||
static inline void uasm_i_dsll_safe(u32 **p, unsigned int a1,
|
||||
unsigned int a2, unsigned int a3)
|
||||
{
|
||||
if (a3 < 32)
|
||||
uasm_i_dsll(p, a1, a2, a3);
|
||||
else
|
||||
uasm_i_dsll32(p, a1, a2, a3 - 32);
|
||||
}
|
||||
|
||||
/* Handle relocations. */
|
||||
struct uasm_reloc {
|
||||
u32 *addr;
|
||||
|
@ -76,15 +76,9 @@ void __init plat_mem_setup(void)
|
||||
|
||||
#ifdef CONFIG_VT
|
||||
screen_info = (struct screen_info) {
|
||||
0, 0, /* orig-x, orig-y */
|
||||
0, /* unused */
|
||||
0, /* orig_video_page */
|
||||
0, /* orig_video_mode */
|
||||
160, /* orig_video_cols */
|
||||
0, 0, 0, /* unused, ega_bx, unused */
|
||||
64, /* orig_video_lines */
|
||||
0, /* orig_video_isVGA */
|
||||
16 /* orig_video_points */
|
||||
.orig_video_cols = 160,
|
||||
.orig_video_lines = 64,
|
||||
.orig_video_points = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -352,9 +352,10 @@ void show_registers(const struct pt_regs *regs)
|
||||
|
||||
static DEFINE_SPINLOCK(die_lock);
|
||||
|
||||
void __noreturn die(const char * str, const struct pt_regs * regs)
|
||||
void __noreturn die(const char * str, struct pt_regs * regs)
|
||||
{
|
||||
static int die_counter;
|
||||
int sig = SIGSEGV;
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
unsigned long dvpret = dvpe();
|
||||
#endif /* CONFIG_MIPS_MT_SMTC */
|
||||
@ -365,6 +366,10 @@ void __noreturn die(const char * str, const struct pt_regs * regs)
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
mips_mt_regdump(dvpret);
|
||||
#endif /* CONFIG_MIPS_MT_SMTC */
|
||||
|
||||
if (notify_die(DIE_OOPS, str, regs, 0, current->thread.trap_no, SIGSEGV) == NOTIFY_STOP)
|
||||
sig = 0;
|
||||
|
||||
printk("%s[#%d]:\n", str, ++die_counter);
|
||||
show_registers(regs);
|
||||
add_taint(TAINT_DIE);
|
||||
@ -379,7 +384,7 @@ void __noreturn die(const char * str, const struct pt_regs * regs)
|
||||
panic("Fatal exception");
|
||||
}
|
||||
|
||||
do_exit(SIGSEGV);
|
||||
do_exit(sig);
|
||||
}
|
||||
|
||||
extern struct exception_table_entry __start___dbe_table[];
|
||||
@ -1557,12 +1562,7 @@ static char panic_null_cerr[] __cpuinitdata =
|
||||
void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
|
||||
unsigned long size)
|
||||
{
|
||||
#ifdef CONFIG_32BIT
|
||||
unsigned long uncached_ebase = KSEG1ADDR(ebase);
|
||||
#endif
|
||||
#ifdef CONFIG_64BIT
|
||||
unsigned long uncached_ebase = TO_UNCAC(ebase);
|
||||
#endif
|
||||
unsigned long uncached_ebase = CKSEG1ADDR(ebase);
|
||||
|
||||
if (!addr)
|
||||
panic(panic_null_cerr);
|
||||
|
@ -24,7 +24,7 @@ static const char *system_types[] = {
|
||||
[MACH_LEMOTE_FL2F] "lemote-fuloong-2f-box",
|
||||
[MACH_LEMOTE_ML2F7] "lemote-mengloong-2f-7inches",
|
||||
[MACH_LEMOTE_YL2F89] "lemote-yeeloong-2f-8.9inches",
|
||||
[MACH_DEXXON_GDIUM2F10] "dexxon-gidum-2f-10inches",
|
||||
[MACH_DEXXON_GDIUM2F10] "dexxon-gdium-2f",
|
||||
[MACH_LEMOTE_NAS] "lemote-nas-2f",
|
||||
[MACH_LEMOTE_LL2F] "lemote-lynloong-2f",
|
||||
[MACH_LOONGSON_END] NULL,
|
||||
|
@ -75,7 +75,7 @@ pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||
unsigned long end = offset + size;
|
||||
|
||||
if (__uncached_access(file, offset)) {
|
||||
if (((uca_start && offset) >= uca_start) &&
|
||||
if (uca_start && (offset >= uca_start) &&
|
||||
(end <= uca_end))
|
||||
return __pgprot((pgprot_val(vma_prot) &
|
||||
~_CACHE_MASK) |
|
||||
@ -96,7 +96,7 @@ static int __init find_vga_mem_init(void)
|
||||
return 0;
|
||||
|
||||
for_each_pci_dev(dev) {
|
||||
if ((dev->class >> 8) == PCI_CLASS_DISPLAY_VGA) {
|
||||
if ((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) {
|
||||
for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
|
||||
r = &dev->resource[idx];
|
||||
if (!r->start && r->end)
|
||||
|
@ -16,13 +16,31 @@
|
||||
|
||||
#include <loongson.h>
|
||||
|
||||
static inline void loongson_reboot(void)
|
||||
{
|
||||
#ifndef CONFIG_CPU_JUMP_WORKAROUNDS
|
||||
((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) ();
|
||||
#else
|
||||
void (*func)(void);
|
||||
|
||||
func = (void *)ioremap_nocache(LOONGSON_BOOT_BASE, 4);
|
||||
|
||||
__asm__ __volatile__(
|
||||
" .set noat \n"
|
||||
" jr %[func] \n"
|
||||
" .set at \n"
|
||||
: /* No outputs */
|
||||
: [func] "r" (func));
|
||||
#endif
|
||||
}
|
||||
|
||||
static void loongson_restart(char *command)
|
||||
{
|
||||
/* do preparation for reboot */
|
||||
mach_prepare_reboot();
|
||||
|
||||
/* reboot via jumping to boot base address */
|
||||
((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) ();
|
||||
loongson_reboot();
|
||||
}
|
||||
|
||||
static void loongson_poweroff(void)
|
||||
|
@ -41,15 +41,12 @@ void __init plat_mem_setup(void)
|
||||
conswitchp = &vga_con;
|
||||
|
||||
screen_info = (struct screen_info) {
|
||||
0, 25, /* orig-x, orig-y */
|
||||
0, /* unused */
|
||||
0, /* orig-video-page */
|
||||
0, /* orig-video-mode */
|
||||
80, /* orig-video-cols */
|
||||
0, 0, 0, /* ega_ax, ega_bx, ega_cx */
|
||||
25, /* orig-video-lines */
|
||||
VIDEO_TYPE_VGAC, /* orig-video-isVGA */
|
||||
16 /* orig-video-points */
|
||||
.orig_x = 0,
|
||||
.orig_y = 25,
|
||||
.orig_video_cols = 80,
|
||||
.orig_video_lines = 25,
|
||||
.orig_video_isVGA = VIDEO_TYPE_VGAC,
|
||||
.orig_video_points = 16,
|
||||
};
|
||||
#elif defined(CONFIG_DUMMY_CONSOLE)
|
||||
conswitchp = &dummy_con;
|
||||
|
@ -79,7 +79,7 @@ void mach_irq_dispatch(unsigned int pending)
|
||||
if (pending & CAUSEF_IP7)
|
||||
do_IRQ(LOONGSON_TIMER_IRQ);
|
||||
else if (pending & CAUSEF_IP6) { /* North Bridge, Perf counter */
|
||||
#ifdef CONFIG_OPROFILE
|
||||
#if defined(CONFIG_OPROFILE) || defined(CONFIG_OPROFILE_MODULE)
|
||||
do_IRQ(LOONGSON2_PERFCNT_IRQ);
|
||||
#endif
|
||||
bonito_irqdispatch();
|
||||
|
@ -31,6 +31,16 @@
|
||||
#include <asm/war.h>
|
||||
#include <asm/uasm.h>
|
||||
|
||||
/*
|
||||
* TLB load/store/modify handlers.
|
||||
*
|
||||
* Only the fastpath gets synthesized at runtime, the slowpath for
|
||||
* do_page_fault remains normal asm.
|
||||
*/
|
||||
extern void tlb_do_page_fault_0(void);
|
||||
extern void tlb_do_page_fault_1(void);
|
||||
|
||||
|
||||
static inline int r45k_bvahwbug(void)
|
||||
{
|
||||
/* XXX: We should probe for the presence of this bug, but we don't. */
|
||||
@ -83,6 +93,7 @@ enum label_id {
|
||||
label_nopage_tlbm,
|
||||
label_smp_pgtable_change,
|
||||
label_r3000_write_probe_fail,
|
||||
label_large_segbits_fault,
|
||||
#ifdef CONFIG_HUGETLB_PAGE
|
||||
label_tlb_huge_update,
|
||||
#endif
|
||||
@ -101,6 +112,7 @@ UASM_L_LA(_nopage_tlbs)
|
||||
UASM_L_LA(_nopage_tlbm)
|
||||
UASM_L_LA(_smp_pgtable_change)
|
||||
UASM_L_LA(_r3000_write_probe_fail)
|
||||
UASM_L_LA(_large_segbits_fault)
|
||||
#ifdef CONFIG_HUGETLB_PAGE
|
||||
UASM_L_LA(_tlb_huge_update)
|
||||
#endif
|
||||
@ -157,6 +169,10 @@ static u32 tlb_handler[128] __cpuinitdata;
|
||||
static struct uasm_label labels[128] __cpuinitdata;
|
||||
static struct uasm_reloc relocs[128] __cpuinitdata;
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
static int check_for_high_segbits __cpuinitdata;
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_MIPS_PGD_C0_CONTEXT
|
||||
/*
|
||||
* CONFIG_MIPS_PGD_C0_CONTEXT implies 64 bit and lack of pgd_current,
|
||||
@ -408,7 +424,7 @@ static __cpuinit __maybe_unused void build_convert_pte_to_entrylo(u32 **p,
|
||||
UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC));
|
||||
} else {
|
||||
#ifdef CONFIG_64BIT_PHYS_ADDR
|
||||
uasm_i_dsrl(p, reg, reg, ilog2(_PAGE_GLOBAL));
|
||||
uasm_i_dsrl_safe(p, reg, reg, ilog2(_PAGE_GLOBAL));
|
||||
#else
|
||||
UASM_i_SRL(p, reg, reg, ilog2(_PAGE_GLOBAL));
|
||||
#endif
|
||||
@ -532,7 +548,24 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
|
||||
* The vmalloc handling is not in the hotpath.
|
||||
*/
|
||||
uasm_i_dmfc0(p, tmp, C0_BADVADDR);
|
||||
uasm_il_bltz(p, r, tmp, label_vmalloc);
|
||||
|
||||
if (check_for_high_segbits) {
|
||||
/*
|
||||
* The kernel currently implicitely assumes that the
|
||||
* MIPS SEGBITS parameter for the processor is
|
||||
* (PGDIR_SHIFT+PGDIR_BITS) or less, and will never
|
||||
* allocate virtual addresses outside the maximum
|
||||
* range for SEGBITS = (PGDIR_SHIFT+PGDIR_BITS). But
|
||||
* that doesn't prevent user code from accessing the
|
||||
* higher xuseg addresses. Here, we make sure that
|
||||
* everything but the lower xuseg addresses goes down
|
||||
* the module_alloc/vmalloc path.
|
||||
*/
|
||||
uasm_i_dsrl_safe(p, ptr, tmp, PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3);
|
||||
uasm_il_bnez(p, r, ptr, label_vmalloc);
|
||||
} else {
|
||||
uasm_il_bltz(p, r, tmp, label_vmalloc);
|
||||
}
|
||||
/* No uasm_i_nop needed here, since the next insn doesn't touch TMP. */
|
||||
|
||||
#ifdef CONFIG_MIPS_PGD_C0_CONTEXT
|
||||
@ -549,14 +582,14 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
|
||||
* SMTC uses TCBind value as "CPU" index
|
||||
*/
|
||||
uasm_i_mfc0(p, ptr, C0_TCBIND);
|
||||
uasm_i_dsrl(p, ptr, ptr, 19);
|
||||
uasm_i_dsrl_safe(p, ptr, ptr, 19);
|
||||
# else
|
||||
/*
|
||||
* 64 bit SMP running in XKPHYS has smp_processor_id() << 3
|
||||
* stored in CONTEXT.
|
||||
*/
|
||||
uasm_i_dmfc0(p, ptr, C0_CONTEXT);
|
||||
uasm_i_dsrl(p, ptr, ptr, 23);
|
||||
uasm_i_dsrl_safe(p, ptr, ptr, 23);
|
||||
# endif
|
||||
UASM_i_LA_mostly(p, tmp, pgdc);
|
||||
uasm_i_daddu(p, ptr, ptr, tmp);
|
||||
@ -569,44 +602,78 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
|
||||
|
||||
uasm_l_vmalloc_done(l, *p);
|
||||
|
||||
if (PGDIR_SHIFT - 3 < 32) /* get pgd offset in bytes */
|
||||
uasm_i_dsrl(p, tmp, tmp, PGDIR_SHIFT-3);
|
||||
else
|
||||
uasm_i_dsrl32(p, tmp, tmp, PGDIR_SHIFT - 3 - 32);
|
||||
/* get pgd offset in bytes */
|
||||
uasm_i_dsrl_safe(p, tmp, tmp, PGDIR_SHIFT - 3);
|
||||
|
||||
uasm_i_andi(p, tmp, tmp, (PTRS_PER_PGD - 1)<<3);
|
||||
uasm_i_daddu(p, ptr, ptr, tmp); /* add in pgd offset */
|
||||
#ifndef __PAGETABLE_PMD_FOLDED
|
||||
uasm_i_dmfc0(p, tmp, C0_BADVADDR); /* get faulting address */
|
||||
uasm_i_ld(p, ptr, 0, ptr); /* get pmd pointer */
|
||||
uasm_i_dsrl(p, tmp, tmp, PMD_SHIFT-3); /* get pmd offset in bytes */
|
||||
uasm_i_dsrl_safe(p, tmp, tmp, PMD_SHIFT-3); /* get pmd offset in bytes */
|
||||
uasm_i_andi(p, tmp, tmp, (PTRS_PER_PMD - 1)<<3);
|
||||
uasm_i_daddu(p, ptr, ptr, tmp); /* add in pmd offset */
|
||||
#endif
|
||||
}
|
||||
|
||||
enum vmalloc64_mode {not_refill, refill};
|
||||
/*
|
||||
* BVADDR is the faulting address, PTR is scratch.
|
||||
* PTR will hold the pgd for vmalloc.
|
||||
*/
|
||||
static void __cpuinit
|
||||
build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
|
||||
unsigned int bvaddr, unsigned int ptr)
|
||||
unsigned int bvaddr, unsigned int ptr,
|
||||
enum vmalloc64_mode mode)
|
||||
{
|
||||
long swpd = (long)swapper_pg_dir;
|
||||
int single_insn_swpd;
|
||||
int did_vmalloc_branch = 0;
|
||||
|
||||
single_insn_swpd = uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd);
|
||||
|
||||
uasm_l_vmalloc(l, *p);
|
||||
|
||||
if (uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd)) {
|
||||
uasm_il_b(p, r, label_vmalloc_done);
|
||||
uasm_i_lui(p, ptr, uasm_rel_hi(swpd));
|
||||
} else {
|
||||
UASM_i_LA_mostly(p, ptr, swpd);
|
||||
uasm_il_b(p, r, label_vmalloc_done);
|
||||
if (uasm_in_compat_space_p(swpd))
|
||||
uasm_i_addiu(p, ptr, ptr, uasm_rel_lo(swpd));
|
||||
else
|
||||
uasm_i_daddiu(p, ptr, ptr, uasm_rel_lo(swpd));
|
||||
if (mode == refill && check_for_high_segbits) {
|
||||
if (single_insn_swpd) {
|
||||
uasm_il_bltz(p, r, bvaddr, label_vmalloc_done);
|
||||
uasm_i_lui(p, ptr, uasm_rel_hi(swpd));
|
||||
did_vmalloc_branch = 1;
|
||||
/* fall through */
|
||||
} else {
|
||||
uasm_il_bgez(p, r, bvaddr, label_large_segbits_fault);
|
||||
}
|
||||
}
|
||||
if (!did_vmalloc_branch) {
|
||||
if (uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd)) {
|
||||
uasm_il_b(p, r, label_vmalloc_done);
|
||||
uasm_i_lui(p, ptr, uasm_rel_hi(swpd));
|
||||
} else {
|
||||
UASM_i_LA_mostly(p, ptr, swpd);
|
||||
uasm_il_b(p, r, label_vmalloc_done);
|
||||
if (uasm_in_compat_space_p(swpd))
|
||||
uasm_i_addiu(p, ptr, ptr, uasm_rel_lo(swpd));
|
||||
else
|
||||
uasm_i_daddiu(p, ptr, ptr, uasm_rel_lo(swpd));
|
||||
}
|
||||
}
|
||||
if (mode == refill && check_for_high_segbits) {
|
||||
uasm_l_large_segbits_fault(l, *p);
|
||||
/*
|
||||
* We get here if we are an xsseg address, or if we are
|
||||
* an xuseg address above (PGDIR_SHIFT+PGDIR_BITS) boundary.
|
||||
*
|
||||
* Ignoring xsseg (assume disabled so would generate
|
||||
* (address errors?), the only remaining possibility
|
||||
* is the upper xuseg addresses. On processors with
|
||||
* TLB_SEGBITS <= PGDIR_SHIFT+PGDIR_BITS, these
|
||||
* addresses would have taken an address error. We try
|
||||
* to mimic that here by taking a load/istream page
|
||||
* fault.
|
||||
*/
|
||||
UASM_i_LA(p, ptr, (unsigned long)tlb_do_page_fault_0);
|
||||
uasm_i_jr(p, ptr);
|
||||
uasm_i_nop(p);
|
||||
}
|
||||
}
|
||||
|
||||
@ -720,9 +787,9 @@ static void __cpuinit build_update_entries(u32 **p, unsigned int tmp,
|
||||
UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */
|
||||
UASM_i_ROTR(p, ptep, ptep, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC));
|
||||
} else {
|
||||
uasm_i_dsrl(p, tmp, tmp, ilog2(_PAGE_GLOBAL)); /* convert to entrylo0 */
|
||||
uasm_i_dsrl_safe(p, tmp, tmp, ilog2(_PAGE_GLOBAL)); /* convert to entrylo0 */
|
||||
UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */
|
||||
uasm_i_dsrl(p, ptep, ptep, ilog2(_PAGE_GLOBAL)); /* convert to entrylo1 */
|
||||
uasm_i_dsrl_safe(p, ptep, ptep, ilog2(_PAGE_GLOBAL)); /* convert to entrylo1 */
|
||||
}
|
||||
UASM_i_MTC0(p, ptep, C0_ENTRYLO1); /* load it */
|
||||
} else {
|
||||
@ -793,9 +860,9 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
|
||||
uasm_i_dmfc0(&p, K0, C0_BADVADDR);
|
||||
uasm_i_dmfc0(&p, K1, C0_ENTRYHI);
|
||||
uasm_i_xor(&p, K0, K0, K1);
|
||||
uasm_i_dsrl32(&p, K1, K0, 62 - 32);
|
||||
uasm_i_dsrl(&p, K0, K0, 12 + 1);
|
||||
uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32);
|
||||
uasm_i_dsrl_safe(&p, K1, K0, 62);
|
||||
uasm_i_dsrl_safe(&p, K0, K0, 12 + 1);
|
||||
uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits);
|
||||
uasm_i_or(&p, K0, K0, K1);
|
||||
uasm_il_bnez(&p, &r, K0, label_leave);
|
||||
/* No need for uasm_i_nop */
|
||||
@ -825,7 +892,7 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
build_get_pgd_vmalloc64(&p, &l, &r, K0, K1);
|
||||
build_get_pgd_vmalloc64(&p, &l, &r, K0, K1, refill);
|
||||
#endif
|
||||
|
||||
/*
|
||||
@ -934,15 +1001,6 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
|
||||
dump_handler((u32 *)ebase, 64);
|
||||
}
|
||||
|
||||
/*
|
||||
* TLB load/store/modify handlers.
|
||||
*
|
||||
* Only the fastpath gets synthesized at runtime, the slowpath for
|
||||
* do_page_fault remains normal asm.
|
||||
*/
|
||||
extern void tlb_do_page_fault_0(void);
|
||||
extern void tlb_do_page_fault_1(void);
|
||||
|
||||
/*
|
||||
* 128 instructions for the fastpath handler is generous and should
|
||||
* never be exceeded.
|
||||
@ -1302,7 +1360,7 @@ build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l,
|
||||
uasm_i_eret(p); /* return from trap */
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
build_get_pgd_vmalloc64(p, l, r, tmp, ptr);
|
||||
build_get_pgd_vmalloc64(p, l, r, tmp, ptr, not_refill);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1322,9 +1380,9 @@ static void __cpuinit build_r4000_tlb_load_handler(void)
|
||||
uasm_i_dmfc0(&p, K0, C0_BADVADDR);
|
||||
uasm_i_dmfc0(&p, K1, C0_ENTRYHI);
|
||||
uasm_i_xor(&p, K0, K0, K1);
|
||||
uasm_i_dsrl32(&p, K1, K0, 62 - 32);
|
||||
uasm_i_dsrl(&p, K0, K0, 12 + 1);
|
||||
uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32);
|
||||
uasm_i_dsrl_safe(&p, K1, K0, 62);
|
||||
uasm_i_dsrl_safe(&p, K0, K0, 12 + 1);
|
||||
uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits);
|
||||
uasm_i_or(&p, K0, K0, K1);
|
||||
uasm_il_bnez(&p, &r, K0, label_leave);
|
||||
/* No need for uasm_i_nop */
|
||||
@ -1526,6 +1584,10 @@ void __cpuinit build_tlb_refill_handler(void)
|
||||
*/
|
||||
static int run_once = 0;
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
check_for_high_segbits = current_cpu_data.vmbits > (PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3);
|
||||
#endif
|
||||
|
||||
switch (current_cpu_type()) {
|
||||
case CPU_R2000:
|
||||
case CPU_R3000:
|
||||
|
@ -20,6 +20,8 @@
|
||||
* Reset the PNX8550 board.
|
||||
*
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
|
||||
#include <asm/reboot.h>
|
||||
#include <glb.h>
|
||||
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/vt.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
@ -254,7 +255,7 @@ static int __init sb1250_pcibios_init(void)
|
||||
* XXX ehs: Should this happen in PCI Device mode?
|
||||
*/
|
||||
io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024);
|
||||
sb1250_controller.io_map_base = io_map_base;
|
||||
sb1250_controller.io_map_base = (unsigned long)io_map_base;
|
||||
set_io_port_base((unsigned long)io_map_base);
|
||||
|
||||
#ifdef CONFIG_SIBYTE_HAS_LDT
|
||||
|
@ -89,7 +89,7 @@ static void print_buserr(void)
|
||||
void ip22_be_interrupt(int irq)
|
||||
{
|
||||
const int field = 2 * sizeof(unsigned long);
|
||||
const struct pt_regs *regs = get_irq_regs();
|
||||
struct pt_regs *regs = get_irq_regs();
|
||||
|
||||
save_and_clear_buserr();
|
||||
print_buserr();
|
||||
|
@ -453,7 +453,7 @@ mips_be_fatal:
|
||||
|
||||
void ip22_be_interrupt(int irq)
|
||||
{
|
||||
const struct pt_regs *regs = get_irq_regs();
|
||||
struct pt_regs *regs = get_irq_regs();
|
||||
|
||||
count_be_interrupt++;
|
||||
|
||||
|
@ -145,15 +145,14 @@ void __init plat_mem_setup(void)
|
||||
|
||||
#ifdef CONFIG_VT
|
||||
screen_info = (struct screen_info) {
|
||||
0, 0, /* orig-x, orig-y */
|
||||
0, /* unused */
|
||||
52, /* orig_video_page */
|
||||
3, /* orig_video_mode */
|
||||
80, /* orig_video_cols */
|
||||
4626, 3, 9, /* unused, ega_bx, unused */
|
||||
25, /* orig_video_lines */
|
||||
0x22, /* orig_video_isVGA */
|
||||
16 /* orig_video_points */
|
||||
.orig_video_page = 52,
|
||||
.orig_video_mode = 3,
|
||||
.orig_video_cols = 80,
|
||||
.flags = 12,
|
||||
.orig_video_ega_bx = 3,
|
||||
.orig_video_lines = 25,
|
||||
.orig_video_isVGA = 0x22,
|
||||
.orig_video_points = 16,
|
||||
};
|
||||
/* XXXKW for CFE, get lines/cols from environment */
|
||||
#endif
|
||||
|
@ -877,7 +877,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
#
|
||||
# CONFIG_SERIAL_MAX3100 is not set
|
||||
CONFIG_SERIAL_SH_SCI=y
|
||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=1
|
||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
|
||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
|
@ -963,7 +963,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
#
|
||||
# CONFIG_SERIAL_MAX3100 is not set
|
||||
CONFIG_SERIAL_SH_SCI=y
|
||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=1
|
||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
|
||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include <linux/io.h>
|
||||
#include "pci-sh4.h"
|
||||
#include <asm/addrspace.h>
|
||||
#include <asm/sizes.h>
|
||||
|
||||
static int __init __area_sdram_check(struct pci_channel *chan,
|
||||
unsigned int area)
|
||||
@ -47,8 +48,8 @@ static int __init __area_sdram_check(struct pci_channel *chan,
|
||||
static struct resource sh7751_pci_resources[] = {
|
||||
{
|
||||
.name = "SH7751_IO",
|
||||
.start = SH7751_PCI_IO_BASE,
|
||||
.end = SH7751_PCI_IO_BASE + SH7751_PCI_IO_SIZE - 1,
|
||||
.start = 0x1000,
|
||||
.end = SZ_4M - 1,
|
||||
.flags = IORESOURCE_IO
|
||||
}, {
|
||||
.name = "SH7751_mem",
|
||||
|
@ -76,7 +76,7 @@ enum {
|
||||
}
|
||||
|
||||
#define TS_INDEX2VAL(i) ((((i) & 3) << CHCR_TS_LOW_SHIFT) | \
|
||||
((((i) >> 2) & 3) << CHCR_TS_HIGH_SHIFT))
|
||||
(((i) & 0xc) << CHCR_TS_HIGH_SHIFT))
|
||||
|
||||
#else /* CONFIG_CPU_SH4A */
|
||||
|
||||
|
@ -347,6 +347,7 @@ extern void __iomem *early_ioremap(resource_size_t phys_addr,
|
||||
extern void __iomem *early_memremap(resource_size_t phys_addr,
|
||||
unsigned long size);
|
||||
extern void early_iounmap(void __iomem *addr, unsigned long size);
|
||||
extern void fixup_early_ioremap(void);
|
||||
|
||||
#define IO_SPACE_LIMIT 0xffff
|
||||
|
||||
|
@ -2545,6 +2545,9 @@ void irq_force_complete_move(int irq)
|
||||
struct irq_desc *desc = irq_to_desc(irq);
|
||||
struct irq_cfg *cfg = desc->chip_data;
|
||||
|
||||
if (!cfg)
|
||||
return;
|
||||
|
||||
__irq_complete_move(&desc, cfg->vector);
|
||||
}
|
||||
#else
|
||||
|
@ -929,7 +929,8 @@ static int fill_powernow_table_pstate(struct powernow_k8_data *data,
|
||||
powernow_table[i].index = index;
|
||||
|
||||
/* Frequency may be rounded for these */
|
||||
if (boot_cpu_data.x86 == 0x10 || boot_cpu_data.x86 == 0x11) {
|
||||
if ((boot_cpu_data.x86 == 0x10 && boot_cpu_data.x86_model < 10)
|
||||
|| boot_cpu_data.x86 == 0x11) {
|
||||
powernow_table[i].frequency =
|
||||
freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7);
|
||||
} else
|
||||
|
@ -60,7 +60,7 @@ ENTRY(call_rwsem_down_write_failed)
|
||||
ENDPROC(call_rwsem_down_write_failed)
|
||||
|
||||
ENTRY(call_rwsem_wake)
|
||||
decw %dx /* do nothing if still outstanding active readers */
|
||||
decl %edx /* do nothing if still outstanding active readers */
|
||||
jnz 1f
|
||||
save_common_regs
|
||||
movq %rax,%rdi
|
||||
|
@ -448,6 +448,20 @@ static inline void __init early_clear_fixmap(enum fixed_addresses idx)
|
||||
static void __iomem *prev_map[FIX_BTMAPS_SLOTS] __initdata;
|
||||
static unsigned long prev_size[FIX_BTMAPS_SLOTS] __initdata;
|
||||
|
||||
void __init fixup_early_ioremap(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < FIX_BTMAPS_SLOTS; i++) {
|
||||
if (prev_map[i]) {
|
||||
WARN_ON(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
early_ioremap_init();
|
||||
}
|
||||
|
||||
static int __init check_early_ioremap_leak(void)
|
||||
{
|
||||
int count = 0;
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <asm/e820.h>
|
||||
#include <asm/tlb.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
unsigned int __VMALLOC_RESERVE = 128 << 20;
|
||||
|
||||
@ -128,6 +129,7 @@ static int __init parse_reservetop(char *arg)
|
||||
|
||||
address = memparse(arg, &arg);
|
||||
reserve_top_address(address);
|
||||
fixup_early_ioremap();
|
||||
return 0;
|
||||
}
|
||||
early_param("reservetop", parse_reservetop);
|
||||
|
@ -286,16 +286,16 @@ done:
|
||||
static struct cgroup_subsys_state *
|
||||
blkiocg_create(struct cgroup_subsys *subsys, struct cgroup *cgroup)
|
||||
{
|
||||
struct blkio_cgroup *blkcg, *parent_blkcg;
|
||||
struct blkio_cgroup *blkcg;
|
||||
struct cgroup *parent = cgroup->parent;
|
||||
|
||||
if (!cgroup->parent) {
|
||||
if (!parent) {
|
||||
blkcg = &blkio_root_cgroup;
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* Currently we do not support hierarchy deeper than two level (0,1) */
|
||||
parent_blkcg = cgroup_to_blkio_cgroup(cgroup->parent);
|
||||
if (css_depth(&parent_blkcg->css) > 0)
|
||||
if (parent != cgroup->top_cgroup)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
blkcg = kzalloc(sizeof(*blkcg), GFP_KERNEL);
|
||||
|
@ -3694,8 +3694,10 @@ static void *cfq_init_queue(struct request_queue *q)
|
||||
* to make sure that cfq_put_cfqg() does not try to kfree root group
|
||||
*/
|
||||
atomic_set(&cfqg->ref, 1);
|
||||
rcu_read_lock();
|
||||
blkiocg_add_blkio_group(&blkio_root_cgroup, &cfqg->blkg, (void *)cfqd,
|
||||
0);
|
||||
rcu_read_unlock();
|
||||
#endif
|
||||
/*
|
||||
* Not strictly needed (since RB_ROOT just clears the node and we
|
||||
|
@ -324,6 +324,7 @@ struct dma_async_tx_descriptor *
|
||||
async_raid6_2data_recov(int disks, size_t bytes, int faila, int failb,
|
||||
struct page **blocks, struct async_submit_ctl *submit)
|
||||
{
|
||||
void *scribble = submit->scribble;
|
||||
int non_zero_srcs, i;
|
||||
|
||||
BUG_ON(faila == failb);
|
||||
@ -332,11 +333,13 @@ async_raid6_2data_recov(int disks, size_t bytes, int faila, int failb,
|
||||
|
||||
pr_debug("%s: disks: %d len: %zu\n", __func__, disks, bytes);
|
||||
|
||||
/* we need to preserve the contents of 'blocks' for the async
|
||||
* case, so punt to synchronous if a scribble buffer is not available
|
||||
/* if a dma resource is not available or a scribble buffer is not
|
||||
* available punt to the synchronous path. In the 'dma not
|
||||
* available' case be sure to use the scribble buffer to
|
||||
* preserve the content of 'blocks' as the caller intended.
|
||||
*/
|
||||
if (!submit->scribble) {
|
||||
void **ptrs = (void **) blocks;
|
||||
if (!async_dma_find_channel(DMA_PQ) || !scribble) {
|
||||
void **ptrs = scribble ? scribble : (void **) blocks;
|
||||
|
||||
async_tx_quiesce(&submit->depend_tx);
|
||||
for (i = 0; i < disks; i++)
|
||||
@ -406,11 +409,13 @@ async_raid6_datap_recov(int disks, size_t bytes, int faila,
|
||||
|
||||
pr_debug("%s: disks: %d len: %zu\n", __func__, disks, bytes);
|
||||
|
||||
/* we need to preserve the contents of 'blocks' for the async
|
||||
* case, so punt to synchronous if a scribble buffer is not available
|
||||
/* if a dma resource is not available or a scribble buffer is not
|
||||
* available punt to the synchronous path. In the 'dma not
|
||||
* available' case be sure to use the scribble buffer to
|
||||
* preserve the content of 'blocks' as the caller intended.
|
||||
*/
|
||||
if (!scribble) {
|
||||
void **ptrs = (void **) blocks;
|
||||
if (!async_dma_find_channel(DMA_PQ) || !scribble) {
|
||||
void **ptrs = scribble ? scribble : (void **) blocks;
|
||||
|
||||
async_tx_quiesce(&submit->depend_tx);
|
||||
for (i = 0; i < disks; i++)
|
||||
|
@ -17,6 +17,7 @@ obj-$(CONFIG_SFI) += sfi/
|
||||
obj-$(CONFIG_PNP) += pnp/
|
||||
obj-$(CONFIG_ARM_AMBA) += amba/
|
||||
|
||||
obj-$(CONFIG_VIRTIO) += virtio/
|
||||
obj-$(CONFIG_XEN) += xen/
|
||||
|
||||
# regulators early, since some subsystems rely on them to initialize
|
||||
@ -108,7 +109,6 @@ obj-$(CONFIG_PPC_PS3) += ps3/
|
||||
obj-$(CONFIG_OF) += of/
|
||||
obj-$(CONFIG_SSB) += ssb/
|
||||
obj-$(CONFIG_VHOST_NET) += vhost/
|
||||
obj-$(CONFIG_VIRTIO) += virtio/
|
||||
obj-$(CONFIG_VLYNQ) += vlynq/
|
||||
obj-$(CONFIG_STAGING) += staging/
|
||||
obj-y += platform/
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include <acpi/acpi_bus.h>
|
||||
#include <acpi/acpi_drivers.h>
|
||||
|
||||
#define ACPI_PROCESSOR_AGGREGATOR_CLASS "processor_aggregator"
|
||||
#define ACPI_PROCESSOR_AGGREGATOR_CLASS "acpi_pad"
|
||||
#define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator"
|
||||
#define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80
|
||||
static DEFINE_MUTEX(isolated_cpus_lock);
|
||||
|
@ -527,7 +527,7 @@ int acpi_bus_generate_proc_event4(const char *device_class, const char *bus_id,
|
||||
if (!event_is_open)
|
||||
return 0;
|
||||
|
||||
event = kmalloc(sizeof(struct acpi_bus_event), GFP_ATOMIC);
|
||||
event = kzalloc(sizeof(struct acpi_bus_event), GFP_ATOMIC);
|
||||
if (!event)
|
||||
return -ENOMEM;
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user