* [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 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 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 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 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-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 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.