[U-Boot] [PATCH 1/2] ARM: add basic support for the Broadcom BCM2835 SoC

This SoC is used in the Raspberry Pi, for example.
Initial support is enough to boot to a serial console, and execute a minimal set of U-Boot commands. No drivers are implemented. For more details, see http://www.broadcom.com/products/BCM2835 or http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripheral....
Signed-off-by: Stephen Warren swarren@wwwdotorg.org --- arch/arm/cpu/arm1176/bcm2835/Makefile | 37 +++++++++++++++++ arch/arm/cpu/arm1176/bcm2835/config.mk | 19 +++++++++ arch/arm/cpu/arm1176/bcm2835/lowlevel_init.S | 19 +++++++++ arch/arm/cpu/arm1176/bcm2835/reset.c | 27 +++++++++++++ arch/arm/cpu/arm1176/bcm2835/timer.c | 55 ++++++++++++++++++++++++++ arch/arm/include/asm/arch-bcm2835/timer.h | 37 +++++++++++++++++ 6 files changed, 194 insertions(+) create mode 100644 arch/arm/cpu/arm1176/bcm2835/Makefile create mode 100644 arch/arm/cpu/arm1176/bcm2835/config.mk create mode 100644 arch/arm/cpu/arm1176/bcm2835/lowlevel_init.S create mode 100644 arch/arm/cpu/arm1176/bcm2835/reset.c create mode 100644 arch/arm/cpu/arm1176/bcm2835/timer.c create mode 100644 arch/arm/include/asm/arch-bcm2835/timer.h
diff --git a/arch/arm/cpu/arm1176/bcm2835/Makefile b/arch/arm/cpu/arm1176/bcm2835/Makefile new file mode 100644 index 0000000..4ea6d6b --- /dev/null +++ b/arch/arm/cpu/arm1176/bcm2835/Makefile @@ -0,0 +1,37 @@ +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# 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 $(TOPDIR)/config.mk + +LIB = $(obj)lib$(SOC).o + +SOBJS := lowlevel_init.o +COBJS := reset.o timer.o + +SRCS := $(SOBJS:.o=.c) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) + +all: $(obj).depend $(LIB) + +$(LIB): $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/arch/arm/cpu/arm1176/bcm2835/config.mk b/arch/arm/cpu/arm1176/bcm2835/config.mk new file mode 100644 index 0000000..b87ce24 --- /dev/null +++ b/arch/arm/cpu/arm1176/bcm2835/config.mk @@ -0,0 +1,19 @@ +# +# (C) Copyright 2012 Stephen Warren +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# 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. + +# Don't attempt to override the target CPU/ABI options; +# the Raspberry Pi toolchain does the right thing by default. +PLATFORM_RELFLAGS := $(filter-out -msoft-float,$(PLATFORM_RELFLAGS)) +PLATFORM_CPPFLAGS := $(filter-out -march=armv5t,$(PLATFORM_CPPFLAGS)) diff --git a/arch/arm/cpu/arm1176/bcm2835/lowlevel_init.S b/arch/arm/cpu/arm1176/bcm2835/lowlevel_init.S new file mode 100644 index 0000000..c7b0843 --- /dev/null +++ b/arch/arm/cpu/arm1176/bcm2835/lowlevel_init.S @@ -0,0 +1,19 @@ +/* + * (C) Copyright 2012 Stephen Warren + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * 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. + */ + +.globl lowlevel_init +lowlevel_init: + mov pc, lr diff --git a/arch/arm/cpu/arm1176/bcm2835/reset.c b/arch/arm/cpu/arm1176/bcm2835/reset.c new file mode 100644 index 0000000..69c9577 --- /dev/null +++ b/arch/arm/cpu/arm1176/bcm2835/reset.c @@ -0,0 +1,27 @@ +/* + * (C) Copyright 2012 Stephen Warren + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * 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 <common.h> +#include <asm/io.h> + +void reset_cpu(ulong addr) +{ + /* + * We should probably use the WDT module here, but an unaligned + * access will do the trick for now. + */ + readl(1); +} diff --git a/arch/arm/cpu/arm1176/bcm2835/timer.c b/arch/arm/cpu/arm1176/bcm2835/timer.c new file mode 100644 index 0000000..d232d7e --- /dev/null +++ b/arch/arm/cpu/arm1176/bcm2835/timer.c @@ -0,0 +1,55 @@ +/* + * (C) Copyright 2012 Stephen Warren + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * 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 <common.h> +#include <asm/io.h> +#include <asm/arch/timer.h> + +int timer_init(void) +{ + return 0; +} + +ulong get_timer(ulong base) +{ + struct bcm2835_timer_regs *regs = + (struct bcm2835_timer_regs *)BCM2835_TIMER_PHYSADDR; + + return readl(®s->clo) - base; +} + +unsigned long long get_ticks(void) +{ + return get_timer(0); +} + +ulong get_tbclk(void) +{ + return CONFIG_SYS_HZ; +} + +void __udelay(unsigned long usec) +{ + ulong endtime; + signed long diff; + + endtime = get_timer(0) + usec; + + do { + ulong now = get_timer(0); + diff = endtime - now; + } while (diff >= 0); +} diff --git a/arch/arm/include/asm/arch-bcm2835/timer.h b/arch/arm/include/asm/arch-bcm2835/timer.h new file mode 100644 index 0000000..30c70e0 --- /dev/null +++ b/arch/arm/include/asm/arch-bcm2835/timer.h @@ -0,0 +1,37 @@ +/* + * (C) Copyright 2012 Stephen Warren + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * 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. + */ + +#ifndef _BCM2835_TIMER_H +#define _BCM2835_TIMER_H + +#define BCM2835_TIMER_PHYSADDR 0x20003000 + +struct bcm2835_timer_regs { + u32 cs; + u32 clo; + u32 chi; + u32 c0; + u32 c1; + u32 c2; + u32 c3; +}; + +#define BCM2835_TIMER_CS_M3 (1 << 3) +#define BCM2835_TIMER_CS_M2 (1 << 2) +#define BCM2835_TIMER_CS_M1 (1 << 1) +#define BCM2835_TIMER_CS_M0 (1 << 0) + +#endif

The Raspberry Pi model B uses the BCM2835 SoC, has 256MB of RAM, contains an SMSC 9512 USB LAN/Hub chip, and various IO connectors. For more details, see http://www.raspberrypi.org/.
Signed-off-by: Stephen Warren swarren@wwwdotorg.org --- MAINTAINERS | 4 ++ board/raspberrypi/rpi_b/Makefile | 34 ++++++++++++++++ board/raspberrypi/rpi_b/rpi_b.c | 32 +++++++++++++++ boards.cfg | 1 + include/configs/rpi_b.h | 80 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 151 insertions(+) create mode 100644 board/raspberrypi/rpi_b/Makefile create mode 100644 board/raspberrypi/rpi_b/rpi_b.c create mode 100644 include/configs/rpi_b.h
diff --git a/MAINTAINERS b/MAINTAINERS index f796872..f12d862 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -913,6 +913,10 @@ Stephen Warren swarren@nvidia.com ventana Tegra2 (ARM7 & A9 Dual Core) paz00 Tegra2 (ARM7 & A9 Dual Core)
+Stephen Warren swarren@wwwdotorg.org + + rpi_b BCM2835 (ARM1176) + Thomas Weber weber@corscience.de
devkit8000 ARM ARMV7 (OMAP3530 SoC) diff --git a/board/raspberrypi/rpi_b/Makefile b/board/raspberrypi/rpi_b/Makefile new file mode 100644 index 0000000..9d0c377 --- /dev/null +++ b/board/raspberrypi/rpi_b/Makefile @@ -0,0 +1,34 @@ +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# 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 $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := $(BOARD).o + +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) + +$(LIB): $(obj).depend $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/board/raspberrypi/rpi_b/rpi_b.c b/board/raspberrypi/rpi_b/rpi_b.c new file mode 100644 index 0000000..f39440f --- /dev/null +++ b/board/raspberrypi/rpi_b/rpi_b.c @@ -0,0 +1,32 @@ +/* + * (C) Copyright 2012 Stephen Warren + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * 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 <common.h> +#include <asm/global_data.h> + +DECLARE_GLOBAL_DATA_PTR; + +int dram_init(void) +{ + gd->ram_size = SZ_256M; + + return 0; +} + +int board_init(void) +{ + return 0; +} diff --git a/boards.cfg b/boards.cfg index 0dee43f..b82534e 100644 --- a/boards.cfg +++ b/boards.cfg @@ -48,6 +48,7 @@ mx35pdk arm arm1136 - freesca apollon arm arm1136 apollon - omap24xx omap2420h4 arm arm1136 - ti omap24xx tnetv107x_evm arm arm1176 tnetv107xevm ti tnetv107x +rpi_b arm arm1176 rpi_b raspberrypi bcm2835 integratorap_cm720t arm arm720t integrator armltd - integratorap:CM720T integratorap_cm920t arm arm920t integrator armltd - integratorap:CM920T integratorcp_cm920t arm arm920t integrator armltd - integratorcp:CM920T diff --git a/include/configs/rpi_b.h b/include/configs/rpi_b.h new file mode 100644 index 0000000..f547027 --- /dev/null +++ b/include/configs/rpi_b.h @@ -0,0 +1,80 @@ +/* + * (C) Copyright 2012 Stephen Warren + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * 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. + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#include <asm/sizes.h> + +/* Architecture, CPU, etc.*/ +#define CONFIG_ARM1176 +#define CONFIG_BCM2835 + +/* Timer */ +#define CONFIG_SYS_HZ 1000000 + +/* Memory layout */ +#define CONFIG_NR_DRAM_BANKS 1 +#define CONFIG_SYS_TEXT_BASE 0x00008000 +#define CONFIG_SYS_SDRAM_BASE 0x00000000 +#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE +#define CONFIG_SYS_INIT_RAM_SIZE SZ_4K +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) +#define CONFIG_SYS_MALLOC_LEN SZ_4M +#define CONFIG_SYS_MEMTEST_START 0x00100000 +#define CONFIG_SYS_MEMTEST_END 0x00200000 + +/* Flash */ +#define CONFIG_SYS_NO_FLASH + +/* Devices */ +/* None yet */ + +/* Console UART */ +#define CONFIG_PL011_SERIAL +#define CONFIG_PL011_CLOCK 3000000 +#define CONFIG_PL01x_PORTS { (void *)0x20201000 } +#define CONFIG_CONS_INDEX 0 +#define CONFIG_BAUDRATE 115200 +#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/* Console configuration */ +#define CONFIG_SYS_CBSIZE 1024 +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ + sizeof(CONFIG_SYS_PROMPT) + 16) + +/* Environment */ +#define CONFIG_ENV_SIZE SZ_16K +#define CONFIG_ENV_IS_NOWHERE +#define CONFIG_SYS_LOAD_ADDR 0x1000000 + +/* Shell */ +#define CONFIG_SYS_HUSH_PARSER +#define CONFIG_SYS_MAXARGS 8 +#define CONFIG_SYS_PROMPT "U-Boot> " +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> " +#define CONFIG_SYS_LONGHELP +#define CONFIG_CMDLINE_EDITING +#define CONFIG_COMMAND_HISTORY +#define CONFIG_AUTO_COMPLETE + +/* Commands */ +#define CONFIG_CMD_MEMORY +#define CONFIG_CMD_MISC + +#endif

Hi Stephen,
On 06/07/2012 03:45 PM, Stephen Warren wrote:
The Raspberry Pi model B uses the BCM2835 SoC, has 256MB of RAM, contains an SMSC 9512 USB LAN/Hub chip, and various IO connectors. For more details, see http://www.raspberrypi.org/.
Signed-off-by: Stephen Warren swarren@wwwdotorg.org
Now I really can't wait for my Raspberry Pi to turn up (due on 25 June)
Looking forward to trying this out - any hints / traps for young players?
Regards,
Graeme

On 06/15/2012 11:42 PM, Graeme Russ wrote:
Hi Stephen,
On 06/07/2012 03:45 PM, Stephen Warren wrote:
The Raspberry Pi model B uses the BCM2835 SoC, has 256MB of RAM, contains an SMSC 9512 USB LAN/Hub chip, and various IO connectors. For more details, see http://www.raspberrypi.org/.
Signed-off-by: Stephen Warren swarren@wwwdotorg.org
Now I really can't wait for my Raspberry Pi to turn up (due on 25 June)
Looking forward to trying this out - any hints / traps for young players?
Mostly U-Boot on RPi works like it would anywhere else. The few things to watch out for are:
a) Pick the correct toolchain to build with. For my branch, I assumed everyone was building for armhf/hardfp these days, and so from the tools repo:
https://github.com/raspberrypi/tools.git
I picked the toolchain in the x86-linux64-cross-arm-linux-hardfp sub-directory, and adjusted the U-Boot Makefiles to suite options required for that toolchain.
However, Oleksandr's U-Boot branch appears to rely upon the armel/softfp toolchain in the linux-x86 sub-directory.
b) You need to appropriate stuff in config.txt on the SD card - I apparently have:
device_tree=kernel.dtb device_tree_address=0x100 kernel_address=0x8000 disable_commandline_tags=1
and I store U-Boot in kernel.img.
(although I think the DT-related values are irrelevant when I'm booting U-Boot instead of a kernel)
You will of course need a 3.3v serial->something (USB or true RS232) adapter hooked up to GPIO header pins 6/8/10 for the console, since there's no video output support in U-Boot yet (although I suppose we could add USB keyboard support soon...)
Oh, and you'll probably want to update the binary firmware images on your SD card to the latest from: https://github.com/raspberrypi/firmware.git
The following email from Oleksandr will be interesting too: http://lists.infradead.org/pipermail/linux-rpi-kernel/2012-June/000060.html
Of course, this is all if you specifically want to use U-Boot. The default boot process already works completely, without involving U-Boot, but of course doesn't support e.g. network booting.

On 06/06/2012 11:45 PM, Stephen Warren wrote:
This SoC is used in the Raspberry Pi, for example.
Initial support is enough to boot to a serial console, and execute a minimal set of U-Boot commands. No drivers are implemented. For more details, see http://www.broadcom.com/products/BCM2835 or http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripheral....
Albert,
Do these patches look good? I'm assuming you do accept direct patch emails, and aren't waiting for this to be part of a pull request or anything like that?
Oleksandr Tymoshenko reports that he now has a working U-Boot USB driver for this SoC/board, so the port will soon be quite practically useful.
Thanks.

On 06/06/2012 11:45 PM, Stephen Warren wrote:
This SoC is used in the Raspberry Pi, for example.
Initial support is enough to boot to a serial console, and execute a minimal set of U-Boot commands. No drivers are implemented. For more details, see http://www.broadcom.com/products/BCM2835 or http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripheral....
Signed-off-by: Stephen Warren swarren@wwwdotorg.org
Albert, per your request to remind you about patches in your backlog, there is this series.
BTW, I expect quite a few more patches to come in for the RPi; I already have a bunch of small tweaks queued up and I know there's a USB driver that works and hopefully will be sent soon. Should I be sending pull requests for these instead to ease your work? Do you take pull requests from git repos not on denx.de?
Thanks.

Hi Stephen,
On Thu, 21 Jun 2012 16:26:56 -0600, Stephen Warren swarren@wwwdotorg.org wrote:
On 06/06/2012 11:45 PM, Stephen Warren wrote:
This SoC is used in the Raspberry Pi, for example.
Initial support is enough to boot to a serial console, and execute a minimal set of U-Boot commands. No drivers are implemented. For more details, see http://www.broadcom.com/products/BCM2835 or http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripheral....
Signed-off-by: Stephen Warren swarren@wwwdotorg.org
Albert, per your request to remind you about patches in your backlog, there is this series.
I've marked the series as assigned to me and under review. IIUC, it is from June 7, so after the merge window closing, and will thus get in the next branch.
BTW, I expect quite a few more patches to come in for the RPi; I already have a bunch of small tweaks queued up and I know there's a USB driver that works and hopefully will be sent soon. Should I be sending pull requests for these instead to ease your work? Do you take pull requests from git repos not on denx.de?
Thanks.
I am sorry, I will not take in pull requests from any other repo than a custodian's one. Please point me to individual patches -- ideally as patchwork URLS.
Amicalement,

On 06/21/2012 11:05 PM, Albert ARIBAUD wrote:
Hi Stephen,
On Thu, 21 Jun 2012 16:26:56 -0600, Stephen Warren swarren@wwwdotorg.org wrote:
On 06/06/2012 11:45 PM, Stephen Warren wrote:
This SoC is used in the Raspberry Pi, for example.
Initial support is enough to boot to a serial console, and execute a minimal set of U-Boot commands. No drivers are implemented. For more details, see http://www.broadcom.com/products/BCM2835 or http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripheral....
Signed-off-by: Stephen Warren swarren@wwwdotorg.org
Albert, per your request to remind you about patches in your backlog, there is this series.
I've marked the series as assigned to me and under review. IIUC, it is from June 7, so after the merge window closing, and will thus get in the next branch.
OK, great.
BTW, I expect quite a few more patches to come in for the RPi; I already have a bunch of small tweaks queued up and I know there's a USB driver that works and hopefully will be sent soon. Should I be sending pull requests for these instead to ease your work? Do you take pull requests from git repos not on denx.de?
Thanks.
I am sorry, I will not take in pull requests from any other repo than a custodian's one. Please point me to individual patches -- ideally as patchwork URLS.
I haven't yet posted any patches other than the two you've assigned as mentioned above; I was waiting for those two to be merged first. Perhaps I should set up a custodian git repo to house them.

Dear Stephen Warren,
In message 4FE49BEB.1090100@wwwdotorg.org you wrote:
I haven't yet posted any patches other than the two you've assigned as mentioned above; I was waiting for those two to be merged first. Perhaps I should set up a custodian git repo to house them.
You misunderstand. A custodian repo is nothing you can set up yourself.
Please read the docs, especially http://www.denx.de/wiki/U-Boot/Patches
It is _mandatory_ that all patches get posted here.
Best regards,
Wolfgang Denk

On 06/22/2012 10:34 AM, Wolfgang Denk wrote:
Dear Stephen Warren,
In message 4FE49BEB.1090100@wwwdotorg.org you wrote:
I haven't yet posted any patches other than the two you've assigned as mentioned above; I was waiting for those two to be merged first. Perhaps I should set up a custodian git repo to house them.
You misunderstand. A custodian repo is nothing you can set up yourself.
No, I don't misunderstand at all. By "set up" I simply meant to follow the process to obtain one; I didn't mean to create one myself.

Dear Stephen Warren,
In message 4FE49EF4.3040706@wwwdotorg.org you wrote:
I haven't yet posted any patches other than the two you've assigned as mentioned above; I was waiting for those two to be merged first. Perhaps I should set up a custodian git repo to house them.
You misunderstand. A custodian repo is nothing you can set up yourself.
No, I don't misunderstand at all. By "set up" I simply meant to follow the process to obtain one; I didn't mean to create one myself.
For which sub-system to you volunteer to become the custodian?
Best regards,
Wolfgang Denk

On 06/22/2012 11:14 AM, Wolfgang Denk wrote:
Dear Stephen Warren,
In message 4FE49EF4.3040706@wwwdotorg.org you wrote:
I haven't yet posted any patches other than the two you've assigned as mentioned above; I was waiting for those two to be merged first. Perhaps I should set up a custodian git repo to house them.
You misunderstand. A custodian repo is nothing you can set up yourself.
No, I don't misunderstand at all. By "set up" I simply meant to follow the process to obtain one; I didn't mean to create one myself.
For which sub-system to you volunteer to become the custodian?
The BCM2835 ARM sub-architecture, as used in the Raspberry Pi.

On Fri, Jun 22, 2012 at 11:29:43AM -0600, Stephen Warren wrote:
On 06/22/2012 11:14 AM, Wolfgang Denk wrote:
Dear Stephen Warren,
In message 4FE49EF4.3040706@wwwdotorg.org you wrote:
I haven't yet posted any patches other than the two you've assigned as mentioned above; I was waiting for those two to be merged first. Perhaps I should set up a custodian git repo to house them.
You misunderstand. A custodian repo is nothing you can set up yourself.
No, I don't misunderstand at all. By "set up" I simply meant to follow the process to obtain one; I didn't mean to create one myself.
For which sub-system to you volunteer to become the custodian?
The BCM2835 ARM sub-architecture, as used in the Raspberry Pi.
What Wolfgang is driving at, I believe, is that there's a threshold for getting a custodian tree hosted on denx, as opposed to hosting $wherever and using send-email and so forth, which is always required (since all patches must be posted).

Dear Stephen Warren,
In message 4FE4AB87.1030500@wwwdotorg.org you wrote:
For which sub-system to you volunteer to become the custodian?
The BCM2835 ARM sub-architecture, as used in the Raspberry Pi.
I see no reason to install a new custodian just for a single SoC.
Best regards,
Wolfgang Denk

On 06/22/2012 12:18 PM, Wolfgang Denk wrote:
Dear Stephen Warren,
In message 4FE4AB87.1030500@wwwdotorg.org you wrote:
For which sub-system to you volunteer to become the custodian?
The BCM2835 ARM sub-architecture, as used in the Raspberry Pi.
I see no reason to install a new custodian just for a single SoC.
OK, that's fine; I'll rely solely on patch email then. I just figured on saving Albert some git am work, seeing as how many other single SoCs are handled via git pull already.

Dear Stephen Warren,
In message 4FE4B9C2.3050001@wwwdotorg.org you wrote:
OK, that's fine; I'll rely solely on patch email then. I just figured on saving Albert some git am work, seeing as how many other single SoCs are handled via git pull already.
Are there? Which for example?
Best regards,
Wolfgang Denk

On 06/22/2012 03:58 PM, Wolfgang Denk wrote:
Dear Stephen Warren,
In message 4FE4B9C2.3050001@wwwdotorg.org you wrote:
OK, that's fine; I'll rely solely on patch email then. I just figured on saving Albert some git am work, seeing as how many other single SoCs are handled via git pull already.
Are there? Which for example?
Tegra does this for sure. There are also u-boot-ti.git, u-boot-samsung.git, and u-boot-marvell.git that I believe are for the same purpose.

Dear Stephen Warren,
In message 4FE4FD2F.4010703@wwwdotorg.org you wrote:
OK, that's fine; I'll rely solely on patch email then. I just figured on saving Albert some git am work, seeing as how many other single SoCs are handled via git pull already.
Are there? Which for example?
Tegra does this for sure. There are also u-boot-ti.git, u-boot-samsung.git, and u-boot-marvell.git that I believe are for the same purpose.
All these handle a number of processors - note that (with the exception of tegra) these are explicitly named as vendor trees, collingting all processors from some silicon vendors. Have a closer look at the imx (Freescale) or TI or Samsung or Marvell trees - all these handle a pretty large number of different SoCs.
We can discuss to add a Broadcom repository one day - but only after it turns out that there is sufficiently large traffic here on the list to justify another split. Given that Broadcom has essentially zero coverage in mainline U-Boot, there is some way to go before we reach such a point.
Just for a single SoC it makes no sense to set up a new custodian tree.
Best regards,
Wolfgang Denk

On Fri, Jun 22, 2012 at 05:18:07PM -0600, Stephen Warren wrote:
On 06/22/2012 03:58 PM, Wolfgang Denk wrote:
Dear Stephen Warren,
In message 4FE4B9C2.3050001@wwwdotorg.org you wrote:
OK, that's fine; I'll rely solely on patch email then. I just figured on saving Albert some git am work, seeing as how many other single SoCs are handled via git pull already.
Are there? Which for example?
Tegra does this for sure. There are also u-boot-ti.git, u-boot-samsung.git, and u-boot-marvell.git that I believe are for the same purpose.
u-boot-ti covers omap3 (and derrivatives), omap4, omap5, am33xx and davinci SoCs. u-boot-samsung also covers a handful of SoCs (at least 3 by a quick count). kirkwood (marvell) also has a number of boards. I think u-boot-tegra is probably the smallest example but that's still 6 boards (and another SoC family trying to get in). Once BCM2835 (or BCM283x or BCM28xx or whatever the generic name would be) reaches that threshold, I imagine Wolfgang would see the need for a custodian repository.
participants (5)
-
Albert ARIBAUD
-
Graeme Russ
-
Stephen Warren
-
Tom Rini
-
Wolfgang Denk