[U-Boot] [PATCH v4 0/9] sunxi: initial upstreamining effort

Ian Campbell ijc at hellion.org.uk
Thu May 1 21:42:49 CEST 2014


On Thu, 2014-05-01 at 21:24 +0200, Marek Vasut wrote:
> On Thursday, May 01, 2014 at 08:40:03 PM, Ian Campbell wrote:
> > This is my fourth cut at an upstreamable series based upon the
> > https://github.com/linux-sunxi/u-boot-sunxi.git#sunxi tree. The
> > intention is to present a minimal starting point for upstreaming to
> > which support for other processors, peripherals, boards etc can be
> > added in the future. Therefore this has been stripped right back and
> > currently supports only sun7i processors (AKA Allwinner A20) and the
> > cubietruck board. Supported peripherals are UART, MMC and Ethernet.
> > 
> > The code here is from u-boot-sunxi.git#sunxi[0] changeset based on
> > d9fe0a1e061e "sunxi: mksunxiboot: remove unnecessary casts." and
> > applies to u-boot v2014.04.
> > 
> > Changes in v4:
> >  - Resynced with u-boot-sunxi.git d9fe0a1e061e which pulled lots of
> > fixes
> >    for Marek's review comments.
> 
> It would be really nice if you could list the changes instead of pointing to 
> some random object in some random git repository at to me unknown address.

The address was further down this introductory mail, in the footnote
referenced by [0] above: https://github.com/linux-sunxi/u-boot-sunxi.git

Log log from v3 to v4 is below. You can ignore the A23 and sun6i changes
since they don't affect this initial upstreaming series.

Ian.

commit d9fe0a1e061e2bde6c24a0f7cef4f5023f3bd579
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:19:02 2014 +0100

    sunxi: mksunxiboot: remove unnecessary casts.
    
    In particular this removes the possibility that boot_buf is misaligned in
    gen_check_sum by making the type explicit.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit c81ab9443997bd8ed63f576a2420a77cc5f7d0e7
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:19:01 2014 +0100

    sunxi: mksunxiboot: remove dead code.
    
    Requested by Marek during upstream review.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit ded94b565973d6ffa6625196af7b7f69fc1ca909
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:19:00 2014 +0100

    sunxi: mksunxiboot: use stdint.h types
    
    Requested by Marek during upstream review.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 1c814095b5fedbd44310290cfdbb7eb9ec4a96c0
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:18:59 2014 +0100

    sunxi: mmc: move pinmux configuration to board setup.
    
    Requested by Marek as part of upstream review.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 402c300dcb082794a481cce4caebb0d4cb315ee9
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:18:58 2014 +0100

    sunxi: remove unnecessary network config items
    
    CONFIG_CMD_SNTP doesn't do anything useful withou CONFIG_CMD_DATE (which
    sunxi doesn't set, nor does it provide the required rtc_set() function).
    
    Also drop some of the more obscure BOOTP options which there doesn't seem
    to be any need for.
    
    Highlighted by Marek during upstream review.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 543fd1c8d959f2ce35f6c245ba4751bfe14331ee
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:18:57 2014 +0100

    sunxi: move gmac glue under board/sunxi
    
    The other existing designware glue files are under board/*.
    
    Marek requested that it move out of drivers/net as part of upstream
    review. His suggestion was to move to arch/arm/.../sunxi but I found all
    the others under board/*
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 4bad0496d51f98e8691dbfe792201cc6830f5a39
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:18:56 2014 +0100

    sunxi: log failure of sunxi_?mac_initialize.
    
    Also propagate errors.
    
    Requested by Marek as part of upstream review.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit baab9f178f72239beccdaed013a809ba1f67f32a
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:18:55 2014 +0100

    sunxi: correct cpu_eth_init ifdeffery
    
    The cpu_eth_init function should be ifdef CONFIG_CMD_NET and the
    individual driver init functions should use the corresponding CONFIG_FOO.
    
    Requested by Marek during upstream review.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit c224b4d19831ddfc4de002b75bc923dda855502c
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:18:54 2014 +0100

    sunxi: remove unbounded loops from DRAM setup.
    
    Introduce a helper function which waits for up to 1s for the necesary bits
    to clear and then panic()s.
    
    Requested by Marek during upstream review.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit ea9bc8075a5c730ac2f35cf43048f723be9498ac
Author: Ian Campbell <ijc at hellion.org.uk>
Date:   Mon Apr 28 20:18:53 2014 +0100

    sunxi: timer: conform to coding style.
    
    Raised by Marek during upstreaming.
    
    Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 06ad4bb62b69e8867087a9ecdffe2cc97817d453
Author: Chen-Yu Tsai <wens at csie.org>
Date:   Fri Apr 25 00:39:06 2014 +0800

    ARM: sunxi: Add A23 based tablet Ippo-q8h
    
    The Ippo-q8h is the first A23 based device spotted in the wild.
    This was used to bring basic support to u-boot. Add build options
    for it
    
    Signed-off-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit b8bf16c38f1cb4adfcb104ed6cef0ccdbab025c6
Author: Chen-Yu Tsai <wens at csie.org>
Date:   Fri Apr 25 00:39:05 2014 +0800

    ARM: sunxi: Add support for using R_UART as console
    
    The R_UART is the only uart other than UART0 on port F which has
    usable pads for attaching a console. Support it so we can still
    have a console when using MMC on port F.
    
    Signed-off-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 34027df43a51711f2e508f0efa37ea57d45b2334
Author: Chen-Yu Tsai <wens at csie.org>
Date:   Fri Apr 25 00:39:04 2014 +0800

    ARM: sunxi: Add basic A23 support
    
    The basic blocks of the A23 are similar to the A31 (sun6i). Re-use
    sun6i code for initial clock, gpio, and uart setup.
    
    Signed-off-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 5aea7698de5a33b65782a3d3210eb0dbfc56728a
Author: Chen-Yu Tsai <wens at csie.org>
Date:   Fri Apr 25 00:39:03 2014 +0800

    ARM: sunxi: Allow specifying module in prcm apb0 init function
    
    The prcm apb0 controls multiple modules. Allow specifying which
    modules to enable clocks and de-assert resets so the function
    can be reused.
    
    Signed-off-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 61de1e6d9fe5ee233d2a0d30bbc98453b1a9a1df
Author: Chen-Yu Tsai <wens at csie.org>
Date:   Fri Apr 25 00:39:02 2014 +0800

    ARM: sunxi: Correct comment for MBUS1 register in sun6i clock definitions
    
    Signed-off-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 37f669b9dbbd3869a880173a294aadd6ca8c68ea
Author: Chen-Yu Tsai <wens at csie.org>
Date:   Fri Apr 25 00:39:01 2014 +0800

    ARM: sunxi: Fix macro names for mmc and uart reset offsets
    
    Also rewrite sunxi_mmc clock gate/reset enabling code using
    setbits_le32.
    
    Signed-off-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 501ab1e401c314773f659a3a4b4aae27b162608e
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Sat Apr 26 19:50:59 2014 +0200

    ARM: sunxi: Fix sun6i PLL6 settings
    
    On sun6i the N factor is 1-32, not the 0-31 it is with sun4i / sun5i / sun7i.
    
    Reported-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit e304b6496e8abce2320774b9bdf7b458201042e5
Author: Siarhei Siamashka <siarhei.siamashka at gmail.com>
Date:   Mon Apr 21 05:32:31 2014 +0300

    sunxi: dram: Fix dram_tpr3 handling for sun4i
    
    This ifdef wrapped code apparently was introduced as a unification
    of sun4i/sun5i and sun7i codebases and assumed that the non-sun7i
    part of it was correct. However experiments show that this 4-bit
    bitfield behaves in the same way at least on sun4i and sun7i.
    
    Also see the definition in 'include/synopsys/dwcddr21mctl.h':
        #define DWCDDR21MCTL_DLLCR_PHASE(x) (((x) & 0xf) << 14)
    
    Signed-off-by: Siarhei Siamashka <siarhei.siamashka at gmail.com>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

commit 5ba2257d4fd768c37bcb6d38636d2ed186a58062
Author: Siarhei Siamashka <siarhei.siamashka at gmail.com>
Date:   Mon Apr 21 05:32:30 2014 +0300

    sunxi: dram: Support more DRAM clock speeds (396, 468, 496, 512, 540)
    
    These are some additional interesting DRAM clock frequencies. And
    they can be supported, while keeping the PLL5P clock speed at least
    not higher than the DRAM clock speed. PLL5P output is used to
    clock a lot of peripherals, so we need to be careful not to
    break them (or more like some buggy code in the sunxi-3.4
    kernel, which just sets hardcoded divisors in some places).
    
    Having 396MHz is nice. It can be used with the tight DDR3-800
    timings (CL-tRCD-tRP-tRAS). For comparison, moving to 408MHz
    requires extra cycles for many of these timing parameters,
    which results in a latency increase.
    
    Having 512MHz and 540MHz is also useful, because they provide better
    granularity of the DRAM clock frequency selection around DDR3-1066
    speed. And this is an interesting DRAM overclocking target.
    
    The extra five branches add ~120 bytes of code if compiled
    for ARM and ~90 bytes of code if compiled for Thumb2.
    
    Signed-off-by: Siarhei Siamashka <siarhei.siamashka at gmail.com>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>




More information about the U-Boot mailing list