All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 08/45] spl: misc: Allow misc drivers in SPL and TPL
Date: Mon,  1 Oct 2018 12:22:12 -0600	[thread overview]
Message-ID: <20181001182249.129565-9-sjg@chromium.org> (raw)
In-Reply-To: <20181001182249.129565-1-sjg@chromium.org>

In some cases it is necessary to read the keyboard in early phases of
U-Boot. The cros_ec keyboard is kept in the misc directory. Update the
config to allow this.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 drivers/misc/Kconfig  | 72 +++++++++++++++++++++++++++++++++++++++++++
 drivers/misc/Makefile |  9 +++---
 2 files changed, 77 insertions(+), 4 deletions(-)

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index b0fb73f6926..08ac16e0389 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -13,6 +13,24 @@ config MISC
 	  set of generic read, write and ioctl methods may be used to
 	  access the device.
 
+config SPL_MISC
+	bool "Enable Driver Model for Misc drivers in SPL"
+	depends on SPL_DM
+	help
+	  Enable driver model for miscellaneous devices. This class is
+	  used only for those do not fit other more general classes. A
+	  set of generic read, write and ioctl methods may be used to
+	  access the device.
+
+config TPL_MISC
+	bool "Enable Driver Model for Misc drivers in TPL"
+	depends on TPL_DM
+	help
+	  Enable driver model for miscellaneous devices. This class is
+	  used only for those do not fit other more general classes. A
+	  set of generic read, write and ioctl methods may be used to
+	  access the device.
+
 config ALTERA_SYSID
 	bool "Altera Sysid support"
 	depends on MISC
@@ -60,6 +78,24 @@ config CROS_EC
 	  control access to the battery and main PMIC depending on the
 	  device. You can use the 'crosec' command to access it.
 
+config SPL_CROS_EC
+	bool "Enable Chrome OS EC in SPL"
+	help
+	  Enable access to the Chrome OS EC in SPL. This is a separate
+	  microcontroller typically available on a SPI bus on Chromebooks. It
+	  provides access to the keyboard, some internal storage and may
+	  control access to the battery and main PMIC depending on the
+	  device. You can use the 'crosec' command to access it.
+
+config TPL_CROS_EC
+	bool "Enable Chrome OS EC in TPL"
+	help
+	  Enable access to the Chrome OS EC in TPL. This is a separate
+	  microcontroller typically available on a SPI bus on Chromebooks. It
+	  provides access to the keyboard, some internal storage and may
+	  control access to the battery and main PMIC depending on the
+	  device. You can use the 'crosec' command to access it.
+
 config CROS_EC_I2C
 	bool "Enable Chrome OS EC I2C driver"
 	depends on CROS_EC
@@ -78,6 +114,24 @@ config CROS_EC_LPC
 	  through a legacy port interface, so on x86 machines the main
 	  function of the EC is power and thermal management.
 
+config SPL_CROS_EC_LPC
+	bool "Enable Chrome OS EC LPC driver in SPL"
+	depends on CROS_EC
+	help
+	  Enable I2C access to the Chrome OS EC. This is used on x86
+	  Chromebooks such as link and falco. The keyboard is provided
+	  through a legacy port interface, so on x86 machines the main
+	  function of the EC is power and thermal management.
+
+config TPL_CROS_EC_LPC
+	bool "Enable Chrome OS EC LPC driver in TPL"
+	depends on CROS_EC
+	help
+	  Enable I2C access to the Chrome OS EC. This is used on x86
+	  Chromebooks such as link and falco. The keyboard is provided
+	  through a legacy port interface, so on x86 machines the main
+	  function of the EC is power and thermal management.
+
 config CROS_EC_SANDBOX
 	bool "Enable Chrome OS EC sandbox driver"
 	depends on CROS_EC && SANDBOX
@@ -87,6 +141,24 @@ config CROS_EC_SANDBOX
 	  EC flash read/write/erase support and a few other things. It is
 	  enough to perform a Chrome OS verified boot on sandbox.
 
+config SPL_CROS_EC_SANDBOX
+	bool "Enable Chrome OS EC sandbox driver in SPL"
+	depends on SPL_CROS_EC && SANDBOX
+	help
+	  Enable a sandbox emulation of the Chrome OS EC in SPL. This supports
+	  keyboard (use the -l flag to enable the LCD), verified boot context,
+	  EC flash read/write/erase support and a few other things. It is
+	  enough to perform a Chrome OS verified boot on sandbox.
+
+config TPL_CROS_EC_SANDBOX
+	bool "Enable Chrome OS EC sandbox driver in TPL"
+	depends on TPL_CROS_EC && SANDBOX
+	help
+	  Enable a sandbox emulation of the Chrome OS EC in TPL. This supports
+	  keyboard (use the -l flag to enable the LCD), verified boot context,
+	  EC flash read/write/erase support and a few other things. It is
+	  enough to perform a Chrome OS verified boot on sandbox.
+
 config CROS_EC_SPI
 	bool "Enable Chrome OS EC SPI driver"
 	depends on CROS_EC
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index acf24c44fa9..9b92e61bfa8 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -3,17 +3,18 @@
 # (C) Copyright 2000-2007
 # Wolfgang Denk, DENX Software Engineering, wd at denx.de.
 
-obj-$(CONFIG_MISC) += misc-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)CROS_EC) += cros_ec.o
+obj-$(CONFIG_$(SPL_TPL_)CROS_EC_SANDBOX) += cros_ec_sandbox.o
+obj-$(CONFIG_$(SPL_TPL_)CROS_EC_LPC) += cros_ec_lpc.o
+
+obj-$(CONFIG_$(SPL_TPL_)MISC) += misc-uclass.o
 obj-$(CONFIG_ALI152X) += ali512x.o
 obj-$(CONFIG_ALTERA_SYSID) += altera_sysid.o
 obj-$(CONFIG_ATSHA204A) += atsha204a-i2c.o
 obj-$(CONFIG_DS4510)  += ds4510.o
 obj-$(CONFIG_CBMEM_CONSOLE) += cbmem_console.o
 ifndef CONFIG_SPL_BUILD
-obj-$(CONFIG_CROS_EC) += cros_ec.o
-obj-$(CONFIG_CROS_EC_LPC) += cros_ec_lpc.o
 obj-$(CONFIG_CROS_EC_I2C) += cros_ec_i2c.o
-obj-$(CONFIG_CROS_EC_SANDBOX) += cros_ec_sandbox.o
 obj-$(CONFIG_CROS_EC_SPI) += cros_ec_spi.o
 endif
 obj-$(CONFIG_FSL_IIM) += fsl_iim.o
-- 
2.19.0.605.g01d371f741-goog

  parent reply	other threads:[~2018-10-01 18:22 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-01 18:22 [U-Boot] [PATCH 00/45] Various fixes and improvements Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 01/45] dm: core: Alloc uclass-private data to be cache-aligned Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 02/45] dm: core: Update some functions to use const Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 03/45] dm: core: Add a function to find the first inactive child Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 04/45] dm: core: Update ofnode to read binman-style flash entry Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 05/45] sf: Avoid allocating memory on every read operation Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 06/45] spl: input: Allow input in SPL and TPL Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 07/45] Makefile: Add a warning if SPL/TPL cannot be built Simon Glass
2018-10-01 18:22 ` Simon Glass [this message]
2018-10-01 18:22 ` [U-Boot] [PATCH 09/45] blk: Support block drivers in TPL Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 10/45] Kconfig: Convert CONFIG_RTC_MC146818 to Kconfig Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 11/45] rtc: Allow use of RTC in SPL and TPL Simon Glass
2018-10-11 19:21   ` [U-Boot] [U-Boot,11/45] " Heinrich Schuchardt
2018-10-11 19:56     ` Heinrich Schuchardt
2018-10-13  2:46       ` Bin Meng
2018-10-19  3:25         ` Simon Glass
2018-10-19  4:20           ` Bin Meng
2018-10-01 18:22 ` [U-Boot] [PATCH 12/45] fdt: Document the fact that dtc is now built Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 13/45] doc: Update docs for device tree in SPL, TPL Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 14/45] fdt: Allow indicating a node is for U-Boot proper only Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 15/45] tpm: Add support for SPL and TPL Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 16/45] serial: Allow serial to be absent in TPL Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 17/45] fdt: Allow libfdt " Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 18/45] cros: Update cros_ec code to use struct udevice Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 19/45] cros: Adjust board_get_cros_ec_dev() to return a udevice Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 20/45] dm: spi: Add logging of some return values Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 21/45] fdt: Remove fdtdec_decode_region() function Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 22/45] video: Adjust video_clear() to return an error Simon Glass
2018-10-01 19:23   ` Anatolij Gustschin
2018-10-09 23:55   ` sjg at google.com
2018-10-01 18:22 ` [U-Boot] [PATCH 23/45] tpm: Use livetree and allow children Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 24/45] tpm: Tidy up logging in tpm-common.c Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 25/45] tpm: Add a few new commands for v1 Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 26/45] binman: Move to three-digit test-file numbers Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 27/45] binman: Add a test for Intel reference code Simon Glass
2018-10-22 20:54   ` [U-Boot] [U-Boot, " Tom Rini
2018-10-01 18:22 ` [U-Boot] [PATCH 28/45] log: Add comments to the rest of the log categories Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 29/45] malloc_simple: Add logging of allocations Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 30/45] Add a header file for strings Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 31/45] Rename GPT_HEADER_SIGNATURE to avoid conflict Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 32/45] cros: Update ec_commands to latest version Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 33/45] x86: Update mtrr functions to allow leaving cache alone Simon Glass
2018-10-02 13:41   ` Bin Meng
2018-10-09 23:54   ` sjg at google.com
2018-10-01 18:22 ` [U-Boot] [PATCH 34/45] cros_ec: Update cros_ec_read_hash() to specify the image Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 35/45] cros_ec: Add support for v3 messages on LPC Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 36/45] test: panel: Add a test for the panel uclass Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 37/45] panel: Expand the backlight support Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 38/45] ctags: Minor changes to fix ctags output Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 39/45] fdt: Allow C++ comments in link scripts and DT files Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 40/45] pci: Add a little more debugging to pci_rom Simon Glass
2018-10-02 13:37   ` Bin Meng
2018-10-09 23:54   ` sjg at google.com
2018-10-01 18:22 ` [U-Boot] [PATCH 41/45] sysreset: Tidy up a few comments and logging Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 42/45] sysreset: Add a way to find the last reset Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 43/45] video: at91: Adjust vidconsole_position_cursor() to use char pos Simon Glass
2018-10-01 20:22   ` Anatolij Gustschin
2018-10-02  7:37     ` Eugen Hristev
2018-10-09  3:40       ` Simon Glass
2018-10-09 10:44         ` Eugen.Hristev at microchip.com
2018-10-09 23:54         ` sjg at google.com
2018-10-09  3:41     ` Simon Glass
2018-10-01 18:22 ` [U-Boot] [PATCH 44/45] video: Tidy up a few comments in video.o Simon Glass
2018-10-01 19:25   ` Anatolij Gustschin
2018-10-09 23:54   ` sjg at google.com
2018-10-01 18:22 ` [U-Boot] [PATCH 45/45] dtoc: Fix the value of SetInt() Simon Glass
2018-10-09 23:54 ` sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 42/45] sysreset: Add a way to find the last reset sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 41/45] sysreset: Tidy up a few comments and logging sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 38/45] ctags: Minor changes to fix ctags output sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 39/45] fdt: Allow C++ comments in link scripts and DT files sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 37/45] panel: Expand the backlight support sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 36/45] test: panel: Add a test for the panel uclass sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 35/45] cros_ec: Add support for v3 messages on LPC sjg at google.com
2018-10-09 23:54 ` [U-Boot] [PATCH 34/45] cros_ec: Update cros_ec_read_hash() to specify the image sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 32/45] cros: Update ec_commands to latest version sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 31/45] Rename GPT_HEADER_SIGNATURE to avoid conflict sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 30/45] Add a header file for strings sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 29/45] malloc_simple: Add logging of allocations sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 28/45] log: Add comments to the rest of the log categories sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 27/45] binman: Add a test for Intel reference code sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 26/45] binman: Move to three-digit test-file numbers sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 25/45] tpm: Add a few new commands for v1 sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 24/45] tpm: Tidy up logging in tpm-common.c sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 23/45] tpm: Use livetree and allow children sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 21/45] fdt: Remove fdtdec_decode_region() function sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 20/45] dm: spi: Add logging of some return values sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 19/45] cros: Adjust board_get_cros_ec_dev() to return a udevice sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 18/45] cros: Update cros_ec code to use struct udevice sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 17/45] fdt: Allow libfdt in TPL sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 16/45] serial: Allow serial to be absent " sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 15/45] tpm: Add support for SPL and TPL sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 14/45] fdt: Allow indicating a node is for U-Boot proper only sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 13/45] doc: Update docs for device tree in SPL, TPL sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 12/45] fdt: Document the fact that dtc is now built sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 11/45] rtc: Allow use of RTC in SPL and TPL sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 10/45] Kconfig: Convert CONFIG_RTC_MC146818 to Kconfig sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 09/45] blk: Support block drivers in TPL sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 08/45] spl: misc: Allow misc drivers in SPL and TPL sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 07/45] Makefile: Add a warning if SPL/TPL cannot be built sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 06/45] spl: input: Allow input in SPL and TPL sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 05/45] sf: Avoid allocating memory on every read operation sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 04/45] dm: core: Update ofnode to read binman-style flash entry sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 03/45] dm: core: Add a function to find the first inactive child sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 02/45] dm: core: Update some functions to use const sjg at google.com
2018-10-09 23:55 ` [U-Boot] [PATCH 01/45] dm: core: Alloc uclass-private data to be cache-aligned sjg at google.com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181001182249.129565-9-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.