* [PATCH v4 01/10] fdt: Add fdtdec functions to read byte array [not found] <1334689297-13489-1-git-send-email-sjg@chromium.org> @ 2012-04-17 19:01 ` Simon Glass 2012-04-17 19:01 ` [PATCH v4 06/10] tegra: fdt: Add keyboard controller definition Simon Glass [not found] ` <1334689297-13489-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> 2 siblings, 0 replies; 5+ messages in thread From: Simon Glass @ 2012-04-17 19:01 UTC (permalink / raw) To: U-Boot Mailing List Cc: Anton Staff, Devicetree Discuss, Jerry Van Baren, Tom Warren From: Anton Staff <robotboy@chromium.org> Sometimes we don't need a full cell for each value. This provides a simple function to read a byte array, both with and without copying it. Signed-off-by: Simon Glass <sjg@chromium.org> --- Changes in v2: - Use correct name for get_prop_check_min_len() function include/fdtdec.h | 32 ++++++++++++++++++++++++++++++++ lib/fdtdec.c | 24 ++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 0 deletions(-) diff --git a/include/fdtdec.h b/include/fdtdec.h index 7bae2f8..5140f4a 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -350,3 +350,35 @@ int fdtdec_decode_gpio(const void *blob, int node, const char *prop_name, * @return 0 if all ok or gpio was FDT_GPIO_NONE; -1 on error */ int fdtdec_setup_gpio(struct fdt_gpio_state *gpio); + +/* + * Look up a property in a node and return its contents in a byte + * array of given length. The property must have at least enough data for + * the array (count bytes). It may have more, but this will be ignored. + * + * @param blob FDT blob + * @param node node to examine + * @param prop_name name of property to find + * @param array array to fill with data + * @param count number of array elements + * @return 0 if ok, or -FDT_ERR_MISSING if the property is not found, + * or -FDT_ERR_BADLAYOUT if not enough data + */ +int fdtdec_get_byte_array(const void *blob, int node, const char *prop_name, + u8 *array, int count); + +/** + * Look up a property in a node and return a pointer to its contents as a + * byte array of given length. The property must have at least enough data + * for the array (count bytes). It may have more, but this will be ignored. + * The data is not copied. + * + * @param blob FDT blob + * @param node node to examine + * @param prop_name name of property to find + * @param count number of array elements + * @return pointer to byte array if found, or NULL if the property is not + * found or there is not enough data + */ +const u8 *fdtdec_locate_byte_array(const void *blob, int node, + const char *prop_name, int count); diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 2eb5b41..585dd6d 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -487,3 +487,27 @@ int fdtdec_setup_gpio(struct fdt_gpio_state *gpio) return -1; return 0; } + +int fdtdec_get_byte_array(const void *blob, int node, const char *prop_name, + u8 *array, int count) +{ + const u8 *cell; + int err; + + cell = get_prop_check_min_len(blob, node, prop_name, count, &err); + if (!err) + memcpy(array, cell, count); + return err; +} + +const u8 *fdtdec_locate_byte_array(const void *blob, int node, + const char *prop_name, int count) +{ + const u8 *cell; + int err; + + cell = get_prop_check_min_len(blob, node, prop_name, count, &err); + if (err) + return NULL; + return cell; +} -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v4 06/10] tegra: fdt: Add keyboard controller definition [not found] <1334689297-13489-1-git-send-email-sjg@chromium.org> 2012-04-17 19:01 ` [PATCH v4 01/10] fdt: Add fdtdec functions to read byte array Simon Glass @ 2012-04-17 19:01 ` Simon Glass 2012-04-23 20:57 ` Stephen Warren [not found] ` <1334689297-13489-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> 2 siblings, 1 reply; 5+ messages in thread From: Simon Glass @ 2012-04-17 19:01 UTC (permalink / raw) To: U-Boot Mailing List Cc: Anton Staff, Jerry Van Baren, Tom Warren, Devicetree Discuss From: Anton Staff <robotboy@chromium.org> The Tegra keyboard controller provides a simple interface to a matrix keyboard. Signed-off-by: Simon Glass <sjg@chromium.org> --- arch/arm/dts/tegra20.dtsi | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/arm/dts/tegra20.dtsi b/arch/arm/dts/tegra20.dtsi index 018a3c8..5d214f2 100644 --- a/arch/arm/dts/tegra20.dtsi +++ b/arch/arm/dts/tegra20.dtsi @@ -206,4 +206,9 @@ compatible = "nvidia,tegra20-nand"; reg = <0x70008000 0x100>; }; + + kbc@7000e200 { + compatible = "nvidia,tegra20-kbc"; + reg = <0x7000e200 0x0078>; + }; }; -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4 06/10] tegra: fdt: Add keyboard controller definition 2012-04-17 19:01 ` [PATCH v4 06/10] tegra: fdt: Add keyboard controller definition Simon Glass @ 2012-04-23 20:57 ` Stephen Warren 0 siblings, 0 replies; 5+ messages in thread From: Stephen Warren @ 2012-04-23 20:57 UTC (permalink / raw) To: Simon Glass Cc: Anton Staff, Devicetree Discuss, U-Boot Mailing List, Jerry Van Baren, Tom Warren On 04/17/2012 01:01 PM, Simon Glass wrote: > From: Anton Staff <robotboy@chromium.org> > > The Tegra keyboard controller provides a simple interface to a matrix > keyboard. > > Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@wwwdotorg.org> ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <1334689297-13489-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>]
* [PATCH v4 07/10] tegra: fdt: Add keyboard definitions for Seaboard [not found] ` <1334689297-13489-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> @ 2012-04-17 19:01 ` Simon Glass 2012-04-23 20:59 ` Stephen Warren 0 siblings, 1 reply; 5+ messages in thread From: Simon Glass @ 2012-04-17 19:01 UTC (permalink / raw) To: U-Boot Mailing List Cc: Anton Staff, Jerry Van Baren, Tom Warren, Devicetree Discuss From: Anton Staff <robotboy-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Seaboard uses a QUERTY keyboard. We add key codes for this to enable key scanning to work. Signed-off-by: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> --- Changes in v2: - Remove status = "okay" since this is the default anyway Changes in v3: - Move to new Linux device tree mapping for Tegra keyboard board/nvidia/dts/tegra2-seaboard.dts | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/board/nvidia/dts/tegra2-seaboard.dts b/board/nvidia/dts/tegra2-seaboard.dts index 72a5f5d..db72ef2 100644 --- a/board/nvidia/dts/tegra2-seaboard.dts +++ b/board/nvidia/dts/tegra2-seaboard.dts @@ -142,4 +142,31 @@ nvidia,page-spare-bytes = <64>; }; }; + + kbc@7000e200 { + linux,keymap = <0x00020011 0x0003001f 0x0004001e 0x0005002c + 0x000701d0 0x0107007d 0x02060064 0x02070038 0x03000006 + 0x03010005 0x03020013 0x03030012 0x03040021 0x03050020 + 0x0306002d 0x04000008 0x04010007 0x04020014 0x04030023 + 0x04040022 0x0405002f 0x0406002e 0x04070039 0x0500000a + 0x05010009 0x05020016 0x05030015 0x05040024 0x05050031 + 0x05060030 0x0507002b 0x0600000c 0x0601000b 0x06020018 + 0x06030017 0x06040026 0x06050025 0x06060033 0x06070032 + 0x0701000d 0x0702001b 0x0703001c 0x0707008b 0x08040036 + 0x0805002a 0x09050061 0x0907001d 0x0b00001a 0x0b010019 + 0x0b020028 0x0b030027 0x0b040035 0x0b050034 0x0c000044 + 0x0c010043 0x0c02000e 0x0c030004 0x0c040003 0x0c050067 + 0x0c0600d2 0x0c070077 0x0d00006e 0x0d01006f 0x0d030068 + 0x0d04006d 0x0d05006a 0x0d06006c 0x0d070069 0x0e000057 + 0x0e010058 0x0e020042 0x0e030010 0x0e04003e 0x0e05003d + 0x0e060002 0x0e070041 0x0f000001 0x0f010029 0x0f02003f + 0x0f03000f 0x0f04003b 0x0f05003c 0x0f06003a 0x0f070040 + 0x14000047 0x15000049 0x15010048 0x1502004b 0x1504004f + 0x16010062 0x1602004d 0x1603004c 0x16040051 0x16050050 + 0x16070052 0x1b010037 0x1b03004a 0x1b04004e 0x1b050053 + 0x1c050073 0x1d030066 0x1d04006b 0x1d0500e0 0x1d060072 + 0x1d0700e1 0x1e000045 0x1e010046 0x1e020071 + 0x1f04008a>; + linux,fn-keymap = <0x05040002>; + }; }; -- 1.7.7.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4 07/10] tegra: fdt: Add keyboard definitions for Seaboard 2012-04-17 19:01 ` [PATCH v4 07/10] tegra: fdt: Add keyboard definitions for Seaboard Simon Glass @ 2012-04-23 20:59 ` Stephen Warren 0 siblings, 0 replies; 5+ messages in thread From: Stephen Warren @ 2012-04-23 20:59 UTC (permalink / raw) To: Simon Glass Cc: Anton Staff, Devicetree Discuss, U-Boot Mailing List, Jerry Van Baren, Tom Warren On 04/17/2012 01:01 PM, Simon Glass wrote: > From: Anton Staff <robotboy@chromium.org> > > Seaboard uses a QUERTY keyboard. We add key codes for this to Q*W*ERTY? Do you want to add the nvidia,ghost-filter property so that ghost filtering is enabled? See the Tegra KBC binding documentation in the kernel (which I don't see included in these patches for reference) Documentation/devicetree/bindings/input/tegra-kbc.txt. Otherwise, Acked-by: Stephen Warren <swarren@wwwdotorg.org> (note: I didn't actually validate any of the content of the keymap) ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-04-23 20:59 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1334689297-13489-1-git-send-email-sjg@chromium.org> 2012-04-17 19:01 ` [PATCH v4 01/10] fdt: Add fdtdec functions to read byte array Simon Glass 2012-04-17 19:01 ` [PATCH v4 06/10] tegra: fdt: Add keyboard controller definition Simon Glass 2012-04-23 20:57 ` Stephen Warren [not found] ` <1334689297-13489-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> 2012-04-17 19:01 ` [PATCH v4 07/10] tegra: fdt: Add keyboard definitions for Seaboard Simon Glass 2012-04-23 20:59 ` Stephen 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).