All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20121007015405.958959522@gmail.com>

diff --git a/a/1.txt b/N1/1.txt
index 4b4b6e7..c456e83 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,3 +1,714 @@
-An embedded and charset-unspecified text was scrubbed...
-Name: arm-bcm476x-add-infrastructure.patch
-URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121007/907c011d/attachment.ksh>
+From: Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
+
+BCM476x's minimal infrastructure, Kernel's great reuse.
+
+Look mom, no include/mach directory!
+
+Signed-off-by: Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
+---
+ Documentation/devicetree/bindings/arm/bcm476x.txt |    8 +
+ MAINTAINERS                                       |    9 +
+ arch/arm/Kconfig                                  |    2 +
+ arch/arm/Makefile                                 |    1 +
+ arch/arm/boot/dts/bcm476x-catalina.dts            |   11 +
+ arch/arm/boot/dts/bcm476x.dtsi                    |   31 ++
+ arch/arm/configs/bcm476x_defconfig                |  352 ++++++++++++++++++++++
+ arch/arm/include/debug/bcm476x-uncompress.h       |   53 +++
+ arch/arm/include/debug/bcm476x.S                  |   35 ++
+ arch/arm/mach-bcm476x/Kconfig                     |   17 +
+ arch/arm/mach-bcm476x/Makefile                    |    1 +
+ arch/arm/mach-bcm476x/Makefile.boot               |    5 +
+ arch/arm/mach-bcm476x/bcm476x.c                   |   83 +++++
+ 13 files changed, 608 insertions(+)
+
+Index: b/Documentation/devicetree/bindings/arm/bcm476x.txt
+===================================================================
+--- /dev/null
++++ b/Documentation/devicetree/bindings/arm/bcm476x.txt
+@@ -0,0 +1,8 @@
++Broadcom BCM476x device tree bindings
++-------------------------------------------
++
++Boards with the BCM476x SoC shall have the following properties:
++
++Required root node property:
++
++compatible = "brcm,bcm476x";
+Index: b/arch/arm/Kconfig
+===================================================================
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -1017,6 +1017,8 @@ source "arch/arm/mach-mvebu/Kconfig"
+ 
+ source "arch/arm/mach-at91/Kconfig"
+ 
++source "arch/arm/mach-bcm476x/Kconfig"
++
+ source "arch/arm/mach-clps711x/Kconfig"
+ 
+ source "arch/arm/mach-cns3xxx/Kconfig"
+Index: b/arch/arm/Makefile
+===================================================================
+--- a/arch/arm/Makefile
++++ b/arch/arm/Makefile
+@@ -137,6 +137,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020
+ # by CONFIG_* macro name.
+ machine-$(CONFIG_ARCH_AT91)		+= at91
+ machine-$(CONFIG_ARCH_BCM2835)		+= bcm2835
++machine-$(CONFIG_ARCH_BCM476X)		:= bcm476x
+ machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
+ machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
+ machine-$(CONFIG_ARCH_DAVINCI)		+= davinci
+Index: b/arch/arm/boot/dts/bcm476x-catalina.dts
+===================================================================
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm476x-catalina.dts
+@@ -0,0 +1,11 @@
++/dts-v1/;
++/include/ "bcm476x.dtsi"
++
++/ {
++	compatible = "brcm,catalina", "brcm,bcm476x";
++	model = "Broadcom Catalina";
++
++	memory {
++		reg = <0x30000000 0x4000000>;
++	};
++};
+Index: b/arch/arm/boot/dts/bcm476x.dtsi
+===================================================================
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm476x.dtsi
+@@ -0,0 +1,31 @@
++/include/ "skeleton.dtsi"
++
++/ {
++	compatible = "brcm,bcm476x";
++	model = "Broadcom BCM476x";
++
++	chosen {
++		bootargs = "earlyprintk";
++	};
++
++	amba {
++		compatible = "arm,amba-bus";
++		#address-cells = <1>;
++		#size-cells = <1>;
++		ranges;
++
++		vic0: interrupt-controller@80000 {
++			compatible = "brcm,bcm476x-pl192", "arm,pl192-vic", "arm,primecell";
++			reg = <0x80000 0x1000>;
++			interrupt-controller;
++			#interrupt-cells = <1>;
++		};
++
++		vic1: interrupt-controller@81000 {
++			compatible = "brcm,bcm476x-pl192", "arm,pl192-vic", "arm,primecell";
++			reg = <0x81000 0x1000>;
++			interrupt-controller;
++			#interrupt-cells = <1>;
++		};
++	};
++};
+Index: b/arch/arm/configs/bcm476x_defconfig
+===================================================================
+--- /dev/null
++++ b/arch/arm/configs/bcm476x_defconfig
+@@ -0,0 +1,352 @@
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_HAVE_PROC_CPU=y
++CONFIG_NO_IOPORT=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_NEED_DMA_MAP_STATE=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_ARM_PATCH_PHYS_VIRT=y
++CONFIG_GENERIC_BUG=y
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++CONFIG_HAVE_IRQ_WORK=y
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_CROSS_COMPILE=""
++CONFIG_LOCALVERSION=""
++CONFIG_HAVE_KERNEL_GZIP=y
++CONFIG_HAVE_KERNEL_LZMA=y
++CONFIG_HAVE_KERNEL_XZ=y
++CONFIG_HAVE_KERNEL_LZO=y
++CONFIG_KERNEL_GZIP=y
++CONFIG_DEFAULT_HOSTNAME="(none)"
++CONFIG_HAVE_GENERIC_HARDIRQS=y
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_GENERIC_IRQ_SHOW=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_CHIP=y
++CONFIG_IRQ_DOMAIN=y
++CONFIG_IRQ_DOMAIN_DEBUG=y
++CONFIG_SPARSE_IRQ=y
++CONFIG_KTIME_SCALAR=y
++CONFIG_GENERIC_CLOCKEVENTS=y
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_TINY_RCU=y
++CONFIG_IKCONFIG=y
++CONFIG_IKCONFIG_PROC=y
++CONFIG_LOG_BUF_SHIFT=17
++CONFIG_NAMESPACES=y
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_RD_GZIP=y
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++CONFIG_ANON_INODES=y
++CONFIG_EXPERT=y
++CONFIG_UID16=y
++CONFIG_KALLSYMS=y
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_EMBEDDED=y
++CONFIG_HAVE_PERF_EVENTS=y
++CONFIG_PERF_USE_VMALLOC=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++CONFIG_HAVE_OPROFILE=y
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_ARCH_TRACEHOOK=y
++CONFIG_HAVE_DMA_ATTRS=y
++CONFIG_HAVE_DMA_CONTIGUOUS=y
++CONFIG_GENERIC_SMP_IDLE_THREAD=y
++CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_DMA_API_DEBUG=y
++CONFIG_HAVE_ARCH_JUMP_LABEL=y
++CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++CONFIG_MODULE_UNLOAD=y
++CONFIG_BLOCK=y
++CONFIG_MSDOS_PARTITION=y
++CONFIG_IOSCHED_NOOP=y
++CONFIG_DEFAULT_NOOP=y
++CONFIG_DEFAULT_IOSCHED="noop"
++CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
++CONFIG_INLINE_READ_UNLOCK=y
++CONFIG_INLINE_READ_UNLOCK_IRQ=y
++CONFIG_INLINE_WRITE_UNLOCK=y
++CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
++CONFIG_MMU=y
++CONFIG_ARCH_MULTIPLATFORM=y
++CONFIG_ARCH_MULTI_V6=y
++CONFIG_ARCH_MULTI_V6_V7=y
++CONFIG_ARCH_BCM476X=y
++CONFIG_CPU_V6=y
++CONFIG_CPU_32v6=y
++CONFIG_CPU_ABRT_EV6=y
++CONFIG_CPU_PABRT_V6=y
++CONFIG_CPU_CACHE_V6=y
++CONFIG_CPU_CACHE_VIPT=y
++CONFIG_CPU_COPY_V6=y
++CONFIG_CPU_TLB_V6=y
++CONFIG_CPU_HAS_ASID=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++CONFIG_CPU_USE_DOMAINS=y
++CONFIG_ARM_THUMB=y
++CONFIG_ARM_L1_CACHE_SHIFT=5
++CONFIG_ARM_DMA_MEM_BUFFERABLE=y
++CONFIG_ARM_NR_BANKS=8
++CONFIG_CPU_HAS_PMU=y
++CONFIG_MULTI_IRQ_HANDLER=y
++CONFIG_ARM_ERRATA_411920=y
++CONFIG_ARM_ERRATA_364296=y
++CONFIG_ARM_VIC=y
++CONFIG_ARM_VIC_NR=2
++CONFIG_ARM_AMBA=y
++CONFIG_VMSPLIT_3G=y
++CONFIG_PAGE_OFFSET=0xC0000000
++CONFIG_ARCH_NR_GPIO=0
++CONFIG_PREEMPT_NONE=y
++CONFIG_PREEMPT_COUNT=y
++CONFIG_HZ=100
++CONFIG_AEABI=y
++CONFIG_HAVE_ARCH_PFN_VALID=y
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_HAVE_MEMBLOCK=y
++CONFIG_MEMORY_ISOLATION=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4
++CONFIG_MIGRATION=y
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
++CONFIG_CROSS_MEMORY_ATTACH=y
++CONFIG_NEED_PER_CPU_KM=y
++CONFIG_FORCE_MAX_ZONEORDER=11
++CONFIG_ALIGNMENT_TRAP=y
++CONFIG_DEPRECATED_PARAM_STRUCT=y
++CONFIG_USE_OF=y
++CONFIG_ZBOOT_ROM_TEXT=0
++CONFIG_ZBOOT_ROM_BSS=0
++CONFIG_ARM_APPENDED_DTB=y
++CONFIG_ARM_ATAG_DTB_COMPAT=y
++CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
++CONFIG_CMDLINE="root=/dev/mmcblk0p2 ro console=ttyAMA1,115200 rootwait init=/bin/bash"
++CONFIG_CMDLINE_FROM_BOOTLOADER=y
++CONFIG_AUTO_ZRELADDR=y
++CONFIG_VFP=y
++CONFIG_BINFMT_ELF=y
++CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
++CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
++CONFIG_HAVE_AOUT=y
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++CONFIG_HAVE_BPF_JIT=y
++CONFIG_UEVENT_HELPER_PATH=""
++CONFIG_DEVTMPFS=y
++CONFIG_DEVTMPFS_MOUNT=y
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=y
++CONFIG_EXTRA_FIRMWARE=""
++CONFIG_CMA=y
++CONFIG_CMA_SIZE_MBYTES=16
++CONFIG_CMA_SIZE_SEL_MBYTES=y
++CONFIG_CMA_ALIGNMENT=8
++CONFIG_CMA_AREAS=7
++CONFIG_DTC=y
++CONFIG_OF=y
++CONFIG_PROC_DEVICETREE=y
++CONFIG_OF_FLATTREE=y
++CONFIG_OF_EARLY_FLATTREE=y
++CONFIG_OF_ADDRESS=y
++CONFIG_OF_IRQ=y
++CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
++CONFIG_BLK_DEV=y
++CONFIG_BLK_DEV_LOOP=y
++CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++CONFIG_SCSI_MOD=y
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_BLK_DEV_SD=y
++CONFIG_SCSI_MULTI_LUN=y
++CONFIG_INPUT=y
++CONFIG_INPUT_EVDEV=y
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_HW_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++CONFIG_SERIAL_AMBA_PL010=y
++CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
++CONFIG_SERIAL_AMBA_PL011=y
++CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_ALGOBIT=y
++CONFIG_SPI=y
++CONFIG_SPI_MASTER=y
++CONFIG_SPI_PL022=y
++CONFIG_PINCTRL=y
++CONFIG_PINMUX=y
++CONFIG_PINCONF=y
++CONFIG_DEBUG_PINCTRL=y
++CONFIG_PINCTRL_BCM476X=y
++CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
++CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
++CONFIG_SSB_POSSIBLE=y
++CONFIG_SSB=y
++CONFIG_SSB_SDIOHOST_POSSIBLE=y
++CONFIG_BCMA_POSSIBLE=y
++CONFIG_BCMA=y
++CONFIG_REGULATOR=y
++CONFIG_REGULATOR_DEBUG=y
++CONFIG_REGULATOR_BCM59040=y
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_HID=y
++CONFIG_HID_GENERIC=y
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_COMMON=y
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_GADGET=y
++CONFIG_USB_GADGET_VBUS_DRAW=2
++CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
++CONFIG_USB_MASS_STORAGE=y
++CONFIG_MMC=y
++CONFIG_MMC_DEBUG=y
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_MINORS=8
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_PLTFM=y
++CONFIG_RTC_LIB=y
++CONFIG_DMADEVICES=y
++CONFIG_AMBA_PL08X=y
++CONFIG_DMA_ENGINE=y
++CONFIG_DMA_VIRTUAL_CHANNELS=y
++CONFIG_CLKDEV_LOOKUP=y
++CONFIG_HAVE_CLK_PREPARE=y
++CONFIG_COMMON_CLK=y
++CONFIG_COMMON_CLK_DEBUG=y
++CONFIG_CLKSRC_MMIO=y
++CONFIG_DCACHE_WORD_ACCESS=y
++CONFIG_EXT2_FS=y
++CONFIG_EXT3_FS=y
++CONFIG_EXT4_FS=y
++CONFIG_JBD=y
++CONFIG_JBD2=y
++CONFIG_FILE_LOCKING=y
++CONFIG_FSNOTIFY=y
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY_USER=y
++CONFIG_FANOTIFY=y
++CONFIG_FAT_FS=y
++CONFIG_MSDOS_FS=y
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++CONFIG_MISC_FILESYSTEMS=y
++CONFIG_CRAMFS=y
++CONFIG_ROMFS_FS=y
++CONFIG_ROMFS_BACKED_BY_BLOCK=y
++CONFIG_ROMFS_ON_BLOCK=y
++CONFIG_NLS=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++CONFIG_NLS_CODEPAGE_850=y
++CONFIG_NLS_ISO8859_1=y
++CONFIG_NLS_ISO8859_15=y
++CONFIG_PRINTK_TIME=y
++CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++CONFIG_STRIP_ASM_SYMS=y
++CONFIG_DEBUG_FS=y
++CONFIG_DEBUG_SECTION_MISMATCH=y
++CONFIG_DEBUG_KERNEL=y
++CONFIG_PANIC_ON_OOPS_VALUE=0
++CONFIG_DEBUG_ATOMIC_SLEEP=y
++CONFIG_DEBUG_BUGVERBOSE=y
++CONFIG_DEBUG_INFO=y
++CONFIG_DEBUG_INFO_REDUCED=y
++CONFIG_FRAME_POINTER=y
++CONFIG_HAVE_FUNCTION_TRACER=y
++CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
++CONFIG_HAVE_DYNAMIC_FTRACE=y
++CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
++CONFIG_HAVE_C_RECORDMCOUNT=y
++CONFIG_TRACING_SUPPORT=y
++CONFIG_HAVE_ARCH_KGDB=y
++CONFIG_DEBUG_LL=y
++CONFIG_DEBUG_BCM476X_UART2=y
++CONFIG_DEBUG_LL_INCLUDE="debug/bcm476x.S"
++CONFIG_UNCOMPRESS_INCLUDE="debug/bcm476x-uncompress.h"
++CONFIG_EARLY_PRINTK=y
++CONFIG_DEFAULT_SECURITY_DAC=y
++CONFIG_DEFAULT_SECURITY=""
++CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_ALGAPI2=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_BLKCIPHER2=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_HASH2=y
++CONFIG_CRYPTO_RNG2=y
++CONFIG_CRYPTO_WORKQUEUE=y
++CONFIG_CRYPTO_CRC32C=y
++CONFIG_CRYPTO_AES=y
++CONFIG_CRYPTO_ARC4=y
++CONFIG_BITREVERSE=y
++CONFIG_GENERIC_STRNCPY_FROM_USER=y
++CONFIG_GENERIC_STRNLEN_USER=y
++CONFIG_GENERIC_PCI_IOMAP=y
++CONFIG_GENERIC_IO=y
++CONFIG_CRC16=y
++CONFIG_CRC32=y
++CONFIG_CRC32_SLICEBY8=y
++CONFIG_ZLIB_INFLATE=y
++CONFIG_DECOMPRESS_GZIP=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
++CONFIG_GENERIC_ATOMIC64=y
++CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
++CONFIG_AVERAGE=y
+Index: b/arch/arm/mach-bcm476x/Makefile
+===================================================================
+--- /dev/null
++++ b/arch/arm/mach-bcm476x/Makefile
+@@ -0,0 +1 @@
++obj-y += bcm476x.o
+Index: b/arch/arm/mach-bcm476x/Makefile.boot
+===================================================================
+--- /dev/null
++++ b/arch/arm/mach-bcm476x/Makefile.boot
+@@ -0,0 +1,5 @@
++   zreladdr-y := 0x00008000
++params_phys-y := 0x00000100
++initrd_phys-y := 0x00800000
++
++dtb-y += bcm4760-catalina.dtb
+Index: b/arch/arm/mach-bcm476x/bcm476x.c
+===================================================================
+--- /dev/null
++++ b/arch/arm/mach-bcm476x/bcm476x.c
+@@ -0,0 +1,83 @@
++/*
++ * Broadcom BCM476x SoCs platform support
++ *
++ * Copyright (C) 2012 Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
++ *
++ * 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.
++ */
++
++#include <linux/init.h>
++#include <linux/of_irq.h>
++#include <linux/of_platform.h>
++
++#include <asm/hardware/vic.h>
++#include <asm/mach/arch.h>
++#include <asm/mach/map.h>
++#include <asm/mach/time.h>
++
++#define BCM476X_PERIPH_PHYS   0x00080000
++#define BCM476X_PERIPH_VIRT   0xd0080000
++#define BCM476X_PERIPH_SIZE   SZ_512K
++
++static struct map_desc io_map __initdata = {
++	.virtual = BCM476X_PERIPH_VIRT,
++	.pfn = __phys_to_pfn(BCM476X_PERIPH_PHYS),
++	.length = BCM476X_PERIPH_SIZE,
++	.type = MT_DEVICE,
++};
++
++void __init bcm476x_map_io(void)
++{
++	iotable_init(&io_map, 1);
++}
++
++void __init bcm476x_init(void)
++{
++	int ret;
++
++	ret = of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
++	if (ret) {
++		pr_err("of_platform_populate failed: %d\n", ret);
++		BUG();
++	}
++}
++
++static const struct of_device_id vic_of_match[] __initconst = {
++	{ .compatible = "arm,pl192-vic", .data = vic_of_init, },
++	{ /* Sentinel */ }
++};
++
++static void __init bcm476x_init_irq(void)
++{
++	of_irq_init(vic_of_match);
++}
++
++static void __init bcm476x_timer_init(void)
++{
++}
++
++struct sys_timer bcm476x_timer = {
++	.init = bcm476x_timer_init
++};
++
++static const char * const bcm476x_compat[] = {
++	"brcm,bcm476x",
++	NULL
++};
++
++DT_MACHINE_START(BCM476X, "Broadcom BCM476x")
++	.map_io = bcm476x_map_io,
++	.init_irq = bcm476x_init_irq,
++	.handle_irq = vic_handle_irq,
++	.init_machine = bcm476x_init,
++	.timer = &bcm476x_timer,
++	.dt_compat = bcm476x_compat
++MACHINE_END
+Index: b/arch/arm/include/debug/bcm476x.S
+===================================================================
+--- /dev/null
++++ b/arch/arm/include/debug/bcm476x.S
+@@ -0,0 +1,35 @@
++/*
++ * Broadcom BCM476x SoCs DEBUG_LL support
++ *
++ * Copyright (C) 2012 Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
++ *
++ * 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.
++ */
++
++#if defined(CONFIG_DEBUG_BCM476X_UART0)
++# define BCM476X_DEBUG_PHYS	0x000c0000
++# define BCM476X_DEBUG_VIRT	0xd00c0000
++#elif defined(CONFIG_DEBUG_BCM476X_UART1)
++# define BCM476X_DEBUG_PHYS	0x000c1000
++# define BCM476X_DEBUG_VIRT	0xd00c1000
++#elif defined(CONFIG_DEBUG_BCM476X_UART2)
++# define BCM476X_DEBUG_PHYS	0x000b2000
++# define BCM476X_DEBUG_VIRT	0xd00b2000
++#else
++# error Unknown BCM476x debug port
++#endif
++
++	.macro	addruart, rp, rv, tmp
++	ldr	\rp, =BCM476X_DEBUG_PHYS
++	ldr	\rv, =BCM476X_DEBUG_VIRT
++	.endm
++
++#include <asm/hardware/debug-pl01x.S>
+Index: b/arch/arm/include/debug/bcm476x-uncompress.h
+===================================================================
+--- /dev/null
++++ b/arch/arm/include/debug/bcm476x-uncompress.h
+@@ -0,0 +1,53 @@
++/*
++ * Broadcom BCM476x SoCs decompressor output
++ *
++ * Copyright (C) 2012 Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
++ *
++ * 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.
++ */
++
++#include <linux/io.h>
++#include <linux/amba/serial.h>
++
++#if defined(CONFIG_DEBUG_BCM476X_UART0)
++# define BCM476X_DEBUG_PHYS	0x000c0000
++#elif defined(CONFIG_DEBUG_BCM476X_UART1)
++# define BCM476X_DEBUG_PHYS	0x000c1000
++#elif defined(CONFIG_DEBUG_BCM476X_UART2)
++# define BCM476X_DEBUG_PHYS	0x000b2000
++#else
++# error Unknown BCM476x debug port
++#endif
++
++#define BCM476X_UART_DR IOMEM(BCM476X_DEBUG_PHYS + UART01x_DR)
++#define BCM476X_UART_FR IOMEM(BCM476X_DEBUG_PHYS + UART01x_FR)
++#define BCM476X_UART_CR IOMEM(BCM476X_DEBUG_PHYS + UART011_CR)
++
++static inline void putc(int c)
++{
++	while (__raw_readl(BCM476X_UART_FR) & UART01x_FR_TXFF)
++		barrier();
++
++	__raw_writel(c, BCM476X_UART_DR);
++	barrier();
++}
++
++static inline void flush(void)
++{
++	int fr;
++
++	do {
++		fr = __raw_readl(BCM476X_UART_FR);
++		barrier();
++	} while ((fr & (UART011_FR_TXFE | UART01x_FR_BUSY)) != UART011_FR_TXFE);
++}
++
++#define arch_decomp_setup()
+Index: b/arch/arm/mach-bcm476x/Kconfig
+===================================================================
+--- /dev/null
++++ b/arch/arm/mach-bcm476x/Kconfig
+@@ -0,0 +1,17 @@
++config ARCH_BCM476X
++	bool "Broadcom BCM476X family" if ARCH_MULTI_V6
++	select CPU_V6
++	select ARM_VIC
++	select ARM_AMBA
++	select NO_IOPORT
++	select GENERIC_IRQ_CHIP
++	select SPARSE_IRQ
++	select MULTI_IRQ_HANDLER
++	select ARCH_WANT_OPTIONAL_GPIOLIB
++	select GENERIC_CLOCKEVENTS
++	select CLKSRC_MMIO
++	select COMMON_CLK
++	select CLKDEV_LOOKUP
++	select PINCTRL
++	select PINMUX
++	select USE_OF
+Index: b/MAINTAINERS
+===================================================================
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -1618,6 +1618,15 @@ F:	arch/arm/boot/dts/bcm2835*
+ F:	arch/arm/configs/bcm2835_defconfig
+ F:	drivers/*/*bcm2835*
+ 
++ARM/BCM476x ARM ARCHITECTURE
++M:	Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
++L:	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org (moderated for non-subscribers)
++S:	Maintained
++F:	arch/arm/mach-bcm476x
++F:	arch/arm/boot/dts/bcm476x*
++F:	arch/arm/configs/bcm476x_defconfig
++F:	drivers/*/*bcm476x*
++
+ BROADCOM TG3 GIGABIT ETHERNET DRIVER
+ M:	Matt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
+ M:	Michael Chan <mchan-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
diff --git a/a/content_digest b/N1/content_digest
index bdd1b4a..360ed7e 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,12 +1,726 @@
  "ref\020121007015300.828366635@gmail.com\0"
- "From\0cavokz@gmail.com (Domenico Andreoli)\0"
+ "From\0Domenico Andreoli <cavokz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>\0"
  "Subject\0[PATCH 1/6] ARM: bcm476x: Add infrastructure\0"
  "Date\0Sun, 07 Oct 2012 03:53:01 +0200\0"
- "To\0linux-arm-kernel@lists.infradead.org\0"
+ "To\0linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org\0"
+ "Cc\0Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>"
+ " devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org\0"
  "\00:1\0"
+ "fn\0arm-bcm476x-add-infrastructure.patch\0"
  "b\0"
- "An embedded and charset-unspecified text was scrubbed...\n"
- "Name: arm-bcm476x-add-infrastructure.patch\n"
- URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121007/907c011d/attachment.ksh>
+ "From: Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>\n"
+ "\n"
+ "BCM476x's minimal infrastructure, Kernel's great reuse.\n"
+ "\n"
+ "Look mom, no include/mach directory!\n"
+ "\n"
+ "Signed-off-by: Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>\n"
+ "---\n"
+ " Documentation/devicetree/bindings/arm/bcm476x.txt |    8 +\n"
+ " MAINTAINERS                                       |    9 +\n"
+ " arch/arm/Kconfig                                  |    2 +\n"
+ " arch/arm/Makefile                                 |    1 +\n"
+ " arch/arm/boot/dts/bcm476x-catalina.dts            |   11 +\n"
+ " arch/arm/boot/dts/bcm476x.dtsi                    |   31 ++\n"
+ " arch/arm/configs/bcm476x_defconfig                |  352 ++++++++++++++++++++++\n"
+ " arch/arm/include/debug/bcm476x-uncompress.h       |   53 +++\n"
+ " arch/arm/include/debug/bcm476x.S                  |   35 ++\n"
+ " arch/arm/mach-bcm476x/Kconfig                     |   17 +\n"
+ " arch/arm/mach-bcm476x/Makefile                    |    1 +\n"
+ " arch/arm/mach-bcm476x/Makefile.boot               |    5 +\n"
+ " arch/arm/mach-bcm476x/bcm476x.c                   |   83 +++++\n"
+ " 13 files changed, 608 insertions(+)\n"
+ "\n"
+ "Index: b/Documentation/devicetree/bindings/arm/bcm476x.txt\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/Documentation/devicetree/bindings/arm/bcm476x.txt\n"
+ "@@ -0,0 +1,8 @@\n"
+ "+Broadcom BCM476x device tree bindings\n"
+ "+-------------------------------------------\n"
+ "+\n"
+ "+Boards with the BCM476x SoC shall have the following properties:\n"
+ "+\n"
+ "+Required root node property:\n"
+ "+\n"
+ "+compatible = \"brcm,bcm476x\";\n"
+ "Index: b/arch/arm/Kconfig\n"
+ "===================================================================\n"
+ "--- a/arch/arm/Kconfig\n"
+ "+++ b/arch/arm/Kconfig\n"
+ "@@ -1017,6 +1017,8 @@ source \"arch/arm/mach-mvebu/Kconfig\"\n"
+ " \n"
+ " source \"arch/arm/mach-at91/Kconfig\"\n"
+ " \n"
+ "+source \"arch/arm/mach-bcm476x/Kconfig\"\n"
+ "+\n"
+ " source \"arch/arm/mach-clps711x/Kconfig\"\n"
+ " \n"
+ " source \"arch/arm/mach-cns3xxx/Kconfig\"\n"
+ "Index: b/arch/arm/Makefile\n"
+ "===================================================================\n"
+ "--- a/arch/arm/Makefile\n"
+ "+++ b/arch/arm/Makefile\n"
+ "@@ -137,6 +137,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020\n"
+ " # by CONFIG_* macro name.\n"
+ " machine-$(CONFIG_ARCH_AT91)\t\t+= at91\n"
+ " machine-$(CONFIG_ARCH_BCM2835)\t\t+= bcm2835\n"
+ "+machine-$(CONFIG_ARCH_BCM476X)\t\t:= bcm476x\n"
+ " machine-$(CONFIG_ARCH_CLPS711X)\t\t+= clps711x\n"
+ " machine-$(CONFIG_ARCH_CNS3XXX)\t\t+= cns3xxx\n"
+ " machine-$(CONFIG_ARCH_DAVINCI)\t\t+= davinci\n"
+ "Index: b/arch/arm/boot/dts/bcm476x-catalina.dts\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/boot/dts/bcm476x-catalina.dts\n"
+ "@@ -0,0 +1,11 @@\n"
+ "+/dts-v1/;\n"
+ "+/include/ \"bcm476x.dtsi\"\n"
+ "+\n"
+ "+/ {\n"
+ "+\tcompatible = \"brcm,catalina\", \"brcm,bcm476x\";\n"
+ "+\tmodel = \"Broadcom Catalina\";\n"
+ "+\n"
+ "+\tmemory {\n"
+ "+\t\treg = <0x30000000 0x4000000>;\n"
+ "+\t};\n"
+ "+};\n"
+ "Index: b/arch/arm/boot/dts/bcm476x.dtsi\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/boot/dts/bcm476x.dtsi\n"
+ "@@ -0,0 +1,31 @@\n"
+ "+/include/ \"skeleton.dtsi\"\n"
+ "+\n"
+ "+/ {\n"
+ "+\tcompatible = \"brcm,bcm476x\";\n"
+ "+\tmodel = \"Broadcom BCM476x\";\n"
+ "+\n"
+ "+\tchosen {\n"
+ "+\t\tbootargs = \"earlyprintk\";\n"
+ "+\t};\n"
+ "+\n"
+ "+\tamba {\n"
+ "+\t\tcompatible = \"arm,amba-bus\";\n"
+ "+\t\t#address-cells = <1>;\n"
+ "+\t\t#size-cells = <1>;\n"
+ "+\t\tranges;\n"
+ "+\n"
+ "+\t\tvic0: interrupt-controller@80000 {\n"
+ "+\t\t\tcompatible = \"brcm,bcm476x-pl192\", \"arm,pl192-vic\", \"arm,primecell\";\n"
+ "+\t\t\treg = <0x80000 0x1000>;\n"
+ "+\t\t\tinterrupt-controller;\n"
+ "+\t\t\t#interrupt-cells = <1>;\n"
+ "+\t\t};\n"
+ "+\n"
+ "+\t\tvic1: interrupt-controller@81000 {\n"
+ "+\t\t\tcompatible = \"brcm,bcm476x-pl192\", \"arm,pl192-vic\", \"arm,primecell\";\n"
+ "+\t\t\treg = <0x81000 0x1000>;\n"
+ "+\t\t\tinterrupt-controller;\n"
+ "+\t\t\t#interrupt-cells = <1>;\n"
+ "+\t\t};\n"
+ "+\t};\n"
+ "+};\n"
+ "Index: b/arch/arm/configs/bcm476x_defconfig\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/configs/bcm476x_defconfig\n"
+ "@@ -0,0 +1,352 @@\n"
+ "+CONFIG_ARM=y\n"
+ "+CONFIG_SYS_SUPPORTS_APM_EMULATION=y\n"
+ "+CONFIG_HAVE_PROC_CPU=y\n"
+ "+CONFIG_NO_IOPORT=y\n"
+ "+CONFIG_STACKTRACE_SUPPORT=y\n"
+ "+CONFIG_HAVE_LATENCYTOP_SUPPORT=y\n"
+ "+CONFIG_LOCKDEP_SUPPORT=y\n"
+ "+CONFIG_TRACE_IRQFLAGS_SUPPORT=y\n"
+ "+CONFIG_RWSEM_GENERIC_SPINLOCK=y\n"
+ "+CONFIG_GENERIC_HWEIGHT=y\n"
+ "+CONFIG_GENERIC_CALIBRATE_DELAY=y\n"
+ "+CONFIG_NEED_DMA_MAP_STATE=y\n"
+ "+CONFIG_VECTORS_BASE=0xffff0000\n"
+ "+CONFIG_ARM_PATCH_PHYS_VIRT=y\n"
+ "+CONFIG_GENERIC_BUG=y\n"
+ "+CONFIG_DEFCONFIG_LIST=\"/lib/modules/$UNAME_RELEASE/.config\"\n"
+ "+CONFIG_HAVE_IRQ_WORK=y\n"
+ "+CONFIG_EXPERIMENTAL=y\n"
+ "+CONFIG_BROKEN_ON_SMP=y\n"
+ "+CONFIG_INIT_ENV_ARG_LIMIT=32\n"
+ "+CONFIG_CROSS_COMPILE=\"\"\n"
+ "+CONFIG_LOCALVERSION=\"\"\n"
+ "+CONFIG_HAVE_KERNEL_GZIP=y\n"
+ "+CONFIG_HAVE_KERNEL_LZMA=y\n"
+ "+CONFIG_HAVE_KERNEL_XZ=y\n"
+ "+CONFIG_HAVE_KERNEL_LZO=y\n"
+ "+CONFIG_KERNEL_GZIP=y\n"
+ "+CONFIG_DEFAULT_HOSTNAME=\"(none)\"\n"
+ "+CONFIG_HAVE_GENERIC_HARDIRQS=y\n"
+ "+CONFIG_GENERIC_HARDIRQS=y\n"
+ "+CONFIG_GENERIC_IRQ_PROBE=y\n"
+ "+CONFIG_GENERIC_IRQ_SHOW=y\n"
+ "+CONFIG_HARDIRQS_SW_RESEND=y\n"
+ "+CONFIG_GENERIC_IRQ_CHIP=y\n"
+ "+CONFIG_IRQ_DOMAIN=y\n"
+ "+CONFIG_IRQ_DOMAIN_DEBUG=y\n"
+ "+CONFIG_SPARSE_IRQ=y\n"
+ "+CONFIG_KTIME_SCALAR=y\n"
+ "+CONFIG_GENERIC_CLOCKEVENTS=y\n"
+ "+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y\n"
+ "+CONFIG_TINY_RCU=y\n"
+ "+CONFIG_IKCONFIG=y\n"
+ "+CONFIG_IKCONFIG_PROC=y\n"
+ "+CONFIG_LOG_BUF_SHIFT=17\n"
+ "+CONFIG_NAMESPACES=y\n"
+ "+CONFIG_BLK_DEV_INITRD=y\n"
+ "+CONFIG_INITRAMFS_SOURCE=\"\"\n"
+ "+CONFIG_RD_GZIP=y\n"
+ "+CONFIG_CC_OPTIMIZE_FOR_SIZE=y\n"
+ "+CONFIG_SYSCTL=y\n"
+ "+CONFIG_ANON_INODES=y\n"
+ "+CONFIG_EXPERT=y\n"
+ "+CONFIG_UID16=y\n"
+ "+CONFIG_KALLSYMS=y\n"
+ "+CONFIG_HOTPLUG=y\n"
+ "+CONFIG_PRINTK=y\n"
+ "+CONFIG_BUG=y\n"
+ "+CONFIG_ELF_CORE=y\n"
+ "+CONFIG_BASE_FULL=y\n"
+ "+CONFIG_FUTEX=y\n"
+ "+CONFIG_EPOLL=y\n"
+ "+CONFIG_SIGNALFD=y\n"
+ "+CONFIG_TIMERFD=y\n"
+ "+CONFIG_EVENTFD=y\n"
+ "+CONFIG_SHMEM=y\n"
+ "+CONFIG_AIO=y\n"
+ "+CONFIG_EMBEDDED=y\n"
+ "+CONFIG_HAVE_PERF_EVENTS=y\n"
+ "+CONFIG_PERF_USE_VMALLOC=y\n"
+ "+CONFIG_VM_EVENT_COUNTERS=y\n"
+ "+CONFIG_SLAB=y\n"
+ "+CONFIG_HAVE_OPROFILE=y\n"
+ "+CONFIG_HAVE_KPROBES=y\n"
+ "+CONFIG_HAVE_KRETPROBES=y\n"
+ "+CONFIG_HAVE_ARCH_TRACEHOOK=y\n"
+ "+CONFIG_HAVE_DMA_ATTRS=y\n"
+ "+CONFIG_HAVE_DMA_CONTIGUOUS=y\n"
+ "+CONFIG_GENERIC_SMP_IDLE_THREAD=y\n"
+ "+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y\n"
+ "+CONFIG_HAVE_CLK=y\n"
+ "+CONFIG_HAVE_DMA_API_DEBUG=y\n"
+ "+CONFIG_HAVE_ARCH_JUMP_LABEL=y\n"
+ "+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y\n"
+ "+CONFIG_HAVE_GENERIC_DMA_COHERENT=y\n"
+ "+CONFIG_SLABINFO=y\n"
+ "+CONFIG_RT_MUTEXES=y\n"
+ "+CONFIG_BASE_SMALL=0\n"
+ "+CONFIG_MODULES=y\n"
+ "+CONFIG_MODULE_UNLOAD=y\n"
+ "+CONFIG_BLOCK=y\n"
+ "+CONFIG_MSDOS_PARTITION=y\n"
+ "+CONFIG_IOSCHED_NOOP=y\n"
+ "+CONFIG_DEFAULT_NOOP=y\n"
+ "+CONFIG_DEFAULT_IOSCHED=\"noop\"\n"
+ "+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y\n"
+ "+CONFIG_INLINE_READ_UNLOCK=y\n"
+ "+CONFIG_INLINE_READ_UNLOCK_IRQ=y\n"
+ "+CONFIG_INLINE_WRITE_UNLOCK=y\n"
+ "+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y\n"
+ "+CONFIG_MMU=y\n"
+ "+CONFIG_ARCH_MULTIPLATFORM=y\n"
+ "+CONFIG_ARCH_MULTI_V6=y\n"
+ "+CONFIG_ARCH_MULTI_V6_V7=y\n"
+ "+CONFIG_ARCH_BCM476X=y\n"
+ "+CONFIG_CPU_V6=y\n"
+ "+CONFIG_CPU_32v6=y\n"
+ "+CONFIG_CPU_ABRT_EV6=y\n"
+ "+CONFIG_CPU_PABRT_V6=y\n"
+ "+CONFIG_CPU_CACHE_V6=y\n"
+ "+CONFIG_CPU_CACHE_VIPT=y\n"
+ "+CONFIG_CPU_COPY_V6=y\n"
+ "+CONFIG_CPU_TLB_V6=y\n"
+ "+CONFIG_CPU_HAS_ASID=y\n"
+ "+CONFIG_CPU_CP15=y\n"
+ "+CONFIG_CPU_CP15_MMU=y\n"
+ "+CONFIG_CPU_USE_DOMAINS=y\n"
+ "+CONFIG_ARM_THUMB=y\n"
+ "+CONFIG_ARM_L1_CACHE_SHIFT=5\n"
+ "+CONFIG_ARM_DMA_MEM_BUFFERABLE=y\n"
+ "+CONFIG_ARM_NR_BANKS=8\n"
+ "+CONFIG_CPU_HAS_PMU=y\n"
+ "+CONFIG_MULTI_IRQ_HANDLER=y\n"
+ "+CONFIG_ARM_ERRATA_411920=y\n"
+ "+CONFIG_ARM_ERRATA_364296=y\n"
+ "+CONFIG_ARM_VIC=y\n"
+ "+CONFIG_ARM_VIC_NR=2\n"
+ "+CONFIG_ARM_AMBA=y\n"
+ "+CONFIG_VMSPLIT_3G=y\n"
+ "+CONFIG_PAGE_OFFSET=0xC0000000\n"
+ "+CONFIG_ARCH_NR_GPIO=0\n"
+ "+CONFIG_PREEMPT_NONE=y\n"
+ "+CONFIG_PREEMPT_COUNT=y\n"
+ "+CONFIG_HZ=100\n"
+ "+CONFIG_AEABI=y\n"
+ "+CONFIG_HAVE_ARCH_PFN_VALID=y\n"
+ "+CONFIG_SELECT_MEMORY_MODEL=y\n"
+ "+CONFIG_FLATMEM_MANUAL=y\n"
+ "+CONFIG_FLATMEM=y\n"
+ "+CONFIG_FLAT_NODE_MEM_MAP=y\n"
+ "+CONFIG_HAVE_MEMBLOCK=y\n"
+ "+CONFIG_MEMORY_ISOLATION=y\n"
+ "+CONFIG_PAGEFLAGS_EXTENDED=y\n"
+ "+CONFIG_SPLIT_PTLOCK_CPUS=4\n"
+ "+CONFIG_MIGRATION=y\n"
+ "+CONFIG_ZONE_DMA_FLAG=0\n"
+ "+CONFIG_VIRT_TO_BUS=y\n"
+ "+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096\n"
+ "+CONFIG_CROSS_MEMORY_ATTACH=y\n"
+ "+CONFIG_NEED_PER_CPU_KM=y\n"
+ "+CONFIG_FORCE_MAX_ZONEORDER=11\n"
+ "+CONFIG_ALIGNMENT_TRAP=y\n"
+ "+CONFIG_DEPRECATED_PARAM_STRUCT=y\n"
+ "+CONFIG_USE_OF=y\n"
+ "+CONFIG_ZBOOT_ROM_TEXT=0\n"
+ "+CONFIG_ZBOOT_ROM_BSS=0\n"
+ "+CONFIG_ARM_APPENDED_DTB=y\n"
+ "+CONFIG_ARM_ATAG_DTB_COMPAT=y\n"
+ "+CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y\n"
+ "+CONFIG_CMDLINE=\"root=/dev/mmcblk0p2 ro console=ttyAMA1,115200 rootwait init=/bin/bash\"\n"
+ "+CONFIG_CMDLINE_FROM_BOOTLOADER=y\n"
+ "+CONFIG_AUTO_ZRELADDR=y\n"
+ "+CONFIG_VFP=y\n"
+ "+CONFIG_BINFMT_ELF=y\n"
+ "+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y\n"
+ "+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y\n"
+ "+CONFIG_HAVE_AOUT=y\n"
+ "+CONFIG_ARCH_SUSPEND_POSSIBLE=y\n"
+ "+CONFIG_HAVE_BPF_JIT=y\n"
+ "+CONFIG_UEVENT_HELPER_PATH=\"\"\n"
+ "+CONFIG_DEVTMPFS=y\n"
+ "+CONFIG_DEVTMPFS_MOUNT=y\n"
+ "+CONFIG_STANDALONE=y\n"
+ "+CONFIG_PREVENT_FIRMWARE_BUILD=y\n"
+ "+CONFIG_FW_LOADER=y\n"
+ "+CONFIG_EXTRA_FIRMWARE=\"\"\n"
+ "+CONFIG_CMA=y\n"
+ "+CONFIG_CMA_SIZE_MBYTES=16\n"
+ "+CONFIG_CMA_SIZE_SEL_MBYTES=y\n"
+ "+CONFIG_CMA_ALIGNMENT=8\n"
+ "+CONFIG_CMA_AREAS=7\n"
+ "+CONFIG_DTC=y\n"
+ "+CONFIG_OF=y\n"
+ "+CONFIG_PROC_DEVICETREE=y\n"
+ "+CONFIG_OF_FLATTREE=y\n"
+ "+CONFIG_OF_EARLY_FLATTREE=y\n"
+ "+CONFIG_OF_ADDRESS=y\n"
+ "+CONFIG_OF_IRQ=y\n"
+ "+CONFIG_OF_DEVICE=y\n"
+ "+CONFIG_OF_I2C=y\n"
+ "+CONFIG_BLK_DEV=y\n"
+ "+CONFIG_BLK_DEV_LOOP=y\n"
+ "+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8\n"
+ "+CONFIG_BLK_DEV_RAM=y\n"
+ "+CONFIG_BLK_DEV_RAM_COUNT=16\n"
+ "+CONFIG_BLK_DEV_RAM_SIZE=4096\n"
+ "+CONFIG_SCSI_MOD=y\n"
+ "+CONFIG_SCSI=y\n"
+ "+CONFIG_SCSI_DMA=y\n"
+ "+CONFIG_BLK_DEV_SD=y\n"
+ "+CONFIG_SCSI_MULTI_LUN=y\n"
+ "+CONFIG_INPUT=y\n"
+ "+CONFIG_INPUT_EVDEV=y\n"
+ "+CONFIG_SERIO=y\n"
+ "+CONFIG_SERIO_SERPORT=y\n"
+ "+CONFIG_VT=y\n"
+ "+CONFIG_CONSOLE_TRANSLATIONS=y\n"
+ "+CONFIG_VT_CONSOLE=y\n"
+ "+CONFIG_HW_CONSOLE=y\n"
+ "+CONFIG_UNIX98_PTYS=y\n"
+ "+CONFIG_SERIAL_AMBA_PL010=y\n"
+ "+CONFIG_SERIAL_AMBA_PL010_CONSOLE=y\n"
+ "+CONFIG_SERIAL_AMBA_PL011=y\n"
+ "+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y\n"
+ "+CONFIG_SERIAL_CORE=y\n"
+ "+CONFIG_SERIAL_CORE_CONSOLE=y\n"
+ "+CONFIG_I2C=y\n"
+ "+CONFIG_I2C_BOARDINFO=y\n"
+ "+CONFIG_I2C_CHARDEV=y\n"
+ "+CONFIG_I2C_ALGOBIT=y\n"
+ "+CONFIG_SPI=y\n"
+ "+CONFIG_SPI_MASTER=y\n"
+ "+CONFIG_SPI_PL022=y\n"
+ "+CONFIG_PINCTRL=y\n"
+ "+CONFIG_PINMUX=y\n"
+ "+CONFIG_PINCONF=y\n"
+ "+CONFIG_DEBUG_PINCTRL=y\n"
+ "+CONFIG_PINCTRL_BCM476X=y\n"
+ "+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y\n"
+ "+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y\n"
+ "+CONFIG_SSB_POSSIBLE=y\n"
+ "+CONFIG_SSB=y\n"
+ "+CONFIG_SSB_SDIOHOST_POSSIBLE=y\n"
+ "+CONFIG_BCMA_POSSIBLE=y\n"
+ "+CONFIG_BCMA=y\n"
+ "+CONFIG_REGULATOR=y\n"
+ "+CONFIG_REGULATOR_DEBUG=y\n"
+ "+CONFIG_REGULATOR_BCM59040=y\n"
+ "+CONFIG_DUMMY_CONSOLE=y\n"
+ "+CONFIG_HID=y\n"
+ "+CONFIG_HID_GENERIC=y\n"
+ "+CONFIG_USB_SUPPORT=y\n"
+ "+CONFIG_USB_COMMON=y\n"
+ "+CONFIG_USB_ARCH_HAS_HCD=y\n"
+ "+CONFIG_USB_GADGET=y\n"
+ "+CONFIG_USB_GADGET_VBUS_DRAW=2\n"
+ "+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2\n"
+ "+CONFIG_USB_MASS_STORAGE=y\n"
+ "+CONFIG_MMC=y\n"
+ "+CONFIG_MMC_DEBUG=y\n"
+ "+CONFIG_MMC_BLOCK=y\n"
+ "+CONFIG_MMC_BLOCK_MINORS=8\n"
+ "+CONFIG_MMC_SDHCI=y\n"
+ "+CONFIG_MMC_SDHCI_PLTFM=y\n"
+ "+CONFIG_RTC_LIB=y\n"
+ "+CONFIG_DMADEVICES=y\n"
+ "+CONFIG_AMBA_PL08X=y\n"
+ "+CONFIG_DMA_ENGINE=y\n"
+ "+CONFIG_DMA_VIRTUAL_CHANNELS=y\n"
+ "+CONFIG_CLKDEV_LOOKUP=y\n"
+ "+CONFIG_HAVE_CLK_PREPARE=y\n"
+ "+CONFIG_COMMON_CLK=y\n"
+ "+CONFIG_COMMON_CLK_DEBUG=y\n"
+ "+CONFIG_CLKSRC_MMIO=y\n"
+ "+CONFIG_DCACHE_WORD_ACCESS=y\n"
+ "+CONFIG_EXT2_FS=y\n"
+ "+CONFIG_EXT3_FS=y\n"
+ "+CONFIG_EXT4_FS=y\n"
+ "+CONFIG_JBD=y\n"
+ "+CONFIG_JBD2=y\n"
+ "+CONFIG_FILE_LOCKING=y\n"
+ "+CONFIG_FSNOTIFY=y\n"
+ "+CONFIG_DNOTIFY=y\n"
+ "+CONFIG_INOTIFY_USER=y\n"
+ "+CONFIG_FANOTIFY=y\n"
+ "+CONFIG_FAT_FS=y\n"
+ "+CONFIG_MSDOS_FS=y\n"
+ "+CONFIG_VFAT_FS=y\n"
+ "+CONFIG_FAT_DEFAULT_CODEPAGE=437\n"
+ "+CONFIG_FAT_DEFAULT_IOCHARSET=\"iso8859-1\"\n"
+ "+CONFIG_PROC_FS=y\n"
+ "+CONFIG_PROC_SYSCTL=y\n"
+ "+CONFIG_PROC_PAGE_MONITOR=y\n"
+ "+CONFIG_SYSFS=y\n"
+ "+CONFIG_TMPFS=y\n"
+ "+CONFIG_MISC_FILESYSTEMS=y\n"
+ "+CONFIG_CRAMFS=y\n"
+ "+CONFIG_ROMFS_FS=y\n"
+ "+CONFIG_ROMFS_BACKED_BY_BLOCK=y\n"
+ "+CONFIG_ROMFS_ON_BLOCK=y\n"
+ "+CONFIG_NLS=y\n"
+ "+CONFIG_NLS_DEFAULT=\"iso8859-1\"\n"
+ "+CONFIG_NLS_CODEPAGE_437=y\n"
+ "+CONFIG_NLS_CODEPAGE_850=y\n"
+ "+CONFIG_NLS_ISO8859_1=y\n"
+ "+CONFIG_NLS_ISO8859_15=y\n"
+ "+CONFIG_PRINTK_TIME=y\n"
+ "+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7\n"
+ "+CONFIG_ENABLE_WARN_DEPRECATED=y\n"
+ "+CONFIG_ENABLE_MUST_CHECK=y\n"
+ "+CONFIG_FRAME_WARN=1024\n"
+ "+CONFIG_MAGIC_SYSRQ=y\n"
+ "+CONFIG_STRIP_ASM_SYMS=y\n"
+ "+CONFIG_DEBUG_FS=y\n"
+ "+CONFIG_DEBUG_SECTION_MISMATCH=y\n"
+ "+CONFIG_DEBUG_KERNEL=y\n"
+ "+CONFIG_PANIC_ON_OOPS_VALUE=0\n"
+ "+CONFIG_DEBUG_ATOMIC_SLEEP=y\n"
+ "+CONFIG_DEBUG_BUGVERBOSE=y\n"
+ "+CONFIG_DEBUG_INFO=y\n"
+ "+CONFIG_DEBUG_INFO_REDUCED=y\n"
+ "+CONFIG_FRAME_POINTER=y\n"
+ "+CONFIG_HAVE_FUNCTION_TRACER=y\n"
+ "+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y\n"
+ "+CONFIG_HAVE_DYNAMIC_FTRACE=y\n"
+ "+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y\n"
+ "+CONFIG_HAVE_C_RECORDMCOUNT=y\n"
+ "+CONFIG_TRACING_SUPPORT=y\n"
+ "+CONFIG_HAVE_ARCH_KGDB=y\n"
+ "+CONFIG_DEBUG_LL=y\n"
+ "+CONFIG_DEBUG_BCM476X_UART2=y\n"
+ "+CONFIG_DEBUG_LL_INCLUDE=\"debug/bcm476x.S\"\n"
+ "+CONFIG_UNCOMPRESS_INCLUDE=\"debug/bcm476x-uncompress.h\"\n"
+ "+CONFIG_EARLY_PRINTK=y\n"
+ "+CONFIG_DEFAULT_SECURITY_DAC=y\n"
+ "+CONFIG_DEFAULT_SECURITY=\"\"\n"
+ "+CONFIG_CRYPTO=y\n"
+ "+CONFIG_CRYPTO_ALGAPI=y\n"
+ "+CONFIG_CRYPTO_ALGAPI2=y\n"
+ "+CONFIG_CRYPTO_BLKCIPHER=y\n"
+ "+CONFIG_CRYPTO_BLKCIPHER2=y\n"
+ "+CONFIG_CRYPTO_HASH=y\n"
+ "+CONFIG_CRYPTO_HASH2=y\n"
+ "+CONFIG_CRYPTO_RNG2=y\n"
+ "+CONFIG_CRYPTO_WORKQUEUE=y\n"
+ "+CONFIG_CRYPTO_CRC32C=y\n"
+ "+CONFIG_CRYPTO_AES=y\n"
+ "+CONFIG_CRYPTO_ARC4=y\n"
+ "+CONFIG_BITREVERSE=y\n"
+ "+CONFIG_GENERIC_STRNCPY_FROM_USER=y\n"
+ "+CONFIG_GENERIC_STRNLEN_USER=y\n"
+ "+CONFIG_GENERIC_PCI_IOMAP=y\n"
+ "+CONFIG_GENERIC_IO=y\n"
+ "+CONFIG_CRC16=y\n"
+ "+CONFIG_CRC32=y\n"
+ "+CONFIG_CRC32_SLICEBY8=y\n"
+ "+CONFIG_ZLIB_INFLATE=y\n"
+ "+CONFIG_DECOMPRESS_GZIP=y\n"
+ "+CONFIG_HAS_IOMEM=y\n"
+ "+CONFIG_HAS_DMA=y\n"
+ "+CONFIG_GENERIC_ATOMIC64=y\n"
+ "+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y\n"
+ "+CONFIG_AVERAGE=y\n"
+ "Index: b/arch/arm/mach-bcm476x/Makefile\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/mach-bcm476x/Makefile\n"
+ "@@ -0,0 +1 @@\n"
+ "+obj-y += bcm476x.o\n"
+ "Index: b/arch/arm/mach-bcm476x/Makefile.boot\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/mach-bcm476x/Makefile.boot\n"
+ "@@ -0,0 +1,5 @@\n"
+ "+   zreladdr-y := 0x00008000\n"
+ "+params_phys-y := 0x00000100\n"
+ "+initrd_phys-y := 0x00800000\n"
+ "+\n"
+ "+dtb-y += bcm4760-catalina.dtb\n"
+ "Index: b/arch/arm/mach-bcm476x/bcm476x.c\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/mach-bcm476x/bcm476x.c\n"
+ "@@ -0,0 +1,83 @@\n"
+ "+/*\n"
+ "+ * Broadcom BCM476x SoCs platform support\n"
+ "+ *\n"
+ "+ * Copyright (C) 2012 Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>\n"
+ "+ *\n"
+ "+ * This program is free software; you can redistribute it and/or modify\n"
+ "+ * it under the terms of the GNU General Public License as published by\n"
+ "+ * the Free Software Foundation; either version 2 of the License, or\n"
+ "+ * (at your option) any later version.\n"
+ "+ *\n"
+ "+ * This program is distributed in the hope that it will be useful,\n"
+ "+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ "+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+ "+ * GNU General Public License for more details.\n"
+ "+ */\n"
+ "+\n"
+ "+#include <linux/init.h>\n"
+ "+#include <linux/of_irq.h>\n"
+ "+#include <linux/of_platform.h>\n"
+ "+\n"
+ "+#include <asm/hardware/vic.h>\n"
+ "+#include <asm/mach/arch.h>\n"
+ "+#include <asm/mach/map.h>\n"
+ "+#include <asm/mach/time.h>\n"
+ "+\n"
+ "+#define BCM476X_PERIPH_PHYS   0x00080000\n"
+ "+#define BCM476X_PERIPH_VIRT   0xd0080000\n"
+ "+#define BCM476X_PERIPH_SIZE   SZ_512K\n"
+ "+\n"
+ "+static struct map_desc io_map __initdata = {\n"
+ "+\t.virtual = BCM476X_PERIPH_VIRT,\n"
+ "+\t.pfn = __phys_to_pfn(BCM476X_PERIPH_PHYS),\n"
+ "+\t.length = BCM476X_PERIPH_SIZE,\n"
+ "+\t.type = MT_DEVICE,\n"
+ "+};\n"
+ "+\n"
+ "+void __init bcm476x_map_io(void)\n"
+ "+{\n"
+ "+\tiotable_init(&io_map, 1);\n"
+ "+}\n"
+ "+\n"
+ "+void __init bcm476x_init(void)\n"
+ "+{\n"
+ "+\tint ret;\n"
+ "+\n"
+ "+\tret = of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);\n"
+ "+\tif (ret) {\n"
+ "+\t\tpr_err(\"of_platform_populate failed: %d\\n\", ret);\n"
+ "+\t\tBUG();\n"
+ "+\t}\n"
+ "+}\n"
+ "+\n"
+ "+static const struct of_device_id vic_of_match[] __initconst = {\n"
+ "+\t{ .compatible = \"arm,pl192-vic\", .data = vic_of_init, },\n"
+ "+\t{ /* Sentinel */ }\n"
+ "+};\n"
+ "+\n"
+ "+static void __init bcm476x_init_irq(void)\n"
+ "+{\n"
+ "+\tof_irq_init(vic_of_match);\n"
+ "+}\n"
+ "+\n"
+ "+static void __init bcm476x_timer_init(void)\n"
+ "+{\n"
+ "+}\n"
+ "+\n"
+ "+struct sys_timer bcm476x_timer = {\n"
+ "+\t.init = bcm476x_timer_init\n"
+ "+};\n"
+ "+\n"
+ "+static const char * const bcm476x_compat[] = {\n"
+ "+\t\"brcm,bcm476x\",\n"
+ "+\tNULL\n"
+ "+};\n"
+ "+\n"
+ "+DT_MACHINE_START(BCM476X, \"Broadcom BCM476x\")\n"
+ "+\t.map_io = bcm476x_map_io,\n"
+ "+\t.init_irq = bcm476x_init_irq,\n"
+ "+\t.handle_irq = vic_handle_irq,\n"
+ "+\t.init_machine = bcm476x_init,\n"
+ "+\t.timer = &bcm476x_timer,\n"
+ "+\t.dt_compat = bcm476x_compat\n"
+ "+MACHINE_END\n"
+ "Index: b/arch/arm/include/debug/bcm476x.S\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/include/debug/bcm476x.S\n"
+ "@@ -0,0 +1,35 @@\n"
+ "+/*\n"
+ "+ * Broadcom BCM476x SoCs DEBUG_LL support\n"
+ "+ *\n"
+ "+ * Copyright (C) 2012 Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>\n"
+ "+ *\n"
+ "+ * This program is free software; you can redistribute it and/or modify\n"
+ "+ * it under the terms of the GNU General Public License as published by\n"
+ "+ * the Free Software Foundation; either version 2 of the License, or\n"
+ "+ * (at your option) any later version.\n"
+ "+ *\n"
+ "+ * This program is distributed in the hope that it will be useful,\n"
+ "+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ "+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+ "+ * GNU General Public License for more details.\n"
+ "+ */\n"
+ "+\n"
+ "+#if defined(CONFIG_DEBUG_BCM476X_UART0)\n"
+ "+# define BCM476X_DEBUG_PHYS\t0x000c0000\n"
+ "+# define BCM476X_DEBUG_VIRT\t0xd00c0000\n"
+ "+#elif defined(CONFIG_DEBUG_BCM476X_UART1)\n"
+ "+# define BCM476X_DEBUG_PHYS\t0x000c1000\n"
+ "+# define BCM476X_DEBUG_VIRT\t0xd00c1000\n"
+ "+#elif defined(CONFIG_DEBUG_BCM476X_UART2)\n"
+ "+# define BCM476X_DEBUG_PHYS\t0x000b2000\n"
+ "+# define BCM476X_DEBUG_VIRT\t0xd00b2000\n"
+ "+#else\n"
+ "+# error Unknown BCM476x debug port\n"
+ "+#endif\n"
+ "+\n"
+ "+\t.macro\taddruart, rp, rv, tmp\n"
+ "+\tldr\t\\rp, =BCM476X_DEBUG_PHYS\n"
+ "+\tldr\t\\rv, =BCM476X_DEBUG_VIRT\n"
+ "+\t.endm\n"
+ "+\n"
+ "+#include <asm/hardware/debug-pl01x.S>\n"
+ "Index: b/arch/arm/include/debug/bcm476x-uncompress.h\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/include/debug/bcm476x-uncompress.h\n"
+ "@@ -0,0 +1,53 @@\n"
+ "+/*\n"
+ "+ * Broadcom BCM476x SoCs decompressor output\n"
+ "+ *\n"
+ "+ * Copyright (C) 2012 Domenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>\n"
+ "+ *\n"
+ "+ * This program is free software; you can redistribute it and/or modify\n"
+ "+ * it under the terms of the GNU General Public License as published by\n"
+ "+ * the Free Software Foundation; either version 2 of the License, or\n"
+ "+ * (at your option) any later version.\n"
+ "+ *\n"
+ "+ * This program is distributed in the hope that it will be useful,\n"
+ "+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ "+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+ "+ * GNU General Public License for more details.\n"
+ "+ */\n"
+ "+\n"
+ "+#include <linux/io.h>\n"
+ "+#include <linux/amba/serial.h>\n"
+ "+\n"
+ "+#if defined(CONFIG_DEBUG_BCM476X_UART0)\n"
+ "+# define BCM476X_DEBUG_PHYS\t0x000c0000\n"
+ "+#elif defined(CONFIG_DEBUG_BCM476X_UART1)\n"
+ "+# define BCM476X_DEBUG_PHYS\t0x000c1000\n"
+ "+#elif defined(CONFIG_DEBUG_BCM476X_UART2)\n"
+ "+# define BCM476X_DEBUG_PHYS\t0x000b2000\n"
+ "+#else\n"
+ "+# error Unknown BCM476x debug port\n"
+ "+#endif\n"
+ "+\n"
+ "+#define BCM476X_UART_DR IOMEM(BCM476X_DEBUG_PHYS + UART01x_DR)\n"
+ "+#define BCM476X_UART_FR IOMEM(BCM476X_DEBUG_PHYS + UART01x_FR)\n"
+ "+#define BCM476X_UART_CR IOMEM(BCM476X_DEBUG_PHYS + UART011_CR)\n"
+ "+\n"
+ "+static inline void putc(int c)\n"
+ "+{\n"
+ "+\twhile (__raw_readl(BCM476X_UART_FR) & UART01x_FR_TXFF)\n"
+ "+\t\tbarrier();\n"
+ "+\n"
+ "+\t__raw_writel(c, BCM476X_UART_DR);\n"
+ "+\tbarrier();\n"
+ "+}\n"
+ "+\n"
+ "+static inline void flush(void)\n"
+ "+{\n"
+ "+\tint fr;\n"
+ "+\n"
+ "+\tdo {\n"
+ "+\t\tfr = __raw_readl(BCM476X_UART_FR);\n"
+ "+\t\tbarrier();\n"
+ "+\t} while ((fr & (UART011_FR_TXFE | UART01x_FR_BUSY)) != UART011_FR_TXFE);\n"
+ "+}\n"
+ "+\n"
+ "+#define arch_decomp_setup()\n"
+ "Index: b/arch/arm/mach-bcm476x/Kconfig\n"
+ "===================================================================\n"
+ "--- /dev/null\n"
+ "+++ b/arch/arm/mach-bcm476x/Kconfig\n"
+ "@@ -0,0 +1,17 @@\n"
+ "+config ARCH_BCM476X\n"
+ "+\tbool \"Broadcom BCM476X family\" if ARCH_MULTI_V6\n"
+ "+\tselect CPU_V6\n"
+ "+\tselect ARM_VIC\n"
+ "+\tselect ARM_AMBA\n"
+ "+\tselect NO_IOPORT\n"
+ "+\tselect GENERIC_IRQ_CHIP\n"
+ "+\tselect SPARSE_IRQ\n"
+ "+\tselect MULTI_IRQ_HANDLER\n"
+ "+\tselect ARCH_WANT_OPTIONAL_GPIOLIB\n"
+ "+\tselect GENERIC_CLOCKEVENTS\n"
+ "+\tselect CLKSRC_MMIO\n"
+ "+\tselect COMMON_CLK\n"
+ "+\tselect CLKDEV_LOOKUP\n"
+ "+\tselect PINCTRL\n"
+ "+\tselect PINMUX\n"
+ "+\tselect USE_OF\n"
+ "Index: b/MAINTAINERS\n"
+ "===================================================================\n"
+ "--- a/MAINTAINERS\n"
+ "+++ b/MAINTAINERS\n"
+ "@@ -1618,6 +1618,15 @@ F:\tarch/arm/boot/dts/bcm2835*\n"
+ " F:\tarch/arm/configs/bcm2835_defconfig\n"
+ " F:\tdrivers/*/*bcm2835*\n"
+ " \n"
+ "+ARM/BCM476x ARM ARCHITECTURE\n"
+ "+M:\tDomenico Andreoli <domenico.andreoli-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>\n"
+ "+L:\tlinux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org (moderated for non-subscribers)\n"
+ "+S:\tMaintained\n"
+ "+F:\tarch/arm/mach-bcm476x\n"
+ "+F:\tarch/arm/boot/dts/bcm476x*\n"
+ "+F:\tarch/arm/configs/bcm476x_defconfig\n"
+ "+F:\tdrivers/*/*bcm476x*\n"
+ "+\n"
+ " BROADCOM TG3 GIGABIT ETHERNET DRIVER\n"
+ " M:\tMatt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>\n"
+ " M:\tMichael Chan <mchan-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>"
 
-5b3c6afe3038df9aa6d8b6f12c70e2a2c1889a32db0cf21b546fd627acfe6d46
+87de8a449163f59741c121768249da99dcd767a1a72a7206bde2412d14124047

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.