You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (150 commits) MIPS: PowerTV: Separate PowerTV USB support from non-USB code MIPS: strip the un-needed sections of vmlinuz MIPS: Clean up the calculation of VMLINUZ_LOAD_ADDRESS MIPS: Clean up arch/mips/boot/compressed/decompress.c MIPS: Clean up arch/mips/boot/compressed/ld.script MIPS: Unify the suffix of compressed vmlinux.bin MIPS: PowerTV: Add Gaia platform definitions. MIPS: BCM47xx: Fix nvram_getenv return value. MIPS: Octeon: Allow more than 3.75GB of memory with PCIe MIPS: Clean up notify_die() usage. MIPS: Remove unused task_struct.trap_no field. Documentation: Mention that KProbes is supported on MIPS SAMPLES: kprobe_example: Make it print something on MIPS. MIPS: kprobe: Add support. MIPS: Add instrunction format for BREAK and SYSCALL MIPS: kprobes: Define regs_return_value() MIPS: Ritually kill stupid printk. MIPS: Octeon: Disallow MSI-X interrupt and fall back to MSI interrupts. MIPS: Octeon: Support 256 MSI on PCIe MIPS: Decode core number for R2 CPUs. ...
This commit is contained in:
@@ -285,6 +285,7 @@ architectures:
|
|||||||
- sparc64 (Return probes not yet implemented.)
|
- sparc64 (Return probes not yet implemented.)
|
||||||
- arm
|
- arm
|
||||||
- ppc
|
- ppc
|
||||||
|
- mips
|
||||||
|
|
||||||
3. Configuring Kprobes
|
3. Configuring Kprobes
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Fail on warnings - also for files referenced in subdirs
|
||||||
|
# -Werror can be disabled for specific files using:
|
||||||
|
# CFLAGS_<file.o> := -Wno-error
|
||||||
|
subdir-ccflags-y := -Werror
|
||||||
|
|
||||||
|
# platform specific definitions
|
||||||
|
include arch/mips/Kbuild.platforms
|
||||||
|
obj-y := $(platform-y)
|
||||||
|
|
||||||
|
# mips object files
|
||||||
|
# The object files are linked as core-y files would be linked
|
||||||
|
|
||||||
|
obj-y += kernel/
|
||||||
|
obj-y += mm/
|
||||||
|
obj-y += math-emu/
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# All platforms listed in alphabetic order
|
||||||
|
|
||||||
|
platforms += alchemy
|
||||||
|
platforms += ar7
|
||||||
|
platforms += bcm47xx
|
||||||
|
platforms += bcm63xx
|
||||||
|
platforms += cavium-octeon
|
||||||
|
platforms += cobalt
|
||||||
|
platforms += dec
|
||||||
|
platforms += emma
|
||||||
|
platforms += jazz
|
||||||
|
platforms += jz4740
|
||||||
|
platforms += lasat
|
||||||
|
platforms += loongson
|
||||||
|
platforms += mipssim
|
||||||
|
platforms += mti-malta
|
||||||
|
platforms += pmc-sierra
|
||||||
|
platforms += pnx833x
|
||||||
|
platforms += pnx8550
|
||||||
|
platforms += powertv
|
||||||
|
platforms += rb532
|
||||||
|
platforms += sgi-ip22
|
||||||
|
platforms += sgi-ip27
|
||||||
|
platforms += sgi-ip32
|
||||||
|
platforms += sibyte
|
||||||
|
platforms += sni
|
||||||
|
platforms += txx9
|
||||||
|
platforms += vr41xx
|
||||||
|
platforms += wrppmc
|
||||||
|
|
||||||
|
# include the platform specific files
|
||||||
|
include $(patsubst %, $(srctree)/arch/mips/%/Platform, $(platforms))
|
||||||
+29
-1
@@ -10,6 +10,8 @@ config MIPS
|
|||||||
select HAVE_DYNAMIC_FTRACE
|
select HAVE_DYNAMIC_FTRACE
|
||||||
select HAVE_FTRACE_MCOUNT_RECORD
|
select HAVE_FTRACE_MCOUNT_RECORD
|
||||||
select HAVE_FUNCTION_GRAPH_TRACER
|
select HAVE_FUNCTION_GRAPH_TRACER
|
||||||
|
select HAVE_KPROBES
|
||||||
|
select HAVE_KRETPROBES
|
||||||
select RTC_LIB if !MACH_LOONGSON
|
select RTC_LIB if !MACH_LOONGSON
|
||||||
|
|
||||||
mainmenu "Linux/MIPS Kernel Configuration"
|
mainmenu "Linux/MIPS Kernel Configuration"
|
||||||
@@ -23,8 +25,17 @@ choice
|
|||||||
prompt "System type"
|
prompt "System type"
|
||||||
default SGI_IP22
|
default SGI_IP22
|
||||||
|
|
||||||
config MACH_ALCHEMY
|
config MIPS_ALCHEMY
|
||||||
bool "Alchemy processor based machines"
|
bool "Alchemy processor based machines"
|
||||||
|
select 64BIT_PHYS_ADDR
|
||||||
|
select CEVT_R4K_LIB
|
||||||
|
select CSRC_R4K_LIB
|
||||||
|
select IRQ_CPU
|
||||||
|
select SYS_HAS_CPU_MIPS32_R1
|
||||||
|
select SYS_SUPPORTS_32BIT_KERNEL
|
||||||
|
select SYS_SUPPORTS_APM_EMULATION
|
||||||
|
select GENERIC_GPIO
|
||||||
|
select ARCH_WANT_OPTIONAL_GPIOLIB
|
||||||
select SYS_SUPPORTS_ZBOOT
|
select SYS_SUPPORTS_ZBOOT
|
||||||
|
|
||||||
config AR7
|
config AR7
|
||||||
@@ -62,6 +73,7 @@ config BCM47XX
|
|||||||
select SSB_DRIVER_MIPS
|
select SSB_DRIVER_MIPS
|
||||||
select SSB_DRIVER_EXTIF
|
select SSB_DRIVER_EXTIF
|
||||||
select SSB_EMBEDDED
|
select SSB_EMBEDDED
|
||||||
|
select SSB_B43_PCI_BRIDGE if PCI
|
||||||
select SSB_PCICORE_HOSTMODE if PCI
|
select SSB_PCICORE_HOSTMODE if PCI
|
||||||
select GENERIC_GPIO
|
select GENERIC_GPIO
|
||||||
select SYS_HAS_EARLY_PRINTK
|
select SYS_HAS_EARLY_PRINTK
|
||||||
@@ -162,6 +174,18 @@ config MACH_JAZZ
|
|||||||
Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
|
Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
|
||||||
Olivetti M700-10 workstations.
|
Olivetti M700-10 workstations.
|
||||||
|
|
||||||
|
config MACH_JZ4740
|
||||||
|
bool "Ingenic JZ4740 based machines"
|
||||||
|
select SYS_HAS_CPU_MIPS32_R1
|
||||||
|
select SYS_SUPPORTS_32BIT_KERNEL
|
||||||
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||||
|
select DMA_NONCOHERENT
|
||||||
|
select IRQ_CPU
|
||||||
|
select GENERIC_GPIO
|
||||||
|
select ARCH_REQUIRE_GPIOLIB
|
||||||
|
select SYS_HAS_EARLY_PRINTK
|
||||||
|
select HAVE_PWM
|
||||||
|
|
||||||
config LASAT
|
config LASAT
|
||||||
bool "LASAT Networks platforms"
|
bool "LASAT Networks platforms"
|
||||||
select CEVT_R4K
|
select CEVT_R4K
|
||||||
@@ -686,6 +710,7 @@ endchoice
|
|||||||
source "arch/mips/alchemy/Kconfig"
|
source "arch/mips/alchemy/Kconfig"
|
||||||
source "arch/mips/bcm63xx/Kconfig"
|
source "arch/mips/bcm63xx/Kconfig"
|
||||||
source "arch/mips/jazz/Kconfig"
|
source "arch/mips/jazz/Kconfig"
|
||||||
|
source "arch/mips/jz4740/Kconfig"
|
||||||
source "arch/mips/lasat/Kconfig"
|
source "arch/mips/lasat/Kconfig"
|
||||||
source "arch/mips/pmc-sierra/Kconfig"
|
source "arch/mips/pmc-sierra/Kconfig"
|
||||||
source "arch/mips/powertv/Kconfig"
|
source "arch/mips/powertv/Kconfig"
|
||||||
@@ -892,6 +917,9 @@ config CPU_LITTLE_ENDIAN
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config EXPORT_UASM
|
||||||
|
bool
|
||||||
|
|
||||||
config SYS_SUPPORTS_APM_EMULATION
|
config SYS_SUPPORTS_APM_EMULATION
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
|||||||
+17
-505
File diff suppressed because it is too large
Load Diff
+10
-18
@@ -11,7 +11,7 @@ config ALCHEMY_GPIO_INDIRECT
|
|||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Machine type"
|
prompt "Machine type"
|
||||||
depends on MACH_ALCHEMY
|
depends on MIPS_ALCHEMY
|
||||||
default MIPS_DB1000
|
default MIPS_DB1000
|
||||||
|
|
||||||
config MIPS_MTX1
|
config MIPS_MTX1
|
||||||
@@ -128,41 +128,33 @@ config MIPS_XXS1500
|
|||||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||||
select SYS_HAS_EARLY_PRINTK
|
select SYS_HAS_EARLY_PRINTK
|
||||||
|
|
||||||
|
config MIPS_GPR
|
||||||
|
bool "Trapeze ITS GPR board"
|
||||||
|
select SOC_AU1550
|
||||||
|
select HW_HAS_PCI
|
||||||
|
select DMA_NONCOHERENT
|
||||||
|
select MIPS_DISABLE_OBSOLETE_IDE
|
||||||
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||||
|
select SYS_HAS_EARLY_PRINTK
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config SOC_AU1000
|
config SOC_AU1000
|
||||||
bool
|
bool
|
||||||
select SOC_AU1X00
|
|
||||||
select ALCHEMY_GPIOINT_AU1000
|
select ALCHEMY_GPIOINT_AU1000
|
||||||
|
|
||||||
config SOC_AU1100
|
config SOC_AU1100
|
||||||
bool
|
bool
|
||||||
select SOC_AU1X00
|
|
||||||
select ALCHEMY_GPIOINT_AU1000
|
select ALCHEMY_GPIOINT_AU1000
|
||||||
|
|
||||||
config SOC_AU1500
|
config SOC_AU1500
|
||||||
bool
|
bool
|
||||||
select SOC_AU1X00
|
|
||||||
select ALCHEMY_GPIOINT_AU1000
|
select ALCHEMY_GPIOINT_AU1000
|
||||||
|
|
||||||
config SOC_AU1550
|
config SOC_AU1550
|
||||||
bool
|
bool
|
||||||
select SOC_AU1X00
|
|
||||||
select ALCHEMY_GPIOINT_AU1000
|
select ALCHEMY_GPIOINT_AU1000
|
||||||
|
|
||||||
config SOC_AU1200
|
config SOC_AU1200
|
||||||
bool
|
bool
|
||||||
select SOC_AU1X00
|
|
||||||
select ALCHEMY_GPIOINT_AU1000
|
select ALCHEMY_GPIOINT_AU1000
|
||||||
|
|
||||||
config SOC_AU1X00
|
|
||||||
bool
|
|
||||||
select 64BIT_PHYS_ADDR
|
|
||||||
select CEVT_R4K_LIB
|
|
||||||
select CSRC_R4K_LIB
|
|
||||||
select IRQ_CPU
|
|
||||||
select SYS_HAS_CPU_MIPS32_R1
|
|
||||||
select SYS_SUPPORTS_32BIT_KERNEL
|
|
||||||
select SYS_SUPPORTS_APM_EMULATION
|
|
||||||
select GENERIC_GPIO
|
|
||||||
select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
||||||
|
|||||||
@@ -0,0 +1,114 @@
|
|||||||
|
#
|
||||||
|
# Core Alchemy code
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_ALCHEMY) += alchemy/common/
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Pb1000 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_PB1000) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_PB1000) += -I$(srctree)/arch/mips/include/asm/mach-pb1x00
|
||||||
|
load-$(CONFIG_MIPS_PB1000) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Pb1100 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_PB1100) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_PB1100) += -I$(srctree)/arch/mips/include/asm/mach-pb1x00
|
||||||
|
load-$(CONFIG_MIPS_PB1100) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Pb1500 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_PB1500) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_PB1500) += -I$(srctree)/arch/mips/include/asm/mach-pb1x00
|
||||||
|
load-$(CONFIG_MIPS_PB1500) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Pb1550 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_PB1550) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_PB1550) += -I$(srctree)/arch/mips/include/asm/mach-pb1x00
|
||||||
|
load-$(CONFIG_MIPS_PB1550) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Pb1200 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_PB1200) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_PB1200) += -I$(srctree)/arch/mips/include/asm/mach-pb1x00
|
||||||
|
load-$(CONFIG_MIPS_PB1200) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Db1000 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_DB1000) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_DB1000) += -I$(srctree)/arch/mips/include/asm/mach-db1x00
|
||||||
|
load-$(CONFIG_MIPS_DB1000) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Db1100 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_DB1100) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_DB1100) += -I$(srctree)/arch/mips/include/asm/mach-db1x00
|
||||||
|
load-$(CONFIG_MIPS_DB1100) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Db1500 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_DB1500) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_DB1500) += -I$(srctree)/arch/mips/include/asm/mach-db1x00
|
||||||
|
load-$(CONFIG_MIPS_DB1500) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Db1550 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_DB1550) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_DB1550) += -I$(srctree)/arch/mips/include/asm/mach-db1x00
|
||||||
|
load-$(CONFIG_MIPS_DB1550) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Db1200 eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_DB1200) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_DB1200) += -I$(srctree)/arch/mips/include/asm/mach-db1x00
|
||||||
|
load-$(CONFIG_MIPS_DB1200) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Bosporus eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_BOSPORUS) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_BOSPORUS) += -I$(srctree)/arch/mips/include/asm/mach-db1x00
|
||||||
|
load-$(CONFIG_MIPS_BOSPORUS) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# AMD Alchemy Mirage eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_MIRAGE) += alchemy/devboards/
|
||||||
|
cflags-$(CONFIG_MIPS_MIRAGE) += -I$(srctree)/arch/mips/include/asm/mach-db1x00
|
||||||
|
load-$(CONFIG_MIPS_MIRAGE) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# 4G-Systems eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_MTX1) += alchemy/mtx-1/
|
||||||
|
load-$(CONFIG_MIPS_MTX1) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# MyCable eval board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_XXS1500) += alchemy/xxs1500/
|
||||||
|
load-$(CONFIG_MIPS_XXS1500) += 0xffffffff80100000
|
||||||
|
|
||||||
|
#
|
||||||
|
# Trapeze ITS GRP board
|
||||||
|
#
|
||||||
|
platform-$(CONFIG_MIPS_GPR) += alchemy/gpr/
|
||||||
|
load-$(CONFIG_MIPS_GPR) += 0xffffffff80100000
|
||||||
|
|
||||||
|
# boards can specify their own <gpio.h> in one of their include dirs.
|
||||||
|
# If they do, placing this line here at the end will make sure the
|
||||||
|
# compiler picks the board one. If they don't, it will make sure
|
||||||
|
# the alchemy generic gpio header is picked up.
|
||||||
|
|
||||||
|
cflags-$(CONFIG_MIPS_ALCHEMY) += -I$(srctree)/arch/mips/include/asm/mach-au1x00
|
||||||
@@ -18,5 +18,3 @@ ifeq ($(CONFIG_ALCHEMY_GPIO_INDIRECT),)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
obj-$(CONFIG_PCI) += pci.o
|
obj-$(CONFIG_PCI) += pci.o
|
||||||
|
|
||||||
EXTRA_CFLAGS += -Werror
|
|
||||||
|
|||||||
@@ -89,11 +89,7 @@ unsigned long au1xxx_calc_clock(void)
|
|||||||
* over backwards trying to determine the frequency.
|
* over backwards trying to determine the frequency.
|
||||||
*/
|
*/
|
||||||
if (au1xxx_cpu_has_pll_wo())
|
if (au1xxx_cpu_has_pll_wo())
|
||||||
#ifdef CONFIG_SOC_AU1000_FREQUENCY
|
|
||||||
cpu_speed = CONFIG_SOC_AU1000_FREQUENCY;
|
|
||||||
#else
|
|
||||||
cpu_speed = 396000000;
|
cpu_speed = 396000000;
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
cpu_speed = (au_readl(SYS_CPUPLL) & 0x0000003f) * AU1000_SRC_CLK;
|
cpu_speed = (au_readl(SYS_CPUPLL) & 0x0000003f) * AU1000_SRC_CLK;
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
|
#include <linux/etherdevice.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/serial_8250.h>
|
#include <linux/serial_8250.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
@@ -21,6 +22,8 @@
|
|||||||
#include <asm/mach-au1x00/au1100_mmc.h>
|
#include <asm/mach-au1x00/au1100_mmc.h>
|
||||||
#include <asm/mach-au1x00/au1xxx_eth.h>
|
#include <asm/mach-au1x00/au1xxx_eth.h>
|
||||||
|
|
||||||
|
#include <prom.h>
|
||||||
|
|
||||||
#define PORT(_base, _irq) \
|
#define PORT(_base, _irq) \
|
||||||
{ \
|
{ \
|
||||||
.mapbase = _base, \
|
.mapbase = _base, \
|
||||||
@@ -33,7 +36,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
static struct plat_serial8250_port au1x00_uart_data[] = {
|
static struct plat_serial8250_port au1x00_uart_data[] = {
|
||||||
#if defined(CONFIG_SERIAL_8250_AU1X00)
|
|
||||||
#if defined(CONFIG_SOC_AU1000)
|
#if defined(CONFIG_SOC_AU1000)
|
||||||
PORT(UART0_PHYS_ADDR, AU1000_UART0_INT),
|
PORT(UART0_PHYS_ADDR, AU1000_UART0_INT),
|
||||||
PORT(UART1_PHYS_ADDR, AU1000_UART1_INT),
|
PORT(UART1_PHYS_ADDR, AU1000_UART1_INT),
|
||||||
@@ -54,7 +56,6 @@ static struct plat_serial8250_port au1x00_uart_data[] = {
|
|||||||
PORT(UART0_PHYS_ADDR, AU1200_UART0_INT),
|
PORT(UART0_PHYS_ADDR, AU1200_UART0_INT),
|
||||||
PORT(UART1_PHYS_ADDR, AU1200_UART1_INT),
|
PORT(UART1_PHYS_ADDR, AU1200_UART1_INT),
|
||||||
#endif
|
#endif
|
||||||
#endif /* CONFIG_SERIAL_8250_AU1X00 */
|
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -436,17 +437,27 @@ static int __init au1xxx_platform_init(void)
|
|||||||
{
|
{
|
||||||
unsigned int uartclk = get_au1x00_uart_baud_base() * 16;
|
unsigned int uartclk = get_au1x00_uart_baud_base() * 16;
|
||||||
int err, i;
|
int err, i;
|
||||||
|
unsigned char ethaddr[6];
|
||||||
|
|
||||||
/* Fill up uartclk. */
|
/* Fill up uartclk. */
|
||||||
for (i = 0; au1x00_uart_data[i].flags; i++)
|
for (i = 0; au1x00_uart_data[i].flags; i++)
|
||||||
au1x00_uart_data[i].uartclk = uartclk;
|
au1x00_uart_data[i].uartclk = uartclk;
|
||||||
|
|
||||||
|
/* use firmware-provided mac addr if available and necessary */
|
||||||
|
i = prom_get_ethernet_addr(ethaddr);
|
||||||
|
if (!i && !is_valid_ether_addr(au1xxx_eth0_platform_data.mac))
|
||||||
|
memcpy(au1xxx_eth0_platform_data.mac, ethaddr, 6);
|
||||||
|
|
||||||
err = platform_add_devices(au1xxx_platform_devices,
|
err = platform_add_devices(au1xxx_platform_devices,
|
||||||
ARRAY_SIZE(au1xxx_platform_devices));
|
ARRAY_SIZE(au1xxx_platform_devices));
|
||||||
#ifndef CONFIG_SOC_AU1100
|
#ifndef CONFIG_SOC_AU1100
|
||||||
|
ethaddr[5] += 1; /* next addr for 2nd MAC */
|
||||||
|
if (!i && !is_valid_ether_addr(au1xxx_eth1_platform_data.mac))
|
||||||
|
memcpy(au1xxx_eth1_platform_data.mac, ethaddr, 6);
|
||||||
|
|
||||||
/* Register second MAC if enabled in pinfunc */
|
/* Register second MAC if enabled in pinfunc */
|
||||||
if (!err && !(au_readl(SYS_PINFUNC) & (u32)SYS_PF_NI2))
|
if (!err && !(au_readl(SYS_PINFUNC) & (u32)SYS_PF_NI2))
|
||||||
platform_device_register(&au1xxx_eth1_device);
|
err = platform_device_register(&au1xxx_eth1_device);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|||||||
@@ -16,5 +16,3 @@ obj-$(CONFIG_MIPS_DB1500) += db1x00/
|
|||||||
obj-$(CONFIG_MIPS_DB1550) += db1x00/
|
obj-$(CONFIG_MIPS_DB1550) += db1x00/
|
||||||
obj-$(CONFIG_MIPS_BOSPORUS) += db1x00/
|
obj-$(CONFIG_MIPS_BOSPORUS) += db1x00/
|
||||||
obj-$(CONFIG_MIPS_MIRAGE) += db1x00/
|
obj-$(CONFIG_MIPS_MIRAGE) += db1x00/
|
||||||
|
|
||||||
EXTRA_CFLAGS += -Werror
|
|
||||||
|
|||||||
@@ -216,14 +216,14 @@ static struct resource db1200_ide_res[] = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static u64 ide_dmamask = DMA_32BIT_MASK;
|
static u64 ide_dmamask = DMA_BIT_MASK(32);
|
||||||
|
|
||||||
static struct platform_device db1200_ide_dev = {
|
static struct platform_device db1200_ide_dev = {
|
||||||
.name = "au1200-ide",
|
.name = "au1200-ide",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
.dev = {
|
.dev = {
|
||||||
.dma_mask = &ide_dmamask,
|
.dma_mask = &ide_dmamask,
|
||||||
.coherent_dma_mask = DMA_32BIT_MASK,
|
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||||
},
|
},
|
||||||
.num_resources = ARRAY_SIZE(db1200_ide_res),
|
.num_resources = ARRAY_SIZE(db1200_ide_res),
|
||||||
.resource = db1200_ide_res,
|
.resource = db1200_ide_res,
|
||||||
@@ -385,12 +385,12 @@ static struct au1550_spi_info db1200_spi_platdata = {
|
|||||||
.activate_cs = db1200_spi_cs_en,
|
.activate_cs = db1200_spi_cs_en,
|
||||||
};
|
};
|
||||||
|
|
||||||
static u64 spi_dmamask = DMA_32BIT_MASK;
|
static u64 spi_dmamask = DMA_BIT_MASK(32);
|
||||||
|
|
||||||
static struct platform_device db1200_spi_dev = {
|
static struct platform_device db1200_spi_dev = {
|
||||||
.dev = {
|
.dev = {
|
||||||
.dma_mask = &spi_dmamask,
|
.dma_mask = &spi_dmamask,
|
||||||
.coherent_dma_mask = DMA_32BIT_MASK,
|
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||||
.platform_data = &db1200_spi_platdata,
|
.platform_data = &db1200_spi_platdata,
|
||||||
},
|
},
|
||||||
.name = "au1550-spi",
|
.name = "au1550-spi",
|
||||||
|
|||||||
@@ -79,7 +79,6 @@ static struct au1000_eth_platform_data eth0_pdata = {
|
|||||||
|
|
||||||
static void bosporus_power_off(void)
|
static void bosporus_power_off(void)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO "It's now safe to turn off power\n");
|
|
||||||
while (1)
|
while (1)
|
||||||
asm volatile (".set mips3 ; wait ; .set mips0");
|
asm volatile (".set mips3 ; wait ; .set mips0");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,9 +47,11 @@ static void board_reset(char *c)
|
|||||||
|
|
||||||
static void board_power_off(void)
|
static void board_power_off(void)
|
||||||
{
|
{
|
||||||
printk(KERN_ALERT "It's now safe to remove power\n");
|
|
||||||
while (1)
|
while (1)
|
||||||
asm volatile (".set mips3 ; wait ; .set mips1");
|
asm volatile (
|
||||||
|
" .set mips32 \n"
|
||||||
|
" wait \n"
|
||||||
|
" .set mips0 \n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init board_setup(void)
|
void __init board_setup(void)
|
||||||
|
|||||||
@@ -3,5 +3,3 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
obj-y := board_setup.o platform.o
|
obj-y := board_setup.o platform.o
|
||||||
|
|
||||||
EXTRA_CFLAGS += -Werror
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2003 MontaVista Software Inc.
|
||||||
|
# Author: MontaVista Software, Inc. <source@mvista.com>
|
||||||
|
#
|
||||||
|
# Makefile for Trapeze ITS GPR board.
|
||||||
|
#
|
||||||
|
|
||||||
|
obj-y += board_setup.o init.o platform.o
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010 Wolfgang Grandegger <wg@denx.de>
|
||||||
|
*
|
||||||
|
* Copyright 2000-2003, 2008 MontaVista Software Inc.
|
||||||
|
* Author: MontaVista Software, Inc. <source@mvista.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||||
|
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/interrupt.h>
|
||||||
|
#include <linux/delay.h>
|
||||||
|
#include <linux/pm.h>
|
||||||
|
|
||||||
|
#include <asm/reboot.h>
|
||||||
|
#include <asm/mach-au1x00/au1000.h>
|
||||||
|
|
||||||
|
#include <prom.h>
|
||||||
|
|
||||||
|
#define UART1_ADDR KSEG1ADDR(UART1_PHYS_ADDR)
|
||||||
|
#define UART3_ADDR KSEG1ADDR(UART3_PHYS_ADDR)
|
||||||
|
|
||||||
|
char irq_tab_alchemy[][5] __initdata = {
|
||||||
|
[0] = { -1, AU1500_PCI_INTA, AU1500_PCI_INTB, 0xff, 0xff },
|
||||||
|
};
|
||||||
|
|
||||||
|
static void gpr_reset(char *c)
|
||||||
|
{
|
||||||
|
/* switch System-LED to orange (red# and green# on) */
|
||||||
|
alchemy_gpio_direction_output(4, 0);
|
||||||
|
alchemy_gpio_direction_output(5, 0);
|
||||||
|
|
||||||
|
/* trigger watchdog to reset board in 200ms */
|
||||||
|
printk(KERN_EMERG "Triggering watchdog soft reset...\n");
|
||||||
|
raw_local_irq_disable();
|
||||||
|
alchemy_gpio_direction_output(1, 0);
|
||||||
|
udelay(1);
|
||||||
|
alchemy_gpio_set_value(1, 1);
|
||||||
|
while (1)
|
||||||
|
cpu_wait();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void gpr_power_off(void)
|
||||||
|
{
|
||||||
|
while (1)
|
||||||
|
cpu_wait();
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init board_setup(void)
|
||||||
|
{
|
||||||
|
printk(KERN_INFO "Tarpeze ITS GPR board\n");
|
||||||
|
|
||||||
|
pm_power_off = gpr_power_off;
|
||||||
|
_machine_halt = gpr_power_off;
|
||||||
|
_machine_restart = gpr_reset;
|
||||||
|
|
||||||
|
/* Enable UART3 */
|
||||||
|
au_writel(0x1, UART3_ADDR + UART_MOD_CNTRL);/* clock enable (CE) */
|
||||||
|
au_writel(0x3, UART3_ADDR + UART_MOD_CNTRL); /* CE and "enable" */
|
||||||
|
/* Enable UART1 */
|
||||||
|
au_writel(0x1, UART1_ADDR + UART_MOD_CNTRL); /* clock enable (CE) */
|
||||||
|
au_writel(0x3, UART1_ADDR + UART_MOD_CNTRL); /* CE and "enable" */
|
||||||
|
|
||||||
|
/* Take away Reset of UMTS-card */
|
||||||
|
alchemy_gpio_direction_output(215, 1);
|
||||||
|
|
||||||
|
#ifdef CONFIG_PCI
|
||||||
|
#if defined(__MIPSEB__)
|
||||||
|
au_writel(0xf | (2 << 6) | (1 << 4), Au1500_PCI_CFG);
|
||||||
|
#else
|
||||||
|
au_writel(0xf, Au1500_PCI_CFG);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010 Wolfgang Grandegger <wg@denx.de>
|
||||||
|
*
|
||||||
|
* Copyright 2003, 2008 MontaVista Software Inc.
|
||||||
|
* Author: MontaVista Software, Inc. <source@mvista.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||||
|
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/kernel.h>
|
||||||
|
|
||||||
|
#include <asm/bootinfo.h>
|
||||||
|
#include <asm/mach-au1x00/au1000.h>
|
||||||
|
|
||||||
|
#include <prom.h>
|
||||||
|
|
||||||
|
const char *get_system_type(void)
|
||||||
|
{
|
||||||
|
return "GPR";
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init prom_init(void)
|
||||||
|
{
|
||||||
|
unsigned char *memsize_str;
|
||||||
|
unsigned long memsize;
|
||||||
|
|
||||||
|
prom_argc = fw_arg0;
|
||||||
|
prom_argv = (char **)fw_arg1;
|
||||||
|
prom_envp = (char **)fw_arg2;
|
||||||
|
|
||||||
|
prom_init_cmdline();
|
||||||
|
|
||||||
|
memsize_str = prom_getenv("memsize");
|
||||||
|
if (!memsize_str)
|
||||||
|
memsize = 0x04000000;
|
||||||
|
else
|
||||||
|
strict_strtoul(memsize_str, 0, &memsize);
|
||||||
|
add_memory_region(0, memsize, BOOT_MEM_RAM);
|
||||||
|
}
|
||||||
|
|
||||||
|
void prom_putchar(unsigned char c)
|
||||||
|
{
|
||||||
|
alchemy_uart_putchar(UART0_PHYS_ADDR, c);
|
||||||
|
}
|
||||||
@@ -0,0 +1,183 @@
|
|||||||
|
/*
|
||||||
|
* GPR board platform device registration
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Wolfgang Grandegger <wg@denx.de>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/mtd/partitions.h>
|
||||||
|
#include <linux/mtd/physmap.h>
|
||||||
|
#include <linux/leds.h>
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/i2c.h>
|
||||||
|
#include <linux/i2c-gpio.h>
|
||||||
|
|
||||||
|
#include <asm/mach-au1x00/au1000.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Watchdog
|
||||||
|
*/
|
||||||
|
static struct resource gpr_wdt_resource[] = {
|
||||||
|
[0] = {
|
||||||
|
.start = 1,
|
||||||
|
.end = 1,
|
||||||
|
.name = "gpr-adm6320-wdt",
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device gpr_wdt_device = {
|
||||||
|
.name = "adm6320-wdt",
|
||||||
|
.id = 0,
|
||||||
|
.num_resources = ARRAY_SIZE(gpr_wdt_resource),
|
||||||
|
.resource = gpr_wdt_resource,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FLASH
|
||||||
|
*
|
||||||
|
* 0x00000000-0x00200000 : "kernel"
|
||||||
|
* 0x00200000-0x00a00000 : "rootfs"
|
||||||
|
* 0x01d00000-0x01f00000 : "config"
|
||||||
|
* 0x01c00000-0x01d00000 : "yamon"
|
||||||
|
* 0x01d00000-0x01d40000 : "yamon env vars"
|
||||||
|
* 0x00000000-0x00a00000 : "kernel+rootfs"
|
||||||
|
*/
|
||||||
|
static struct mtd_partition gpr_mtd_partitions[] = {
|
||||||
|
{
|
||||||
|
.name = "kernel",
|
||||||
|
.size = 0x00200000,
|
||||||
|
.offset = 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "rootfs",
|
||||||
|
.size = 0x00800000,
|
||||||
|
.offset = MTDPART_OFS_APPEND,
|
||||||
|
.mask_flags = MTD_WRITEABLE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "config",
|
||||||
|
.size = 0x00200000,
|
||||||
|
.offset = 0x01d00000,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "yamon",
|
||||||
|
.size = 0x00100000,
|
||||||
|
.offset = 0x01c00000,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "yamon env vars",
|
||||||
|
.size = 0x00040000,
|
||||||
|
.offset = MTDPART_OFS_APPEND,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "kernel+rootfs",
|
||||||
|
.size = 0x00a00000,
|
||||||
|
.offset = 0,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct physmap_flash_data gpr_flash_data = {
|
||||||
|
.width = 4,
|
||||||
|
.nr_parts = ARRAY_SIZE(gpr_mtd_partitions),
|
||||||
|
.parts = gpr_mtd_partitions,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct resource gpr_mtd_resource = {
|
||||||
|
.start = 0x1e000000,
|
||||||
|
.end = 0x1fffffff,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device gpr_mtd_device = {
|
||||||
|
.name = "physmap-flash",
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &gpr_flash_data,
|
||||||
|
},
|
||||||
|
.num_resources = 1,
|
||||||
|
.resource = &gpr_mtd_resource,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* LEDs
|
||||||
|
*/
|
||||||
|
static struct gpio_led gpr_gpio_leds[] = {
|
||||||
|
{ /* green */
|
||||||
|
.name = "gpr:green",
|
||||||
|
.gpio = 4,
|
||||||
|
.active_low = 1,
|
||||||
|
},
|
||||||
|
{ /* red */
|
||||||
|
.name = "gpr:red",
|
||||||
|
.gpio = 5,
|
||||||
|
.active_low = 1,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct gpio_led_platform_data gpr_led_data = {
|
||||||
|
.num_leds = ARRAY_SIZE(gpr_gpio_leds),
|
||||||
|
.leds = gpr_gpio_leds,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device gpr_led_devices = {
|
||||||
|
.name = "leds-gpio",
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &gpr_led_data,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* I2C
|
||||||
|
*/
|
||||||
|
static struct i2c_gpio_platform_data gpr_i2c_data = {
|
||||||
|
.sda_pin = 209,
|
||||||
|
.sda_is_open_drain = 1,
|
||||||
|
.scl_pin = 210,
|
||||||
|
.scl_is_open_drain = 1,
|
||||||
|
.udelay = 2, /* ~100 kHz */
|
||||||
|
.timeout = HZ,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device gpr_i2c_device = {
|
||||||
|
.name = "i2c-gpio",
|
||||||
|
.id = -1,
|
||||||
|
.dev.platform_data = &gpr_i2c_data,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct i2c_board_info gpr_i2c_info[] __initdata = {
|
||||||
|
{
|
||||||
|
I2C_BOARD_INFO("lm83", 0x18),
|
||||||
|
.type = "lm83"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device *gpr_devices[] __initdata = {
|
||||||
|
&gpr_wdt_device,
|
||||||
|
&gpr_mtd_device,
|
||||||
|
&gpr_i2c_device,
|
||||||
|
&gpr_led_devices,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int __init gpr_dev_init(void)
|
||||||
|
{
|
||||||
|
i2c_register_board_info(0, gpr_i2c_info, ARRAY_SIZE(gpr_i2c_info));
|
||||||
|
|
||||||
|
return platform_add_devices(gpr_devices, ARRAY_SIZE(gpr_devices));
|
||||||
|
}
|
||||||
|
device_initcall(gpr_dev_init);
|
||||||
@@ -6,7 +6,4 @@
|
|||||||
# Makefile for 4G Systems MTX-1 board.
|
# Makefile for 4G Systems MTX-1 board.
|
||||||
#
|
#
|
||||||
|
|
||||||
lib-y := init.o board_setup.o
|
obj-y += init.o board_setup.o platform.o
|
||||||
obj-y := platform.o
|
|
||||||
|
|
||||||
EXTRA_CFLAGS += -Werror
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user