Update git3 kernel to have working alsa support for both c7x0 and cxx00 :)
git-svn-id: https://svn.o-hand.com/repos/poky@157 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
5de252ff87
commit
9a725b75ff
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.14-rc4
|
||||
# Thu Oct 13 14:55:00 2005
|
||||
# Linux kernel version: 2.6.14-git3
|
||||
# Wed Nov 2 15:14:36 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
|
@ -158,6 +158,7 @@ CONFIG_FLATMEM_MANUAL=y
|
|||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4096
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
|
||||
#
|
||||
|
@ -165,7 +166,7 @@ CONFIG_ALIGNMENT_TRAP=y
|
|||
#
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug"
|
||||
CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug"
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
|
||||
#
|
||||
|
@ -175,7 +176,9 @@ 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_USERSPACE is not set
|
||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
|
@ -450,7 +453,6 @@ CONFIG_BT_HCIUSB=m
|
|||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
CONFIG_BT_HCIUART_BCSP_TXCRC=y
|
||||
CONFIG_BT_HCIBCM203X=m
|
||||
CONFIG_BT_HCIBPA10X=m
|
||||
CONFIG_BT_HCIBFUSB=m
|
||||
|
@ -578,6 +580,11 @@ CONFIG_IOSCHED_NOOP=y
|
|||
CONFIG_IOSCHED_AS=y
|
||||
CONFIG_IOSCHED_DEADLINE=y
|
||||
CONFIG_IOSCHED_CFQ=y
|
||||
CONFIG_DEFAULT_AS=y
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
|
@ -813,6 +820,7 @@ CONFIG_TOUCHSCREEN_CORGI=y
|
|||
# CONFIG_TOUCHSCREEN_ELO is not set
|
||||
# CONFIG_TOUCHSCREEN_MTOUCH is not set
|
||||
# CONFIG_TOUCHSCREEN_MK712 is not set
|
||||
# CONFIG_TOUCHSCREEN_WM97XX is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_UINPUT=m
|
||||
|
||||
|
@ -875,6 +883,7 @@ CONFIG_SA1100_RTC=y
|
|||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TELCLOCK is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
|
@ -909,6 +918,8 @@ CONFIG_I2C_PXA=y
|
|||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_RTC_X1205_I2C is not set
|
||||
# CONFIG_MAX7310 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -1001,11 +1012,9 @@ CONFIG_FB=y
|
|||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_FB_SOFT_CURSOR=y
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
# CONFIG_FB_ELPP is not set
|
||||
# CONFIG_FB_PXA is not set
|
||||
CONFIG_FB_W100=y
|
||||
# CONFIG_FB_S1D13XXX is not set
|
||||
|
@ -1017,6 +1026,7 @@ CONFIG_FB_W100=y
|
|||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
|
@ -1078,6 +1088,15 @@ CONFIG_SND_AC97_BUS=m
|
|||
CONFIG_SND_PXA2XX_PCM=m
|
||||
CONFIG_SND_PXA2XX_AC97=m
|
||||
|
||||
#
|
||||
# USB devices
|
||||
#
|
||||
# CONFIG_SND_USB_AUDIO is not set
|
||||
|
||||
#
|
||||
# PCMCIA devices
|
||||
#
|
||||
|
||||
#
|
||||
# SoC audio support
|
||||
#
|
||||
|
@ -1091,13 +1110,19 @@ CONFIG_SND_PXA2xx_SOC=m
|
|||
CONFIG_SND_PXA2xx_SOC_I2S=m
|
||||
# CONFIG_SND_PXA2xx_SOC_SSP is not set
|
||||
|
||||
#
|
||||
# PXA2xx machine support
|
||||
#
|
||||
# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
|
||||
CONFIG_SND_PXA2xx_SOC_CORGI=m
|
||||
|
||||
#
|
||||
# Soc Codecs
|
||||
#
|
||||
# CONFIG_SND_SOC_AC97_CODEC is not set
|
||||
# CONFIG_SND_SOC_WM8753 is not set
|
||||
CONFIG_SND_SOC_WM8731=m
|
||||
# CONFIG_SND_SOC_WM8750 is not set
|
||||
# CONFIG_SND_SOC_WM8753 is not set
|
||||
# CONFIG_SND_SOC_WM9713_VOICE is not set
|
||||
|
||||
#
|
||||
# Open Sound System
|
||||
|
@ -1164,15 +1189,15 @@ CONFIG_USB_SL811_CS=m
|
|||
# USB Device Class drivers
|
||||
#
|
||||
# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
|
||||
|
||||
#
|
||||
# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
|
||||
#
|
||||
CONFIG_USB_ACM=m
|
||||
CONFIG_USB_PRINTER=m
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
#
|
||||
|
||||
#
|
||||
# may also be needed; see USB_STORAGE Help for more information
|
||||
#
|
||||
CONFIG_USB_STORAGE=m
|
||||
# CONFIG_USB_STORAGE_DEBUG is not set
|
||||
|
@ -1293,6 +1318,7 @@ CONFIG_USB_SERIAL_KEYSPAN=m
|
|||
CONFIG_USB_SERIAL_KLSI=m
|
||||
CONFIG_USB_SERIAL_KOBIL_SCT=m
|
||||
CONFIG_USB_SERIAL_MCT_U232=m
|
||||
# CONFIG_USB_SERIAL_NOKIA_DKU2 is not set
|
||||
CONFIG_USB_SERIAL_PL2303=m
|
||||
# CONFIG_USB_SERIAL_HP4X is not set
|
||||
CONFIG_USB_SERIAL_SAFE=m
|
||||
|
@ -1543,7 +1569,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
|
|||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_DEBUG_VM is not set
|
||||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_DEBUG_USER is not set
|
||||
# CONFIG_DEBUG_WAITQ is not set
|
||||
CONFIG_DEBUG_ERRORS=y
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.14-rc4
|
||||
# Mon Oct 17 23:25:42 2005
|
||||
# Linux kernel version: 2.6.14-git3
|
||||
# Wed Nov 2 10:36:59 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
|
@ -157,6 +157,7 @@ CONFIG_FLATMEM_MANUAL=y
|
|||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4096
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
|
||||
#
|
||||
|
@ -164,7 +165,7 @@ CONFIG_ALIGNMENT_TRAP=y
|
|||
#
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/hda1 rootfstype=ext3 rw debug"
|
||||
CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/hda1 rootfstype=ext3 rw fbcon=rotate:1 debug"
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
|
||||
#
|
||||
|
@ -439,7 +440,6 @@ CONFIG_BT_HCIUSB=m
|
|||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
CONFIG_BT_HCIUART_BCSP_TXCRC=y
|
||||
CONFIG_BT_HCIBCM203X=m
|
||||
CONFIG_BT_HCIBPA10X=m
|
||||
CONFIG_BT_HCIBFUSB=m
|
||||
|
@ -567,6 +567,11 @@ CONFIG_IOSCHED_NOOP=y
|
|||
CONFIG_IOSCHED_AS=y
|
||||
CONFIG_IOSCHED_DEADLINE=y
|
||||
CONFIG_IOSCHED_CFQ=y
|
||||
CONFIG_DEFAULT_AS=y
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
|
@ -802,6 +807,7 @@ CONFIG_TOUCHSCREEN_CORGI=y
|
|||
# CONFIG_TOUCHSCREEN_ELO is not set
|
||||
# CONFIG_TOUCHSCREEN_MTOUCH is not set
|
||||
# CONFIG_TOUCHSCREEN_MK712 is not set
|
||||
# CONFIG_TOUCHSCREEN_WM97XX is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_UINPUT=m
|
||||
|
||||
|
@ -864,6 +870,7 @@ CONFIG_SA1100_RTC=y
|
|||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TELCLOCK is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
|
@ -898,6 +905,7 @@ CONFIG_I2C_PXA=y
|
|||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_RTC_X1205_I2C is not set
|
||||
CONFIG_MAX7310=y
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
|
@ -973,11 +981,9 @@ CONFIG_FB=y
|
|||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_FB_SOFT_CURSOR=y
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
# CONFIG_FB_ELPP is not set
|
||||
CONFIG_FB_PXA=y
|
||||
# CONFIG_FB_W100 is not set
|
||||
# CONFIG_FB_PXA_PARAMETERS is not set
|
||||
|
@ -1075,13 +1081,19 @@ CONFIG_SND_PXA2xx_SOC=m
|
|||
CONFIG_SND_PXA2xx_SOC_I2S=m
|
||||
# CONFIG_SND_PXA2xx_SOC_SSP is not set
|
||||
|
||||
#
|
||||
# PXA2xx machine support
|
||||
#
|
||||
# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
|
||||
CONFIG_SND_PXA2xx_SOC_CORGI=m
|
||||
|
||||
#
|
||||
# Soc Codecs
|
||||
#
|
||||
# CONFIG_SND_SOC_AC97_CODEC is not set
|
||||
# CONFIG_SND_SOC_WM8753 is not set
|
||||
# CONFIG_SND_SOC_WM8731 is not set
|
||||
CONFIG_SND_SOC_WM8750=m
|
||||
# CONFIG_SND_SOC_WM8753 is not set
|
||||
# CONFIG_SND_SOC_WM9713_VOICE is not set
|
||||
|
||||
#
|
||||
# Open Sound System
|
||||
|
@ -1119,15 +1131,15 @@ CONFIG_USB_SL811_CS=m
|
|||
# USB Device Class drivers
|
||||
#
|
||||
# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
|
||||
|
||||
#
|
||||
# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
|
||||
#
|
||||
CONFIG_USB_ACM=m
|
||||
CONFIG_USB_PRINTER=m
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
#
|
||||
|
||||
#
|
||||
# may also be needed; see USB_STORAGE Help for more information
|
||||
#
|
||||
CONFIG_USB_STORAGE=m
|
||||
# CONFIG_USB_STORAGE_DEBUG is not set
|
||||
|
@ -1243,6 +1255,7 @@ CONFIG_USB_SERIAL_KEYSPAN=m
|
|||
CONFIG_USB_SERIAL_KLSI=m
|
||||
CONFIG_USB_SERIAL_KOBIL_SCT=m
|
||||
CONFIG_USB_SERIAL_MCT_U232=m
|
||||
# CONFIG_USB_SERIAL_NOKIA_DKU2 is not set
|
||||
CONFIG_USB_SERIAL_PL2303=m
|
||||
# CONFIG_USB_SERIAL_HP4X is not set
|
||||
CONFIG_USB_SERIAL_SAFE=m
|
||||
|
@ -1498,7 +1511,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
|
|||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_DEBUG_VM is not set
|
||||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_DEBUG_USER is not set
|
||||
# CONFIG_DEBUG_WAITQ is not set
|
||||
CONFIG_DEBUG_ERRORS=y
|
||||
|
|
|
@ -0,0 +1,155 @@
|
|||
|
||||
From: Petr Vandrovec <vandrove@vc.cvut.cz>
|
||||
|
||||
Patch below adds support for using different prescaler than 16 for 16c950
|
||||
chips. This is needed for using Fujitsu-Siemens Connect2Air compact-flash
|
||||
card, which comes (apparently) with 806kHz clocks, and so you have to
|
||||
program prescaler for division by 7, and DLAB to 1, to get 115200Bd.
|
||||
|
||||
To get card properly running you also have to add lines below to
|
||||
/etc/pcmcia/serial.opts so kernel knows that base speed is not 115200 but
|
||||
50400 (50400 * 16 = 806400; 806400 / 7 = 115200). As I've found no code
|
||||
specifying baud_rate in serial_cs, I assume that specifying it in
|
||||
serial.opts is right way to do this type of things.
|
||||
|
||||
Patch also fixes problem that for UPF_MAGIC_MULTIPLIER maximum possible
|
||||
baud rate passed to uart code was uartclk / 16 while correct value for
|
||||
these devices (and for 16c950) is uartclk / 4.
|
||||
|
||||
Patch also fixes problem that for UPF_MAGIC_MULTIPLIER devices with
|
||||
baud_rate 19200 or 9600 spd_cust did not work correctly. Not that such
|
||||
devices exist, but we should not ignore spd_cust, user probably knows why
|
||||
he asked for spd_cust.
|
||||
|
||||
serial.opts:
|
||||
|
||||
case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in
|
||||
'0279,950b-2-GPRS Modem---')
|
||||
SERIAL_OPTS="baud_base 50400"
|
||||
;;
|
||||
esac
|
||||
|
||||
Cc: David Woodhouse <dwmw2@infradead.org>
|
||||
Signed-off-by: Andrew Morton <akpm@osdl.org>
|
||||
---
|
||||
|
||||
drivers/serial/8250.c | 82 +++++++++++++++++++++++++++++++++++++++-----------
|
||||
1 files changed, 64 insertions(+), 18 deletions(-)
|
||||
|
||||
diff -puN drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver drivers/serial/8250.c
|
||||
--- devel/drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver 2005-09-12 03:34:57.000000000 -0700
|
||||
+++ devel-akpm/drivers/serial/8250.c 2005-09-12 03:34:57.000000000 -0700
|
||||
@@ -1653,24 +1653,58 @@ static void serial8250_shutdown(struct u
|
||||
serial_unlink_irq_chain(up);
|
||||
}
|
||||
|
||||
-static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud)
|
||||
+static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud,
|
||||
+ unsigned int *prescaler)
|
||||
{
|
||||
- unsigned int quot;
|
||||
-
|
||||
- /*
|
||||
- * Handle magic divisors for baud rates above baud_base on
|
||||
- * SMSC SuperIO chips.
|
||||
+ /*
|
||||
+ * Use special handling only if user did not supply its own divider.
|
||||
+ * spd_cust is defined in terms of baud_base, so always use default
|
||||
+ * prescaler when spd_cust is requested.
|
||||
*/
|
||||
- if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
|
||||
- baud == (port->uartclk/4))
|
||||
- quot = 0x8001;
|
||||
- else if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
|
||||
- baud == (port->uartclk/8))
|
||||
- quot = 0x8002;
|
||||
- else
|
||||
- quot = uart_get_divisor(port, baud);
|
||||
|
||||
- return quot;
|
||||
+ *prescaler = 16;
|
||||
+ if (baud != 38400 || (port->flags & UPF_SPD_MASK) != UPF_SPD_CUST) {
|
||||
+ unsigned int quot = port->uartclk / baud;
|
||||
+
|
||||
+ /*
|
||||
+ * Handle magic divisors for baud rates above baud_base on
|
||||
+ * SMSC SuperIO chips.
|
||||
+ */
|
||||
+ if (port->flags & UPF_MAGIC_MULTIPLIER) {
|
||||
+ if (quot == 4) {
|
||||
+ return 0x8001;
|
||||
+ } else if (quot == 8) {
|
||||
+ return 0x8002;
|
||||
+ }
|
||||
+ }
|
||||
+ if (port->type == PORT_16C950) {
|
||||
+ /*
|
||||
+ * This computes TCR value (4 to 16), not CPR value (which can
|
||||
+ * be between 1.000 and 31.875) - chip I have uses XTAL of
|
||||
+ * 806400Hz, and so a division by 7 is required to get 115200Bd.
|
||||
+ * I'm leaving CPR disabled for now, until someone will
|
||||
+ * hit even more exotic XTAL (it is needed to get 500kbps
|
||||
+ * or 1000kbps from 18.432MHz XTAL, but I have no device
|
||||
+ * which would benefit from doing that).
|
||||
+ *
|
||||
+ * If we can use divide by 16, use it. Otherwise look for
|
||||
+ * better prescaler, from 15 to 4. If quotient cannot
|
||||
+ * be divided by any integer value between 4 and 15, use 4.
|
||||
+ */
|
||||
+ if (quot & 0x0F) {
|
||||
+ unsigned int div;
|
||||
+
|
||||
+ for (div = 15; div > 4; div--) {
|
||||
+ if (quot % div == 0) {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ *prescaler = div;
|
||||
+ return quot / div;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return uart_get_divisor(port, baud);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1680,7 +1714,7 @@ serial8250_set_termios(struct uart_port
|
||||
struct uart_8250_port *up = (struct uart_8250_port *)port;
|
||||
unsigned char cval, fcr = 0;
|
||||
unsigned long flags;
|
||||
- unsigned int baud, quot;
|
||||
+ unsigned int baud, quot, prescaler;
|
||||
|
||||
switch (termios->c_cflag & CSIZE) {
|
||||
case CS5:
|
||||
@@ -1712,8 +1746,13 @@ serial8250_set_termios(struct uart_port
|
||||
/*
|
||||
* Ask the core to calculate the divisor for us.
|
||||
*/
|
||||
- baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
|
||||
- quot = serial8250_get_divisor(port, baud);
|
||||
+
|
||||
+ if (port->type == PORT_16C950 || (port->flags & UPF_MAGIC_MULTIPLIER)) {
|
||||
+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/4);
|
||||
+ } else {
|
||||
+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
|
||||
+ }
|
||||
+ quot = serial8250_get_divisor(port, baud, &prescaler);
|
||||
|
||||
/*
|
||||
* Oxford Semi 952 rev B workaround
|
||||
@@ -1817,6 +1856,13 @@ serial8250_set_termios(struct uart_port
|
||||
serial_outp(up, UART_DLM, quot >> 8); /* MS of divisor */
|
||||
|
||||
/*
|
||||
+ * Program prescaler for 16C950 chips.
|
||||
+ */
|
||||
+ if (up->port.type == PORT_16C950) {
|
||||
+ serial_icr_write(up, UART_TCR, prescaler == 16 ? 0 : prescaler);
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
* LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
|
||||
* is written without DLAB set, this mode will be disabled.
|
||||
*/
|
||||
_
|
|
@ -1,6 +1,6 @@
|
|||
include linux-openzaurus.inc
|
||||
|
||||
PR = "r4"
|
||||
PR = "r2"
|
||||
|
||||
DEFAULT_PREFERENCE = "+1"
|
||||
|
||||
|
@ -12,21 +12,15 @@ DEFAULT_PREFERENCE = "+1"
|
|||
# ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.14-rc4.bz2;patch=1 \
|
||||
# ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1 \
|
||||
|
||||
# ${RPSRC}/corgi_irda-r4.patch;patch=1 \
|
||||
# ${RPSRC}/poodle_irda-r0.patch;patch=1 \
|
||||
# ${RPSRC}/spitz_irda-r0.patch;patch=1 \
|
||||
# ${RPSRC}/pxa_irda_susres-r0.patch;patch=1 \
|
||||
|
||||
|
||||
|
||||
# Patches submitted upstream are towards top of this list
|
||||
# Hacks should clearly named and at the bottom
|
||||
SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.gz \
|
||||
http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.14-git3.bz2;patch=1 \
|
||||
${RPSRC}/pxa_pmops_static-r1.patch;patch=1 \
|
||||
${RPSRC}/pxa_i2c_fixes-r2.patch;patch=1 \
|
||||
${RPSRC}/pxa_i2c_fixes-r3.patch;patch=1 \
|
||||
${RPSRC}/pxa_ohci_platform-r2.patch;patch=1 \
|
||||
${RPSRC}/pxa_ohci_suspend-r2.patch;patch=1 \
|
||||
${RPSRC}/revert_bootmem-r1.patch;patch=1 \
|
||||
${RPSRC}/ide_not_removable-r0.patch;patch=1 \
|
||||
${RPSRC}/sharpsl_pm-r10.patch;patch=1 \
|
||||
${RPSRC}/corgi_pm-r4.patch;patch=1 \
|
||||
|
@ -40,9 +34,11 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.gz \
|
|||
${RPSRC}/input_power-r2.patch;patch=1 \
|
||||
${RPSRC}/jffs2_longfilename-r0.patch;patch=1 \
|
||||
${RPSRC}/sharpsl_bl_kick-r1.patch;patch=1 \
|
||||
${RPSRC}/corgi_snd-r11.patch;patch=1 \
|
||||
${RPSRC}/corgi_snd-r14.patch;patch=1 \
|
||||
${RPSRC}/export_scoop-r0.patch;patch=1 \
|
||||
${RPSRC}/pxa25x_cpufreq-r0.patch;patch=1 \
|
||||
${RPSRC}/alsa/alsa_soc-r0.patch;patch=1 \
|
||||
${RPSRC}/alsa/ssp_pxa_regs-r0.patch;patch=1 \
|
||||
${RPSRC}/fbdev/fbdev-r0.patch;patch=1 \
|
||||
${RPSRC}/fbdev/fbdev1-r0.patch;patch=1 \
|
||||
${RPSRC}/fbdev/fbdev2-r0.patch;patch=1 \
|
||||
|
@ -68,13 +64,13 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.gz \
|
|||
${RPSRC}/pcmcia_dev_ids-r2.patch;patch=1 \
|
||||
${RPSRC}/mmc_timeout-r0.patch;patch=1 \
|
||||
${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1 \
|
||||
${RPSRC}/alsa/alsa_soc-r3.patch;patch=1 \
|
||||
${RPSRC}/alsa/alsa_soc-r3_1.patch;patch=1 \
|
||||
${RPSRC}/wm8731-r6.patch;patch=1 \
|
||||
${RPSRC}/alsa/alsa_soc_0.5-r0.patch;patch=1 \
|
||||
${RPSRC}/alsa_snd_corgi-r0.patch;patch=1 \
|
||||
file://add-oz-release-string.patch;patch=1 \
|
||||
file://pxa-serial-hack.patch;patch=1 \
|
||||
${RPSRC}/jl1/pxa-linking-bug.patch;patch=1 \
|
||||
file://dtl1_cs-add-socket-revE.patch;patch=1 \
|
||||
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
|
||||
file://connectplus-remove-ide-HACK.patch;patch=1 \
|
||||
file://defconfig-c7x0 \
|
||||
file://defconfig-ipaq-pxa270 \
|
||||
|
|
Loading…
Reference in New Issue