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

Simon Glass
2016-01-13T23:24:50Z

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.

Simon Glass (50):
dm: clk: Add support for decoding clocks from the device tree
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 | 46 ++++
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 | 37 +--
drivers/misc/Kconfig | 18 ++
drivers/misc/Makefile | 3 +
drivers/misc/pwrseq-uclass.c | 24 ++
drivers/mmc/rockchip_dw_mmc.c | 57 +++-
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 | 83 +++---
include/clk.h | 15 +
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 ++
49 files changed, 1731 insertions(+), 206 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.6.0.rc2.230.g3dd15c0