[U-Boot] [PATCH v6 00/23] Bring up rk3036 uboot

Simon Glass sjg at chromium.org
Thu Nov 19 15:24:45 CET 2015


+Tom

Hi Lin,

On 18 November 2015 at 22:49, hl <hl at rock-chips.com> wrote:
> Hi Simon,
>
>
>
> On 19/11/15 12:44, Simon Glass wrote:
>>
>> Hi Lin,
>>
>>
>> On 17 November 2015 at 18:19, hl <hl at rock-chips.com> wrote:
>>>
>>> Hi Simon,
>>>
>>>
>>>
>>> On 18/11/15 01:38, Simon Glass wrote:
>>>>
>>>> Hi Lin,
>>>>
>>>> On 16 November 2015 at 23:20, Lin Huang <hl at rock-chips.com> wrote:
>>>>>
>>>>> This series patch bring up rk3036 uboot, since rk3036 only 4K size
>>>>> SRAM for SPL, so in SPL stage only support timer, uart, sdram driver,
>>>>> and back to bootrom when finish ddr initial, and boot up second stage
>>>>> from bootrom.You can boot to command line(mmc info etc) for now use
>>>>> this patchset.
>>>>>
>>>>> Jeffy Chen (2):
>>>>>     rockchip: Add max spl size & spl header configs
>>>>>     rockchip: Add support for rk's second level loader
>>>>>
>>>>> Lin Huang (21):
>>>>>     rockchip: add timer driver
>>>>>     rockchip: move SYS_MALLOC_F_LEN to rk3288 own Kconfig
>>>>>     rockchip: rename board-spl.c to rk3288-board-spl.c
>>>>>     rockchip: add config decide whether to build common.c
>>>>>     dm: core: Add SPL Kconfig for REGMAP and SYSCON
>>>>>     rockchip: serial driver support rk3036
>>>>>     rockchip: Bring in RK3036 device tree file includes and bindings
>>>>>     rockchip: rk3036: Add clock driver
>>>>>     rockchip: rk3036: Add header files for GRF
>>>>>     rockchip: rk3036: Add Soc reset driver
>>>>>     rockchip: rk3036: Add a simple syscon driver
>>>>>     rockchip: rk3036: Add pinctrl driver
>>>>>     mmc: dw_mmc: move data transfer as a separate function
>>>>>     mmc: dw_mmc: support fifo mode in dwc mmc driver
>>>>>     rockchip: mmc: use non-removable property to disginguish emmc and
>>>>>       sdcard register
>>>>>     rockchip: mmc: get the fifo mode and fifo depth property from dts
>>>>>     rockchip: add early uart driver
>>>>>     rockchip: add rk3036 sdram driver
>>>>>     rockchip: rk3036: Add core Soc start-up code
>>>>>     rockchip: Add basic support for evb-rk3036 board
>>>>>     rockchip: doc: show packet rk3036 uboot image
>>>>>
>>>>>    arch/arm/dts/Makefile                             |   3 +-
>>>>>    arch/arm/dts/rk3036-sdk.dts                       |  46 ++
>>>>>    arch/arm/dts/rk3036.dtsi                          | 428 ++++++++++++
>>>>>    arch/arm/include/asm/arch-rockchip/cru_rk3036.h   | 168 +++++
>>>>>    arch/arm/include/asm/arch-rockchip/grf_rk3036.h   | 493
>>>>> ++++++++++++++
>>>>>    arch/arm/include/asm/arch-rockchip/sdram_rk3036.h | 341 ++++++++++
>>>>>    arch/arm/include/asm/arch-rockchip/timer.h        |  22 +
>>>>>    arch/arm/include/asm/arch-rockchip/uart.h         |  44 ++
>>>>>    arch/arm/mach-rockchip/Kconfig                    |  28 +-
>>>>>    arch/arm/mach-rockchip/Makefile                   |  10 +-
>>>>>    arch/arm/mach-rockchip/board-spl.c                | 294 ---------
>>>>>    arch/arm/mach-rockchip/board.c                    |   1 +
>>>>>    arch/arm/mach-rockchip/rk3036-board-spl.c         |  55 ++
>>>>>    arch/arm/mach-rockchip/rk3036/Kconfig             |  23 +
>>>>>    arch/arm/mach-rockchip/rk3036/Makefile            |  13 +
>>>>>    arch/arm/mach-rockchip/rk3036/reset_rk3036.c      |  45 ++
>>>>>    arch/arm/mach-rockchip/rk3036/save_boot_param.S   |  32 +
>>>>>    arch/arm/mach-rockchip/rk3036/sdram_rk3036.c      | 764
>>>>> ++++++++++++++++++++++
>>>>>    arch/arm/mach-rockchip/rk3036/syscon_rk3036.c     |  21 +
>>>>>    arch/arm/mach-rockchip/rk3288-board-spl.c         | 277 ++++++++
>>>>>    arch/arm/mach-rockchip/rk3288/Kconfig             |   9 +
>>>>>    arch/arm/mach-rockchip/rk_early_print.c           |  63 ++
>>>>>    arch/arm/mach-rockchip/rk_timer.c                 |  48 ++
>>>>>    board/evb_rk3036/evb_rk3036/Kconfig               |  15 +
>>>>>    board/evb_rk3036/evb_rk3036/MAINTAINERS           |   0
>>>>>    board/evb_rk3036/evb_rk3036/Makefile              |   7 +
>>>>>    board/evb_rk3036/evb_rk3036/evb_rk3036.c          |  49 ++
>>>>>    configs/chromebook_jerry_defconfig                |   2 +
>>>>>    configs/evb-rk3036_defconfig                      |  26 +
>>>>>    configs/firefly-rk3288_defconfig                  |   2 +
>>>>>    configs/sandbox_defconfig                         |   2 +
>>>>>    doc/README.rockchip                               |  11 +
>>>>>    drivers/clk/Makefile                              |   1 +
>>>>>    drivers/clk/clk_rk3036.c                          | 414 ++++++++++++
>>>>>    drivers/core/Kconfig                              |  19 +
>>>>>    drivers/core/Makefile                             |   4 +-
>>>>>    drivers/mmc/dw_mmc.c                              | 140 ++--
>>>>>    drivers/mmc/rockchip_dw_mmc.c                     |  27 +-
>>>>>    drivers/pinctrl/Kconfig                           |   9 +
>>>>>    drivers/pinctrl/rockchip/Makefile                 |   1 +
>>>>>    drivers/pinctrl/rockchip/pinctrl_rk3036.c         | 276 ++++++++
>>>>>    drivers/serial/serial_rockchip.c                  |   1 +
>>>>>    include/configs/evb_rk3036.h                      |  12 +
>>>>>    include/configs/rk3036_common.h                   | 103 +++
>>>>>    include/configs/rk3288_common.h                   |   8 +-
>>>>>    include/dt-bindings/clock/rk3036-cru.h            | 186 ++++++
>>>>>    include/dwmmc.h                                   |   5 +
>>>>>    tools/Makefile                                    |   6 +
>>>>>    tools/rkcommon.c                                  |  26 +-
>>>>>    tools/rkcommon.h                                  |   4 +-
>>>>>    tools/rkimage.c                                   |   2 +-
>>>>>    tools/rksd.c                                      |   6 +-
>>>>>    tools/rkspi.c                                     |   6 +-
>>>>>    53 files changed, 4222 insertions(+), 376 deletions(-)
>>>>>    create mode 100644 arch/arm/dts/rk3036-sdk.dts
>>>>>    create mode 100644 arch/arm/dts/rk3036.dtsi
>>>>>    create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rk3036.h
>>>>>    create mode 100644 arch/arm/include/asm/arch-rockchip/grf_rk3036.h
>>>>>    create mode 100644 arch/arm/include/asm/arch-rockchip/sdram_rk3036.h
>>>>>    create mode 100644 arch/arm/include/asm/arch-rockchip/timer.h
>>>>>    create mode 100644 arch/arm/include/asm/arch-rockchip/uart.h
>>>>>    delete mode 100644 arch/arm/mach-rockchip/board-spl.c
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3036-board-spl.c
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3036/Kconfig
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3036/Makefile
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3036/reset_rk3036.c
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3036/save_boot_param.S
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3036/sdram_rk3036.c
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3036/syscon_rk3036.c
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk3288-board-spl.c
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk_early_print.c
>>>>>    create mode 100644 arch/arm/mach-rockchip/rk_timer.c
>>>>>    create mode 100644 board/evb_rk3036/evb_rk3036/Kconfig
>>>>>    create mode 100644 board/evb_rk3036/evb_rk3036/MAINTAINERS
>>>>>    create mode 100644 board/evb_rk3036/evb_rk3036/Makefile
>>>>>    create mode 100644 board/evb_rk3036/evb_rk3036/evb_rk3036.c
>>>>>    create mode 100644 configs/evb-rk3036_defconfig
>>>>>    create mode 100644 drivers/clk/clk_rk3036.c
>>>>>    create mode 100644 drivers/pinctrl/rockchip/pinctrl_rk3036.c
>>>>>    create mode 100644 include/configs/evb_rk3036.h
>>>>>    create mode 100644 include/configs/rk3036_common.h
>>>>>    create mode 100644 include/dt-bindings/clock/rk3036-cru.h
>>>>>
>>>>> --
>>>>> 1.9.1
>>>>>
>>>> Everything looks good except patch 15 which I think needs a few
>>>> tweaks. Can you please take a look? Either you could send a new
>>>> version of just that patch, or I can fix it up when applying it.
>>>>
>>>> It would be good to get this applied this week if possible.
>>>
>>>     I will update patch 15 and upload new version today, thank you.
>>
>> A few more problems....I've had to update two of the patches. I'll
>> resend them to the list and have pushed everything to
>> u-boot-rockchip/testing. Please take a look and let me know if there
>> are any problems. Otherwise I'll push to master tomorrow or Friday.
>
>     Thank you for your updating, i have download the latest code and
>     test, it can work, there is not problem. Thanks again.
>

OK, I have pulled this in and pushed it to master.

Two problems remain though:

1. Most important - the mkimage tool is now only built for Rockchip (a
change I had to make to fix a build error) and there are two versions
of it. The two Kconfig options should move to become command-line
options for mkimage. These are CONFIG_ROCKCHIP_MAX_SPL_SIZE and
CONFIG_ROCKCHIP_SPL_HDR. Since mkimage is a tool that is released with
Linux distributions it needs to support all possible uses. We only
release a single version. My suggestion is to add a command line
option for mkimage to specify the Rockchip chip type rk3288, rk3066,
etc.) and for the code to use the correct size/hdr automatically. You
can then remove these Kconfig options.

2. As mentioned in the review, the debug UART code should use the
existing debug UART feature. Do you feel comfortable looking at that?
If not I could try.

Also, do you have plans to upstream support for other chips?

>
> --
> Lin Huang
>
>

Regards,
Simon


More information about the U-Boot mailing list