u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/20] tegra: warmboot (suspend / resume) support
@ 2012-01-13 21:35 Simon Glass
  2012-01-13 21:35 ` [U-Boot] [PATCH v2 01/20] fdt: Add function to locate an array in the device tree Simon Glass
                   ` (20 more replies)
  0 siblings, 21 replies; 38+ messages in thread
From: Simon Glass @ 2012-01-13 21:35 UTC (permalink / raw)
  To: u-boot

This series adds support for warm boot, allowing the device to suspend
and resume. U-Boot sets up some 'warm boot' code in a special area such
that the SOC can find it on a resume. This code is responsible for
setting up memory and clocked and then allowing the OS to continue
where it left off.

Also included here is support for the EMC, which allows  setting the memory
timings correctly in U-Boot for maximum speed operation.

Note: sign-offs are needed from Jimmy Zhang, Wei Ni and Yen Lin.

Changes in v2:
- Add check of undocumented values in hidrev register
- Add debug() output to EMC
- Add new fdtdec_locate_array() function
- Add patch to find DVC bus number
- Check error return from pmu_set_nominal() in debug mode
- Move EMC tables to device tree
- Move structs shared between A9 and AVP into warmboot.h header file
- New patch to add low-level clock functions
- Rely on compiler to optimise out debug_print_vector()
- Remove unused crypto code
- Remove unused crypto code from crypto.c
- Removed check for nominal voltage (not needed as it is done just before)
- Split PMU code into separate TPS6586X driver
- Tidy SDRAM range check in warmboot_prepare_code()
- Tidy whitespace problems
- Use const for sbox arrays
- Use low-level clock functions in warmboot code instead of register access

Jimmy Zhang (3):
  tegra: Add EMC support for optimal memory timings
  tegra: Add PMU to manage power supplies
  tegra: Add EMC settings for Seaboard

Simon Glass (11):
  fdt: Add function to locate an array in the device tree
  i2c: Add TPS6586X driver
  tegra: Move ap20.h header into arch location
  tegra: Add functions to access low-level Osc/PLL details
  tegra: Add tegra_get_chip_type() to detect SKU
  tegra: Set up PMU for Nvidia boards
  tegra: Set up warmboot code on Nvidia boards
  fdt: tegra: Add EMC node to device tree
  tegra: i2c: Add function to find DVC bus
  tegra: fdt: Add EMC data for Tegra2 Seaboard
  tegra: Enable LP0 on Seaboard

Wei Ni (1):
  Tegra2: Turn off power detect in board init

Yen Lin (5):
  Add AES crypto library
  tegra: Add crypto library for warmboot code
  tegra: Add flow, gp_padctl, fuse, sdram headers
  tegra: Add warmboot implementation
  tegra: Setup PMC scratch info from ap20 setup

 arch/arm/cpu/armv7/tegra2/Makefile                 |    4 +
 arch/arm/cpu/armv7/tegra2/ap20.c                   |   44 ++-
 arch/arm/cpu/armv7/tegra2/board.c                  |    4 +-
 arch/arm/cpu/armv7/tegra2/clock.c                  |   32 +
 arch/arm/cpu/armv7/tegra2/crypto.c                 |  230 ++++++++
 arch/arm/cpu/armv7/tegra2/crypto.h                 |   36 ++
 arch/arm/cpu/armv7/tegra2/emc.c                    |  192 +++++++
 arch/arm/cpu/armv7/tegra2/pmu.c                    |   70 +++
 arch/arm/cpu/armv7/tegra2/warmboot.c               |  382 +++++++++++++
 arch/arm/cpu/armv7/tegra2/warmboot_avp.c           |  250 ++++++++
 arch/arm/cpu/armv7/tegra2/warmboot_avp.h           |   81 +++
 arch/arm/dts/tegra20.dtsi                          |    7 +
 .../tegra2 => include/asm/arch-tegra2}/ap20.h      |    7 +
 arch/arm/include/asm/arch-tegra2/clk_rst.h         |    3 +
 arch/arm/include/asm/arch-tegra2/clock.h           |   22 +
 arch/arm/include/asm/arch-tegra2/emc.h             |  112 ++++
 arch/arm/include/asm/arch-tegra2/flow.h            |   36 ++
 arch/arm/include/asm/arch-tegra2/fuse.h            |   39 ++
 arch/arm/include/asm/arch-tegra2/gp_padctrl.h      |   73 +++
 arch/arm/include/asm/arch-tegra2/pmu.h             |   30 +
 arch/arm/include/asm/arch-tegra2/sdram_param.h     |  148 +++++
 arch/arm/include/asm/arch-tegra2/tegra2.h          |   25 +
 arch/arm/include/asm/arch-tegra2/tegra2_i2c.h      |    7 +
 arch/arm/include/asm/arch-tegra2/warmboot.h        |  150 +++++
 board/nvidia/common/Makefile                       |    1 +
 board/nvidia/common/board.c                        |   38 ++-
 board/nvidia/common/emc.c                          |   53 ++
 board/nvidia/common/emc.h                          |   29 +
 board/nvidia/dts/tegra2-seaboard.dts               |   73 +++
 drivers/i2c/tegra2_i2c.c                           |   14 +
 drivers/power/Makefile                             |    1 +
 drivers/power/tps6586x.c                           |  293 ++++++++++
 include/aes.h                                      |   70 +++
 include/configs/seaboard.h                         |    8 +
 include/configs/tegra2-common.h                    |   17 +
 include/fdtdec.h                                   |   21 +
 include/tps6586x.h                                 |   68 +++
 lib/Makefile                                       |    1 +
 lib/aes.c                                          |  598 ++++++++++++++++++++
 lib/fdtdec.c                                       |   13 +
 40 files changed, 3278 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/cpu/armv7/tegra2/crypto.c
 create mode 100644 arch/arm/cpu/armv7/tegra2/crypto.h
 create mode 100644 arch/arm/cpu/armv7/tegra2/emc.c
 create mode 100644 arch/arm/cpu/armv7/tegra2/pmu.c
 create mode 100644 arch/arm/cpu/armv7/tegra2/warmboot.c
 create mode 100644 arch/arm/cpu/armv7/tegra2/warmboot_avp.c
 create mode 100644 arch/arm/cpu/armv7/tegra2/warmboot_avp.h
 rename arch/arm/{cpu/armv7/tegra2 => include/asm/arch-tegra2}/ap20.h (96%)
 create mode 100644 arch/arm/include/asm/arch-tegra2/emc.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/flow.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/fuse.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/gp_padctrl.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/pmu.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/sdram_param.h
 create mode 100644 arch/arm/include/asm/arch-tegra2/warmboot.h
 create mode 100644 board/nvidia/common/emc.c
 create mode 100644 board/nvidia/common/emc.h
 create mode 100644 drivers/power/tps6586x.c
 create mode 100644 include/aes.h
 create mode 100644 include/tps6586x.h
 create mode 100644 lib/aes.c

-- 
1.7.7.3

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2012-04-13 13:31 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-13 21:35 [U-Boot] [PATCH v2 0/20] tegra: warmboot (suspend / resume) support Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 01/20] fdt: Add function to locate an array in the device tree Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 02/20] i2c: Add TPS6586X driver Simon Glass
2012-01-15  7:30   ` Heiko Schocher
2012-03-30 19:21     ` Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 03/20] Add AES crypto library Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 04/20] tegra: Move ap20.h header into arch location Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 05/20] tegra: Add functions to access low-level Osc/PLL details Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 06/20] tegra: Add crypto library for warmboot code Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 07/20] tegra: Add flow, gp_padctl, fuse, sdram headers Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 08/20] tegra: Add tegra_get_chip_type() to detect SKU Simon Glass
2012-01-19 21:43   ` Stephen Warren
2012-01-13 21:35 ` [U-Boot] [PATCH v2 09/20] tegra: Add EMC support for optimal memory timings Simon Glass
2012-01-19 21:58   ` Stephen Warren
2012-01-19 23:59     ` Simon Glass
2012-01-20  0:10       ` Stephen Warren
2012-04-13 13:31         ` Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 10/20] tegra: Add PMU to manage power supplies Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 11/20] tegra: Set up PMU for Nvidia boards Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 12/20] tegra: Add warmboot implementation Simon Glass
2012-01-19 22:09   ` Stephen Warren
2012-01-13 21:35 ` [U-Boot] [PATCH v2 13/20] tegra: Setup PMC scratch info from ap20 setup Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 14/20] tegra: Set up warmboot code on Nvidia boards Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 15/20] Tegra2: Turn off power detect in board init Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 16/20] tegra: Add EMC settings for Seaboard Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 17/20] fdt: tegra: Add EMC node to device tree Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 18/20] tegra: i2c: Add function to find DVC bus Simon Glass
2012-01-15  7:28   ` Heiko Schocher
2012-02-03 23:29     ` Simon Glass
2012-02-06  7:11       ` Heiko Schocher
2012-01-13 21:35 ` [U-Boot] [PATCH v2 19/20] tegra: fdt: Add EMC data for Tegra2 Seaboard Simon Glass
2012-01-13 21:51   ` Simon Glass
2012-01-13 21:35 ` [U-Boot] [PATCH v2 20/20] tegra: Enable LP0 on Seaboard Simon Glass
2012-01-15  4:11   ` Mike Frysinger
2012-01-19 22:15   ` Stephen Warren
2012-01-15  4:06 ` [U-Boot] [PATCH v2 0/20] tegra: warmboot (suspend / resume) support Mike Frysinger
2012-03-30 19:24   ` Simon Glass
2012-03-30 21:00     ` Tom Warren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).