From: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> To: U-Boot Mailing List <u-boot-0aAXYlwwYIKGBzrmiIFOJg@public.gmane.org> Cc: Devicetree Discuss <devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>, Tom Warren <twarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>, Jerry Van Baren <vanbaren-He//nVnquyzQT0dZR+AlfA@public.gmane.org> Subject: [PATCH 01/17] fdt: Add function to look up a phandle's register address Date: Sat, 14 Jan 2012 16:47:13 -0800 [thread overview] Message-ID: <1326588449-1794-2-git-send-email-sjg@chromium.org> (raw) In-Reply-To: <1326588449-1794-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> This is a commonly-used requirement, so add a function to support it easily. Signed-off-by: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> --- include/fdtdec.h | 13 +++++++++++++ lib/fdtdec.c | 11 +++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-) diff --git a/include/fdtdec.h b/include/fdtdec.h index e705124..81ce3f6 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -239,6 +239,19 @@ const char *fdtdec_get_compatible(enum fdt_compat_id id); int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name); /** + * Look up a phandle and follow it to its node. Then return the register + * address of that node as a pointer. This can be used to access the + * peripheral directly. + * + * @param blob FDT blob + * @param node node to examine + * @param prop_name name of property to find + * @return pointer to node's register address + */ +void *fdtdec_lookup_phandle_reg(const void *blob, int node, + const char *prop_name); + +/** * Look up a property in a node and return its contents in an integer * array of given length. The property must have at least enough data for * the array (4*count bytes). It may have more, but this will be ignored. diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 48abf02..bcb2343 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -311,6 +311,17 @@ int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name) return lookup; } +void *fdtdec_lookup_phandle_reg(const void *blob, int node, + const char *prop_name) +{ + int lookup; + + lookup = fdtdec_lookup_phandle(blob, node, prop_name); + if (lookup < 0) + return NULL; + return (void *)fdtdec_get_addr(blob, lookup, "reg"); +} + /** * Look up a property in a node and check that it has a minimum length. * -- 1.7.7.3
WARNING: multiple messages have this Message-ID (diff)
From: Simon Glass <sjg@chromium.org> To: u-boot@lists.denx.de Subject: [U-Boot] [PATCH 01/17] fdt: Add function to look up a phandle's register address Date: Sat, 14 Jan 2012 16:47:13 -0800 [thread overview] Message-ID: <1326588449-1794-2-git-send-email-sjg@chromium.org> (raw) In-Reply-To: <1326588449-1794-1-git-send-email-sjg@chromium.org> This is a commonly-used requirement, so add a function to support it easily. Signed-off-by: Simon Glass <sjg@chromium.org> --- include/fdtdec.h | 13 +++++++++++++ lib/fdtdec.c | 11 +++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-) diff --git a/include/fdtdec.h b/include/fdtdec.h index e705124..81ce3f6 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -239,6 +239,19 @@ const char *fdtdec_get_compatible(enum fdt_compat_id id); int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name); /** + * Look up a phandle and follow it to its node. Then return the register + * address of that node as a pointer. This can be used to access the + * peripheral directly. + * + * @param blob FDT blob + * @param node node to examine + * @param prop_name name of property to find + * @return pointer to node's register address + */ +void *fdtdec_lookup_phandle_reg(const void *blob, int node, + const char *prop_name); + +/** * Look up a property in a node and return its contents in an integer * array of given length. The property must have at least enough data for * the array (4*count bytes). It may have more, but this will be ignored. diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 48abf02..bcb2343 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -311,6 +311,17 @@ int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name) return lookup; } +void *fdtdec_lookup_phandle_reg(const void *blob, int node, + const char *prop_name) +{ + int lookup; + + lookup = fdtdec_lookup_phandle(blob, node, prop_name); + if (lookup < 0) + return NULL; + return (void *)fdtdec_get_addr(blob, lookup, "reg"); +} + /** * Look up a property in a node and check that it has a minimum length. * -- 1.7.7.3
next prev parent reply other threads:[~2012-01-15 0:47 UTC|newest] Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-01-15 0:47 [U-Boot] [PATCH 0/17] tegra: Add display driver and LCD support for Seaboard Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 04/17] tegra: Add display support to funcmux Simon Glass 2012-01-15 1:36 ` Mike Frysinger 2012-06-13 12:15 ` Simon Glass [not found] ` <1326588449-1794-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> 2012-01-15 0:47 ` Simon Glass [this message] 2012-01-15 0:47 ` [U-Boot] [PATCH 01/17] fdt: Add function to look up a phandle's register address Simon Glass 2012-01-15 0:47 ` [PATCH 02/17] fdt: Add header guard to fdtdec.h Simon Glass 2012-01-15 0:47 ` [U-Boot] " Simon Glass 2012-01-15 0:47 ` [PATCH 03/17] fdt: Correct GPIO name access in fdtdec Simon Glass 2012-01-15 0:47 ` [U-Boot] " Simon Glass 2012-01-15 0:47 ` [PATCH 05/17] tegra: fdt: Add LCD definitions for Tegra Simon Glass 2012-01-15 0:47 ` [U-Boot] " Simon Glass 2012-01-15 0:47 ` [PATCH 15/17] tegra: fdt: Add LCD definitions for Seaboard Simon Glass 2012-01-15 0:47 ` [U-Boot] " Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 06/17] tegra: Add support for PWFM Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 07/17] tegra: Add SOC support for display/lcd Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 08/17] tegra: Add LCD driver Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 09/17] tegra: Add LCD support to Nvidia boards Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 10/17] arm: Add control over cachability of memory regions Simon Glass 2012-02-10 20:38 ` Albert ARIBAUD 2012-03-04 6:20 ` Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 11/17] lcd: Add CONFIG_ALIGN_LCD_TO_SECTION to align lcd for MMU Simon Glass 2012-01-15 1:38 ` Mike Frysinger 2012-06-13 12:23 ` Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 12/17] lcd: Add support for flushing LCD fb from dcache after update Simon Glass 2012-01-15 1:42 ` Mike Frysinger 2012-01-15 1:57 ` Simon Glass 2012-01-15 2:16 ` Mike Frysinger 2012-06-13 12:25 ` Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 13/17] tegra: Align LCD frame buffer to section boundary Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 14/17] tegra: Support control of cache settings for LCD Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 16/17] lcd: Add CONSOLE_SCROLL_LINES option to speed console Simon Glass 2012-01-15 0:47 ` [U-Boot] [PATCH 17/17] tegra: Enable display/lcd support on Seaboard Simon Glass 2012-04-19 12:41 ` [U-Boot] [PATCH 0/17] tegra: Add display driver and LCD support for Seaboard Christian Kroehnert 2012-07-14 8:03 ` Simon Glass 2012-07-17 16:11 ` Thierry Reding 2012-07-18 6:51 ` Simon Glass 2012-07-19 12:01 ` Christian Kroehnert 2012-07-24 19:16 ` Stephen Warren
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=1326588449-1794-2-git-send-email-sjg@chromium.org \ --to=sjg-f7+t8e8rja9g9huczpvpmw@public.gmane.org \ --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \ --cc=twarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \ --cc=u-boot-0aAXYlwwYIKGBzrmiIFOJg@public.gmane.org \ --cc=vanbaren-He//nVnquyzQT0dZR+AlfA@public.gmane.org \ /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: linkBe 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.