* [U-Boot] [PATCH 0/2] Revert changes to __of_translate_address()
@ 2016-01-12 14:40 Przemyslaw Marczak
2016-01-12 14:40 ` [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs Przemyslaw Marczak
2016-01-12 14:40 ` [U-Boot] [PATCH 2/2] Revert "fdt: fix address cell count checking in fdt_translate_address()" Przemyslaw Marczak
0 siblings, 2 replies; 8+ messages in thread
From: Przemyslaw Marczak @ 2016-01-12 14:40 UTC (permalink / raw)
To: u-boot
Globally enabled CONFIG_OF_TRANSLATE causes, that function dev_get_addr()
returns a different result for a node with: 'size-cells = <0>'.
The above change, breaks the Exynos boards for a long time, because of GPIO
driver, which uses the fdt in a non standard way.
After sending few approaches with adding support for that case,
the one was appllied for a temporary fix for the release:
"fdt: fix address cell count checking in fdt_translate_address()"
However, after discussion on the list, we found that this way can't be
accepted because the function __of_translate_address() as a backend
of dev_get_addr(), shouldn't be used for translating a non-MMIO addresses.
Updating some device tree files with '#size-cells = 1' and by extending
the 'reg' property by address length - fixes the problem.
This applies on u-boot-dm/master:
c5a7533 net: Fix delay in net_retry test
Przemyslaw Marczak (2):
dts:exynos:update pinctrl size-cells and fix child regs
Revert "fdt: fix address cell count checking in
fdt_translate_address()"
arch/arm/dts/exynos4210-pinctrl-uboot.dtsi | 8 ++++----
arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi | 18 +++++++++---------
arch/arm/dts/exynos5250-pinctrl-uboot.dtsi | 16 ++++++++--------
arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi | 12 ++++++------
arch/arm/dts/s5pc110-pinctrl.dtsi | 4 ++--
common/fdt_support.c | 7 ++++---
6 files changed, 33 insertions(+), 32 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 8+ messages in thread* [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs 2016-01-12 14:40 [U-Boot] [PATCH 0/2] Revert changes to __of_translate_address() Przemyslaw Marczak @ 2016-01-12 14:40 ` Przemyslaw Marczak 2016-01-14 17:17 ` Simon Glass 2016-01-12 14:40 ` [U-Boot] [PATCH 2/2] Revert "fdt: fix address cell count checking in fdt_translate_address()" Przemyslaw Marczak 1 sibling, 1 reply; 8+ messages in thread From: Przemyslaw Marczak @ 2016-01-12 14:40 UTC (permalink / raw) To: u-boot This change is required to avoid warnings about invalid size-cells defined in device-tree pinctrl nodes for Exynos. Tested on: - Odroid U3 - Odroid XU3 Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Stefan Roese <sr@denx.de> Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@nvidia.com> Cc: Stephen Warren <swarren@wwwdotorg.org> --- arch/arm/dts/exynos4210-pinctrl-uboot.dtsi | 8 ++++---- arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi | 18 +++++++++--------- arch/arm/dts/exynos5250-pinctrl-uboot.dtsi | 16 ++++++++-------- arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi | 12 ++++++------ arch/arm/dts/s5pc110-pinctrl.dtsi | 4 ++-- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi b/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi index 0ff41d0..b76c77d 100644 --- a/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi +++ b/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi @@ -9,21 +9,21 @@ /{ pinctrl_0: pinctrl at 11400000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; compatible = "samsung,exynos4210-pinctrl"; }; pinctrl_1: pinctrl at 11000000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; gpx0: gpx0 { - reg = <0xc00>; + reg = <0xc00 0x20>; }; }; pinctrl_2: pinctrl at 03860000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; }; diff --git a/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi b/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi index 8e5a6c6..33ecc14 100644 --- a/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi +++ b/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi @@ -9,37 +9,37 @@ /{ pinctrl_0: pinctrl at 11400000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; gpf0: gpf0 { - reg = <0x180>; + reg = <0x180 0x20>; }; gpj0: gpj0 { - reg = <0x240>; + reg = <0x240 0x20>; }; }; pinctrl_1: pinctrl at 11000000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; gpk0: gpk0 { - reg = <0x40>; + reg = <0x40 0x20>; }; gpm0: gpm0 { - reg = <0x260>; + reg = <0x260 0x20>; }; gpx0: gpx0 { - reg = <0xc00>; + reg = <0xc00 0x20>; }; }; pinctrl_2: pinctrl at 03860000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; pinctrl_3: pinctrl at 106E0000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; }; diff --git a/arch/arm/dts/exynos5250-pinctrl-uboot.dtsi b/arch/arm/dts/exynos5250-pinctrl-uboot.dtsi index 068c5f6..b8c0526 100644 --- a/arch/arm/dts/exynos5250-pinctrl-uboot.dtsi +++ b/arch/arm/dts/exynos5250-pinctrl-uboot.dtsi @@ -9,34 +9,34 @@ /{ pinctrl_0: pinctrl at 11400000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; gpc4: gpc4 { - reg = <0x2e0>; + reg = <0x2e0 0x20>; }; gpx0: gpx0 { - reg = <0xc00>; + reg = <0xc00 0x20>; }; }; pinctrl_1: pinctrl at 13400000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; pinctrl_2: pinctrl at 10d10000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; gpv2: gpv2 { - reg = <0x060>; + reg = <0x060 0x20>; }; gpv4: gpv4 { - reg = <0xc0>; + reg = <0xc0 0x20>; }; }; pinctrl_3: pinctrl at 03860000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; }; diff --git a/arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi b/arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi index 635a1b0..341194f 100644 --- a/arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi +++ b/arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi @@ -14,29 +14,29 @@ */ pinctrl at 14010000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; pinctrl at 13400000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; gpy7 { }; gpx0 { - reg = <0xc00>; + reg = <0xc00 0x0>; }; }; pinctrl at 13410000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; pinctrl at 14000000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; pinctrl at 03860000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; }; }; diff --git a/arch/arm/dts/s5pc110-pinctrl.dtsi b/arch/arm/dts/s5pc110-pinctrl.dtsi index 2e9d552..07e76c0 100644 --- a/arch/arm/dts/s5pc110-pinctrl.dtsi +++ b/arch/arm/dts/s5pc110-pinctrl.dtsi @@ -9,7 +9,7 @@ / { pinctrl at e0200000 { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; gpa0: gpa0 { gpio-controller; #gpio-cells = <2>; @@ -251,7 +251,7 @@ }; gph0: gph0 { - reg = <0xc00>; + reg = <0xc00 0x20>; gpio-controller; #gpio-cells = <2>; }; -- 1.9.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs 2016-01-12 14:40 ` [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs Przemyslaw Marczak @ 2016-01-14 17:17 ` Simon Glass 2016-01-15 9:31 ` Minkyu Kang 0 siblings, 1 reply; 8+ messages in thread From: Simon Glass @ 2016-01-14 17:17 UTC (permalink / raw) To: u-boot On 12 January 2016 at 07:40, Przemyslaw Marczak <p.marczak@samsung.com> wrote: > This change is required to avoid warnings about invalid > size-cells defined in device-tree pinctrl nodes for Exynos. > > Tested on: > - Odroid U3 > - Odroid XU3 > > Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> > Cc: Stefan Roese <sr@denx.de> > Cc: Tom Rini <trini@konsulko.com> > Cc: Simon Glass <sjg@chromium.org> > Cc: Stephen Warren <swarren@nvidia.com> > Cc: Stephen Warren <swarren@wwwdotorg.org> > --- > arch/arm/dts/exynos4210-pinctrl-uboot.dtsi | 8 ++++---- > arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi | 18 +++++++++--------- > arch/arm/dts/exynos5250-pinctrl-uboot.dtsi | 16 ++++++++-------- > arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi | 12 ++++++------ > arch/arm/dts/s5pc110-pinctrl.dtsi | 4 ++-- > 5 files changed, 29 insertions(+), 29 deletions(-) Tested on snow: Tested-by: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Stephen, I plan to pick this up so please sing out if there is a problem. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs 2016-01-14 17:17 ` Simon Glass @ 2016-01-15 9:31 ` Minkyu Kang 2016-03-13 1:54 ` Simon Glass 0 siblings, 1 reply; 8+ messages in thread From: Minkyu Kang @ 2016-01-15 9:31 UTC (permalink / raw) To: u-boot On 15/01/16 02:17, Simon Glass wrote: > On 12 January 2016 at 07:40, Przemyslaw Marczak <p.marczak@samsung.com> wrote: >> This change is required to avoid warnings about invalid >> size-cells defined in device-tree pinctrl nodes for Exynos. >> >> Tested on: >> - Odroid U3 >> - Odroid XU3 >> >> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> >> Cc: Stefan Roese <sr@denx.de> >> Cc: Tom Rini <trini@konsulko.com> >> Cc: Simon Glass <sjg@chromium.org> >> Cc: Stephen Warren <swarren@nvidia.com> >> Cc: Stephen Warren <swarren@wwwdotorg.org> >> --- >> arch/arm/dts/exynos4210-pinctrl-uboot.dtsi | 8 ++++---- >> arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi | 18 +++++++++--------- >> arch/arm/dts/exynos5250-pinctrl-uboot.dtsi | 16 ++++++++-------- >> arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi | 12 ++++++------ >> arch/arm/dts/s5pc110-pinctrl.dtsi | 4 ++-- >> 5 files changed, 29 insertions(+), 29 deletions(-) > > Tested on snow: > Tested-by: Simon Glass <sjg@chromium.org> > Acked-by: Simon Glass <sjg@chromium.org> > > Stephen, I plan to pick this up so please sing out if there is a problem. > > Acked-by: Minkyu Kang <mk7.kang@samsung.com> Thanks, Minkyu Kang. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs 2016-01-15 9:31 ` Minkyu Kang @ 2016-03-13 1:54 ` Simon Glass 0 siblings, 0 replies; 8+ messages in thread From: Simon Glass @ 2016-03-13 1:54 UTC (permalink / raw) To: u-boot On 15 January 2016 at 02:31, Minkyu Kang <mk7.kang@samsung.com> wrote: > On 15/01/16 02:17, Simon Glass wrote: >> On 12 January 2016 at 07:40, Przemyslaw Marczak <p.marczak@samsung.com> wrote: >>> This change is required to avoid warnings about invalid >>> size-cells defined in device-tree pinctrl nodes for Exynos. >>> >>> Tested on: >>> - Odroid U3 >>> - Odroid XU3 >>> >>> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> >>> Cc: Stefan Roese <sr@denx.de> >>> Cc: Tom Rini <trini@konsulko.com> >>> Cc: Simon Glass <sjg@chromium.org> >>> Cc: Stephen Warren <swarren@nvidia.com> >>> Cc: Stephen Warren <swarren@wwwdotorg.org> >>> --- >>> arch/arm/dts/exynos4210-pinctrl-uboot.dtsi | 8 ++++---- >>> arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi | 18 +++++++++--------- >>> arch/arm/dts/exynos5250-pinctrl-uboot.dtsi | 16 ++++++++-------- >>> arch/arm/dts/exynos54xx-pinctrl-uboot.dtsi | 12 ++++++------ >>> arch/arm/dts/s5pc110-pinctrl.dtsi | 4 ++-- >>> 5 files changed, 29 insertions(+), 29 deletions(-) >> >> Tested on snow: >> Tested-by: Simon Glass <sjg@chromium.org> >> Acked-by: Simon Glass <sjg@chromium.org> >> >> Stephen, I plan to pick this up so please sing out if there is a problem. >> >> > > Acked-by: Minkyu Kang <mk7.kang@samsung.com> Applied to u-boot-dm/next, thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 2/2] Revert "fdt: fix address cell count checking in fdt_translate_address()" 2016-01-12 14:40 [U-Boot] [PATCH 0/2] Revert changes to __of_translate_address() Przemyslaw Marczak 2016-01-12 14:40 ` [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs Przemyslaw Marczak @ 2016-01-12 14:40 ` Przemyslaw Marczak 2016-01-14 17:17 ` Simon Glass 1 sibling, 1 reply; 8+ messages in thread From: Przemyslaw Marczak @ 2016-01-12 14:40 UTC (permalink / raw) To: u-boot This reverts commit 71105f50fedddfa5b0535d102c3d5078671721ad. The reverted commit was applied for a temporary to unbreak few Exynos boards on the release. After the discussion about the change, this commit should be avoided. Fixed device-tree for Exynos, allows reverting it without any issues. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Stefan Roese <sr@denx.de> Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@nvidia.com> Cc: Stephen Warren <swarren@wwwdotorg.org> --- common/fdt_support.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/common/fdt_support.c b/common/fdt_support.c index a539389..66464db 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -952,7 +952,8 @@ void fdt_del_node_and_alias(void *blob, const char *alias) /* Max address size we deal with */ #define OF_MAX_ADDR_CELLS 4 #define OF_BAD_ADDR FDT_ADDR_T_NONE -#define OF_CHECK_COUNTS(na) ((na) > 0 && (na) <= OF_MAX_ADDR_CELLS) +#define OF_CHECK_COUNTS(na, ns) ((na) > 0 && (na) <= OF_MAX_ADDR_CELLS && \ + (ns) > 0) /* Debug utility */ #ifdef DEBUG @@ -1120,7 +1121,7 @@ static u64 __of_translate_address(void *blob, int node_offset, const fdt32_t *in /* Cound address cells & copy address locally */ bus->count_cells(blob, parent, &na, &ns); - if (!OF_CHECK_COUNTS(na)) { + if (!OF_CHECK_COUNTS(na, ns)) { printf("%s: Bad cell count for %s\n", __FUNCTION__, fdt_get_name(blob, node_offset, NULL)); goto bail; @@ -1147,7 +1148,7 @@ static u64 __of_translate_address(void *blob, int node_offset, const fdt32_t *in /* Get new parent bus and counts */ pbus = &of_busses[0]; pbus->count_cells(blob, parent, &pna, &pns); - if (!OF_CHECK_COUNTS(pna)) { + if (!OF_CHECK_COUNTS(pna, pns)) { printf("%s: Bad cell count for %s\n", __FUNCTION__, fdt_get_name(blob, node_offset, NULL)); break; -- 1.9.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 2/2] Revert "fdt: fix address cell count checking in fdt_translate_address()" 2016-01-12 14:40 ` [U-Boot] [PATCH 2/2] Revert "fdt: fix address cell count checking in fdt_translate_address()" Przemyslaw Marczak @ 2016-01-14 17:17 ` Simon Glass 2016-03-13 1:54 ` Simon Glass 0 siblings, 1 reply; 8+ messages in thread From: Simon Glass @ 2016-01-14 17:17 UTC (permalink / raw) To: u-boot On 12 January 2016 at 07:40, Przemyslaw Marczak <p.marczak@samsung.com> wrote: > This reverts commit 71105f50fedddfa5b0535d102c3d5078671721ad. > > The reverted commit was applied for a temporary to unbreak > few Exynos boards on the release. > > After the discussion about the change, this commit should be avoided. > Fixed device-tree for Exynos, allows reverting it without any issues. > > Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> > Cc: Stefan Roese <sr@denx.de> > Cc: Tom Rini <trini@konsulko.com> > Cc: Simon Glass <sjg@chromium.org> > Cc: Stephen Warren <swarren@nvidia.com> > Cc: Stephen Warren <swarren@wwwdotorg.org> > --- > common/fdt_support.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) Tested on snow: Tested-by: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 2/2] Revert "fdt: fix address cell count checking in fdt_translate_address()" 2016-01-14 17:17 ` Simon Glass @ 2016-03-13 1:54 ` Simon Glass 0 siblings, 0 replies; 8+ messages in thread From: Simon Glass @ 2016-03-13 1:54 UTC (permalink / raw) To: u-boot On 14 January 2016 at 10:17, Simon Glass <sjg@chromium.org> wrote: > On 12 January 2016 at 07:40, Przemyslaw Marczak <p.marczak@samsung.com> wrote: >> This reverts commit 71105f50fedddfa5b0535d102c3d5078671721ad. >> >> The reverted commit was applied for a temporary to unbreak >> few Exynos boards on the release. >> >> After the discussion about the change, this commit should be avoided. >> Fixed device-tree for Exynos, allows reverting it without any issues. >> >> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> >> Cc: Stefan Roese <sr@denx.de> >> Cc: Tom Rini <trini@konsulko.com> >> Cc: Simon Glass <sjg@chromium.org> >> Cc: Stephen Warren <swarren@nvidia.com> >> Cc: Stephen Warren <swarren@wwwdotorg.org> >> --- >> common/fdt_support.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) > > Tested on snow: > Tested-by: Simon Glass <sjg@chromium.org> > Acked-by: Simon Glass <sjg@chromium.org> Applied to u-boot-dm/next, thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-03-13 1:54 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-01-12 14:40 [U-Boot] [PATCH 0/2] Revert changes to __of_translate_address() Przemyslaw Marczak 2016-01-12 14:40 ` [U-Boot] [PATCH 1/2] dts:exynos:update pinctrl size-cells and fix child regs Przemyslaw Marczak 2016-01-14 17:17 ` Simon Glass 2016-01-15 9:31 ` Minkyu Kang 2016-03-13 1:54 ` Simon Glass 2016-01-12 14:40 ` [U-Boot] [PATCH 2/2] Revert "fdt: fix address cell count checking in fdt_translate_address()" Przemyslaw Marczak 2016-01-14 17:17 ` Simon Glass 2016-03-13 1:54 ` Simon Glass
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox