[U-Boot] [PATCH v9 00/49] rockchip: Add support for cros_ec keyboard

Simon Glass sjg at chromium.org
Fri Jan 22 03:43:24 CET 2016


This series provides a number of new features and improvements leading to
enabling the keyboard (via Chrome OS EC) on jerry. This is conneected via
SPI and uses its own message protocol.

Features and fixes are needed in the rockchip code to make this work include:
    - RK808 PMIC and regulator driver
    - Fixes and improvements to the i2c and SPI drivers
    - A full implementation of the GPIO driver
    - Additional clock support
    - Additional pinctrl support

The series moves a few rockchip boards to use the full pinctrl driver. I'm
not sure this is a great idea, as it slows down start-up noticeably. It is
currently needed for the display series (to come), but I intend to change
that.

Changes in v9:
- Rebase to upstream/master

Changes in v2:
- Update call to clk_get_by_index()
- Update call to clk_get_by_index()
- Update call to clk_get_by_index()
- Add an assert for clk_devp

Simon Glass (49):
  dm: core: Don't set pinctrl for pinctrl devices
  dm: pinctrl: Add a function to parse PIN_CONFIG flags
  dm: pmic: Add 'reg status' to show all regulators
  dts: Bring in pinctrl device tree binding
  power: Add base support for the RK808 PMIC
  power: Add support for RK808 regulators
  dm: Add a power sequencing uclass
  rockchip: Avoid using MMC code when not booting from MMC
  rockchip: Convert the PMU IOMUX registers into an array
  rockchip: mmc: Use a pwrseq device if available
  rockchip: Correct the defconfig order
  rockchip: Use pwrseq for MMC start-up on jerry
  rockchip: jerry: Disable pmic-int-1 setup to avoid a hang
  rockchip: Use a separate clock ID for clocks
  rockchip: clock: Rename the general clock variable to gclk_rate
  rockchip: clk: Add a function to get a peripheral clock rate
  rockchip: clock: Add a function to find a clock by ID
  rockchip: i2c: Update the driver to use the new clock ID
  rockchip: spi: Update the driver to use the new clock ID
  rockchip: spi: Avoid setting the pinctrl twice
  rockchip: mmc: Update the driver to use the new clock ID
  rockchip: pinctrl: Add a full pinctrl driver
  rockchip: Move firefly and jerry to use the full pinctrl
  rockchip: jerry: Enable the RK808 PMIC and regulator
  rockchip: Disable simple-bus in SPL for firefly-rk3288, jerry
  rockchip: jerry: Drop unused options
  gpio: Allow 's' as an abbreviation for 'status'
  cros_ec: Disable the Chrome OS EC in SPL
  dm: i2c: Allow muxes to be enabled for SPL separately
  spi: Correct device tree usage in spi_flash_decode_fdt()
  dm: power: Allow regulators to be omitted from SPL
  dm: pinctrl: Add a way for a GPIO driver to obtain a pin function
  dm: core: Export uclass_find_device_by_of_offset()
  dm: power: Tidy up debugging output and return values
  dm: power: Allow regulators to not implement all operations
  dm: clk: Add a simple version of clk_get_by_index()
  rockchip: sdram: Use the rk_clr/setreg() interface
  rockchip: reset: Use the rk_clr/setreg() interface
  rockchip: spi: Remember the last speed to avoid re-setting it
  rockchip: spi: Correct the bus init code
  rockchip: clk: Make rkclk_get_clk() SoC-specific
  rockchip: pinctrl: Reduce the size for SPL
  rockchip: pinctrl: Implement the get_gpio_mux() method
  rockchip: gpio: Read the GPIO value correctly
  rockchip: gpio: Implement the get_function() method
  rockchip: spi: Implement the delays
  rockchip: spi: Correct chip-enable code
  rockchip: spi: Remove the explicit pinctrl setting
  rockchip: jerry: Enable the Chrome OS EC

 arch/arm/dts/rk3288-veyron-chromebook.dtsi         |   4 +
 arch/arm/dts/rk3288-veyron.dtsi                    |  20 +-
 arch/arm/include/asm/arch-rockchip/clock.h         |  12 +
 arch/arm/include/asm/arch-rockchip/pmu_rk3288.h    |  12 +-
 arch/arm/mach-rockchip/Makefile                    |   1 -
 arch/arm/mach-rockchip/common.c                    |  28 --
 arch/arm/mach-rockchip/rk3288-board-spl.c          |   2 +
 arch/arm/mach-rockchip/rk3288/reset_rk3288.c       |   4 +-
 arch/arm/mach-rockchip/rk3288/sdram_rk3288.c       |   7 +-
 common/cmd_gpio.c                                  |   2 +-
 common/cmd_regulator.c                             |  66 ++++-
 configs/chromebook_jerry_defconfig                 |  25 +-
 configs/firefly-rk3288_defconfig                   |   7 +-
 .../pinctrl/pinctrl-bindings.txt                   | 236 ++++++++++++++++
 drivers/clk/clk-uclass.c                           |  18 +-
 drivers/clk/clk_rk3036.c                           |  33 ++-
 drivers/clk/clk_rk3288.c                           | 157 ++++++++---
 drivers/core/device.c                              |   6 +-
 drivers/core/uclass.c                              |   4 +-
 drivers/gpio/rk_gpio.c                             |  42 ++-
 drivers/i2c/Makefile                               |   4 +-
 drivers/i2c/muxes/Kconfig                          |   9 +
 drivers/i2c/muxes/Makefile                         |   2 +-
 drivers/i2c/rk_i2c.c                               |  38 +--
 drivers/misc/Kconfig                               |  18 ++
 drivers/misc/Makefile                              |   3 +
 drivers/misc/pwrseq-uclass.c                       |  24 ++
 drivers/mmc/rockchip_dw_mmc.c                      |  60 +++-
 drivers/mtd/spi/spi_flash.c                        |   9 +-
 drivers/pinctrl/pinctrl-uclass.c                   |  22 ++
 drivers/pinctrl/rockchip/pinctrl_rk3288.c          | 290 +++++++++++++++++++-
 drivers/power/pmic/Kconfig                         |  30 ++
 drivers/power/pmic/Makefile                        |   1 +
 drivers/power/pmic/pmic-uclass.c                   |  13 +-
 drivers/power/pmic/rk808.c                         | 102 +++++++
 drivers/power/regulator/Kconfig                    |  18 ++
 drivers/power/regulator/Makefile                   |   5 +-
 drivers/power/regulator/regulator-uclass.c         |   4 +-
 drivers/power/regulator/rk808.c                    | 301 +++++++++++++++++++++
 drivers/spi/rk_spi.c                               |  84 +++---
 include/configs/chromebook_jerry.h                 |   9 +
 include/configs/firefly-rk3288.h                   |   2 +
 include/configs/rk3288_common.h                    |   8 +
 include/dm/pinctrl.h                               |  45 +++
 include/dm/uclass-id.h                             |   1 +
 include/dm/uclass-internal.h                       |  16 ++
 include/power/rk808_pmic.h                         |  77 ++++++
 include/pwrseq.h                                   |  18 ++
 48 files changed, 1691 insertions(+), 208 deletions(-)
 delete mode 100644 arch/arm/mach-rockchip/common.c
 create mode 100644 doc/device-tree-bindings/pinctrl/pinctrl-bindings.txt
 create mode 100644 drivers/misc/pwrseq-uclass.c
 create mode 100644 drivers/power/pmic/rk808.c
 create mode 100644 drivers/power/regulator/rk808.c
 create mode 100644 include/power/rk808_pmic.h
 create mode 100644 include/pwrseq.h

-- 
2.7.0.rc3.207.g0ac5344



More information about the U-Boot mailing list