: AR7 refresh
Subsystems (4)
cover : AR7 refresh
Here are the AR7 patches refreshed against latest source
PATCH 1/6 : AR7: core
Sorry for posting a gzip file, but it seems that we have an issue with this patch on the mail server
Greetings,
Matteo Croce
PATCH 2/6 : AR7 mtd partition map
In reply to Matteo Crocedrivers/mtd/Kconfig +6 -0
@@ -150,6 +150,12 @@ config MTD_AFS_PARTS for your particular device. It won't happen automatically. The 'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example. +config MTD_AR7_PARTS + tristate "TI AR7 partitioning support" + depends on MTD_PARTITIONS + ---help--- + TI AR7 partitioning support + comment "User Modules And Translation Layers" config MTD_CHAR
drivers/mtd/Makefile +1 -0
@@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o +obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o # 'Users' - code which presents functionality to userspace. obj-$(CONFIG_MTD_CHAR) += mtdchar.o
drivers/mtd/ar7part.c new file +146 -0
146 lines not on this page · raw message
PATCH 3/6 : AR7: VLYNQ bus
In reply to Matteo Crocedrivers/vlynq/Kconfig new file +13 -0
@@ -0,0 +1,13 @@ +menu "TI VLYNQ" + +config VLYNQ + bool "TI VLYNQ bus support" + depends on AR7 && EXPERIMENTAL + help + Support for the TI VLYNQ bus + + The module will be called vlynq + + If unsure, say N + +endmenu
drivers/vlynq/Makefile new file +5 -0
@@ -0,0 +1,5 @@ +# +# Makefile for kernel vlynq drivers +# + +obj-$(CONFIG_VLYNQ) += vlynq.o
drivers/vlynq/vlynq.c new file +670 -0
670 lines not on this page · raw message
include/linux/vlynq.h new file +161 -0
161 lines not on this page · raw message
PATCH 4/6 : AR7 refresh
In reply to Matteo Crocedrivers/char/Kconfig +9 -0
@@ -904,6 +904,15 @@ config MWAVE To compile this driver as a module, choose M here: the module will be called mwave. +config AR7_GPIO + tristate "TI AR7 GPIO Support" + depends on AR7 + help + Give userspace access to the GPIO pins on the Texas Instruments AR7 + processors. + + If compiled as a module, it will be called ar7_gpio. + config SCx200_GPIO tristate "NatSemi SCx200 GPIO Support" depends on SCx200
drivers/char/Makefile +1 -0
@@ -89,6 +89,7 @@ obj-$(CONFIG_COBALT_LCD) += lcd.o obj-$(CONFIG_PPDEV) += ppdev.o obj-$(CONFIG_NWBUTTON) += nwbutton.o obj-$(CONFIG_NWFLASH) += nwflash.o +obj-$(CONFIG_AR7_GPIO) += ar7_gpio.o obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
drivers/char/ar7_gpio.c new file +158 -0
158 lines not on this page · raw message
PATCH 5/6 : AR7: serial hack
In reply to Matteo Crocedrivers/serial/8250.c +11 -0
@@ -267,6 +267,13 @@ static const struct serial8250_config uart_config[] = { .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, .flags = UART_CAP_FIFO, }, + [PORT_AR7] = { + .name = "TI-AR7", + .fifo_size = 16, + .tx_loadsz = 16, + .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00, + .flags = UART_CAP_FIFO | UART_CAP_AFE, + }, };#if defined (CONFIG_SERIAL_8250_AU1X00 )
@@ -2453,7 +2460,11 @@ static void serial8250_console_putchar(struct uart_port *port, int ch) {struct uart_8250_port *up = (struct uart_8250_port *)port; +#ifdef CONFIG_AR7 +wait_for_xmitr (up,BOTH_EMPTY ); +#else wait_for_xmitr (up,UART_LSR_THRE ); +#endif serial_out (up,UART_TX , ch); }
include/linux/serialP.h +4 -0
@@ -135,6 +135,10 @@ struct rs_multiport_struct {* the interrupt line _up_ instead of down, so if we register the IRQ * while the UART is in that state, we die in an IRQ storm. */ #define ALPHA_KLUDGE_MCR (UART_MCR_OUT2) +#elif defined(CONFIG_AR7 ) +/* This is how it is set up by bootloader... */ +#define ALPHA_KLUDGE_MCR (UART_MCR_OUT2 | UART_MCR_OUT1 \ + | UART_MCR_RTS | UART_MCR_DTR)#else #define ALPHA_KLUDGE_MCR 0#endif
include/linux/serial_core.h +1 -0
@@ -40,6 +40,7 @@#define PORT_NS16550A 14#define PORT_XSCALE 15#define PORT_RM9000 16/* PMC-Sierra RM9xxx internal UART */ +#define PORT_AR7 16#define PORT_MAX_8250 16/* max port ID */ /*
Re: [PATCH][MIPS][5/6]: AR7: serial hack
Quoted 9 lines · Matteo Croce
Signed-off-by Matteo Croce <[email protected]>Signed-off-by Florian Fainelli <[email protected]>Signed-off-by Felix Fietkau <[email protected]>Signed-off-by Nicolas Thill <[email protected]>drivers/serial/8250.c +0
-0
[...]
drivers/serial/8250.c static void serial8250_console_putchar(struct uart_port *port, int ch) · line 2463
Quoted 5 lines
drivers/serial/8250.c +1
-0@@ -2453,7 +2460,11 @@ static void serial8250_console_putchar(struct uart_port *port, int ch) {struct uart_8250_port *up = (struct uart_8250_port *)port; +#ifdef CONFIG_AR7
No board specific #ifdef's here please. You should use the driver's bug
mechanism for this.
Quoted 12 lines
drivers/serial/8250.c +3
-0+wait_for_xmitr (up,BOTH_EMPTY ); +#else wait_for_xmitr (up,UART_LSR_THRE ); +#endif serial_out (up,UART_TX , ch); }include/linux/serialP.h +0
-0
include/linux/serialP.h struct rs_multiport_struct { · line 141
Quoted 7 lines
include/linux/serialP.h +4
-0@@ -135,6 +135,10 @@ struct rs_multiport_struct {* the interrupt line _up_ instead of down, so if we register the IRQ * while the UART is in that state, we die in an IRQ storm. */ #define ALPHA_KLUDGE_MCR (UART_MCR_OUT2) +#elif defined(CONFIG_AR7 ) +/* This is how it is set up by bootloader... */ +#define ALPHA_KLUDGE_MCR (UART_MCR_OUT2 | UART_MCR_OUT1 \ + | UART_MCR_RTS | UART_MCR_DTR)
I don't think you should load the driver with forced RTS and DTR.
include/linux/serial_core.h line 43
Quoted 12 lines
include/linux/serialP.h +0
-0#else #define ALPHA_KLUDGE_MCR 0#endif include/linux/serial_core.h +1
-0@@ -40,6 +40,7 @@#define PORT_NS16550A 14#define PORT_XSCALE 15#define PORT_RM9000 16/* PMC-Sierra RM9xxx internal UART */ +#define PORT_AR7 16
Obviously, this should have been 16. :-)
WBR, Sergei
PATCH 6/6 : AR7 leds
In reply to Matteo Crocewrong count, sorry, we don't need LEDs anymore.
What to do with leds? We already use the generic-led subsystem?