[PATCH 00/25] Tegra-next
Lucas Stach
dev at lynxeye.de
Mon May 12 00:07:41 PDT 2014
Ok, here we go: this is a truckload of fixes and new
features for the Tegra arch. One big patch series this time
as it took me some time to validate everything.
Patches 1-6 introduce a proper reset controller and remove
the old hacks used to reset the devices. This is needed for
the follow on patches as the Tegra i2c driver needs closer
control over device reset.
Patches 7-10 add the Tegra i2c driver and the necessary clocks.
Patch 11 uses the new i2c support to active the SDMMC1 voltage
rail on Beaver.
Patches 12-15 are fixes to the Tegra MCI and pinctrl to make
SD cards work on Tegra 3, not only eMMC as before.
Patches 17-25 import the Tegra cbootimage tool, add
infrastructure to build persistable images and convert
existing boards over to use it.
All in all this now allows to build flashable images. I
verified that things are working by loading an image from
SD card on Beaver and writing it to the boot partition on eMMC.
After reset of the board I'm now greeted by barebox instead
of U-Boot. :)
Lucas Stach (25):
reset: add reset controller framework
tegra: lowlevel: add function to fetch chipid
reset: add tegra reset controller
clk: tegra: reset UARTS from clock controller
mci: tegra: add reset control
clk: tegra: remove device reset hack
clk: tegra: allow to register clocks with 16 bit divider
clk: tegra30: register i2c clocks
clk: tegra20: register i2c clocks
i2c: add Tegra driver
ARM: tegra: beaver: activate sdmmc1 voltage rail
ARM: tegra: beaver: adjust pinmux to make sdmmc1 work
mci: tegra: apply pad autocalibration on T30
mci: tegra: don't set 8bit mode unconditionally
pinctrl: tegra30: parse drive groups
scripts: tegra: import cbootimage
tegra: cbootimage: remove noisy output
Makefile.lib: add rule to built Tegra BCTs
images: add Tegra20 image build rules
images: add Tegra30 image build rules
ARM: boards: colibri t20: import BCT cfgs
images: tegra: build all Toradex Colibri images
ARM: boards: beaver: import BCT cfg
images: tegra: build NVidia Beaver image
images: tegra: rename ac100 image
.gitignore | 1 +
arch/arm/Kconfig | 1 +
arch/arm/boards/nvidia-beaver/Makefile | 3 +
.../boards/nvidia-beaver/beaver-2gb-emmc.bct.cfg | 819 +++++++++++++++
arch/arm/boards/nvidia-beaver/board.c | 38 +
arch/arm/boards/toradex-colibri-t20/Makefile | 4 +
.../colibri-t20_256_hsmmc.bct.cfg | 451 ++++++++
.../colibri-t20_256_v11_nand.bct.cfg | 459 ++++++++
.../colibri-t20_256_v12_nand.bct.cfg | 459 ++++++++
.../colibri-t20_512_hsmmc.bct.cfg | 451 ++++++++
.../colibri-t20_512_v11_nand.bct.cfg | 459 ++++++++
.../colibri-t20_512_v12_nand.bct.cfg | 459 ++++++++
arch/arm/boards/toradex-colibri-t20/entry.c | 42 +-
arch/arm/dts/tegra30-beaver.dts | 10 +
arch/arm/mach-tegra/include/mach/lowlevel.h | 6 +
arch/arm/mach-tegra/include/mach/tegra30-car.h | 2 +
drivers/Kconfig | 1 +
drivers/Makefile | 1 +
drivers/clk/tegra/clk-periph.c | 46 +-
drivers/clk/tegra/clk-tegra20.c | 16 +
drivers/clk/tegra/clk-tegra30.c | 19 +
drivers/clk/tegra/clk.c | 145 ++-
drivers/clk/tegra/clk.h | 18 +
drivers/i2c/busses/Kconfig | 4 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-tegra.c | 708 +++++++++++++
drivers/mci/tegra-sdmmc.c | 37 +-
drivers/pinctrl/pinctrl-tegra30.c | 159 ++-
drivers/reset/Kconfig | 13 +
drivers/reset/Makefile | 1 +
drivers/reset/core.c | 236 +++++
images/.gitignore | 4 +
images/Makefile | 3 +-
images/Makefile.tegra | 70 +-
include/linux/reset-controller.h | 50 +
include/linux/reset.h | 67 ++
scripts/Makefile | 1 +
scripts/Makefile.lib | 6 +
scripts/tegra/Makefile | 22 +
scripts/tegra/aes_ref.c | 326 ++++++
scripts/tegra/bct_dump.c | 296 ++++++
scripts/tegra/cbootimage.c | 242 +++++
scripts/tegra/cbootimage.h | 108 ++
scripts/tegra/context.c | 42 +
scripts/tegra/context.h | 28 +
scripts/tegra/crypto.c | 299 ++++++
scripts/tegra/crypto.h | 47 +
scripts/tegra/data_layout.c | 898 ++++++++++++++++
scripts/tegra/data_layout.h | 55 +
scripts/tegra/nvaes_ref.h | 35 +
scripts/tegra/parse.c | 803 ++++++++++++++
scripts/tegra/parse.h | 923 ++++++++++++++++
scripts/tegra/set.c | 206 ++++
scripts/tegra/set.h | 49 +
scripts/tegra/t114/nvbctlib_t114.c | 1103 +++++++++++++++++++
scripts/tegra/t114/nvboot_bct_t114.h | 363 +++++++
scripts/tegra/t114/nvboot_sdram_param_t114.h | 806 ++++++++++++++
scripts/tegra/t114/parse_t114.c | 430 ++++++++
scripts/tegra/t124/nvbctlib_t124.c | 1104 ++++++++++++++++++++
scripts/tegra/t124/nvboot_bct_t124.h | 359 +++++++
scripts/tegra/t124/nvboot_sdram_param_t124.h | 803 ++++++++++++++
scripts/tegra/t124/parse_t124.c | 429 ++++++++
scripts/tegra/t20/nvbctlib_t20.c | 684 ++++++++++++
scripts/tegra/t20/nvboot_bct_t20.h | 316 ++++++
scripts/tegra/t20/nvboot_sdram_param_t20.h | 363 +++++++
scripts/tegra/t20/parse_t20.c | 251 +++++
scripts/tegra/t30/nvbctlib_t30.c | 891 ++++++++++++++++
scripts/tegra/t30/nvboot_bct_t30.h | 379 +++++++
scripts/tegra/t30/nvboot_sdram_param_t30.h | 568 ++++++++++
scripts/tegra/t30/parse_t30.c | 360 +++++++
70 files changed, 18820 insertions(+), 38 deletions(-)
create mode 100644 arch/arm/boards/nvidia-beaver/beaver-2gb-emmc.bct.cfg
create mode 100644 arch/arm/boards/nvidia-beaver/board.c
create mode 100644 arch/arm/boards/toradex-colibri-t20/colibri-t20_256_hsmmc.bct.cfg
create mode 100644 arch/arm/boards/toradex-colibri-t20/colibri-t20_256_v11_nand.bct.cfg
create mode 100644 arch/arm/boards/toradex-colibri-t20/colibri-t20_256_v12_nand.bct.cfg
create mode 100644 arch/arm/boards/toradex-colibri-t20/colibri-t20_512_hsmmc.bct.cfg
create mode 100644 arch/arm/boards/toradex-colibri-t20/colibri-t20_512_v11_nand.bct.cfg
create mode 100644 arch/arm/boards/toradex-colibri-t20/colibri-t20_512_v12_nand.bct.cfg
create mode 100644 drivers/i2c/busses/i2c-tegra.c
create mode 100644 drivers/reset/Kconfig
create mode 100644 drivers/reset/Makefile
create mode 100644 drivers/reset/core.c
create mode 100644 include/linux/reset-controller.h
create mode 100644 include/linux/reset.h
create mode 100644 scripts/tegra/Makefile
create mode 100644 scripts/tegra/aes_ref.c
create mode 100644 scripts/tegra/bct_dump.c
create mode 100644 scripts/tegra/cbootimage.c
create mode 100644 scripts/tegra/cbootimage.h
create mode 100644 scripts/tegra/context.c
create mode 100644 scripts/tegra/context.h
create mode 100644 scripts/tegra/crypto.c
create mode 100644 scripts/tegra/crypto.h
create mode 100644 scripts/tegra/data_layout.c
create mode 100644 scripts/tegra/data_layout.h
create mode 100644 scripts/tegra/nvaes_ref.h
create mode 100644 scripts/tegra/parse.c
create mode 100644 scripts/tegra/parse.h
create mode 100644 scripts/tegra/set.c
create mode 100644 scripts/tegra/set.h
create mode 100644 scripts/tegra/t114/nvbctlib_t114.c
create mode 100644 scripts/tegra/t114/nvboot_bct_t114.h
create mode 100644 scripts/tegra/t114/nvboot_sdram_param_t114.h
create mode 100644 scripts/tegra/t114/parse_t114.c
create mode 100644 scripts/tegra/t124/nvbctlib_t124.c
create mode 100644 scripts/tegra/t124/nvboot_bct_t124.h
create mode 100644 scripts/tegra/t124/nvboot_sdram_param_t124.h
create mode 100644 scripts/tegra/t124/parse_t124.c
create mode 100644 scripts/tegra/t20/nvbctlib_t20.c
create mode 100644 scripts/tegra/t20/nvboot_bct_t20.h
create mode 100644 scripts/tegra/t20/nvboot_sdram_param_t20.h
create mode 100644 scripts/tegra/t20/parse_t20.c
create mode 100644 scripts/tegra/t30/nvbctlib_t30.c
create mode 100644 scripts/tegra/t30/nvboot_bct_t30.h
create mode 100644 scripts/tegra/t30/nvboot_sdram_param_t30.h
create mode 100644 scripts/tegra/t30/parse_t30.c
--
1.9.0
More information about the barebox
mailing list