From 411ad3727a3a12042b3f6cea43b621cc2373d67e Mon Sep 17 00:00:00 2001 From: Ansuel Smith Date: Wed, 25 Dec 2019 20:44:06 +0100 Subject: [PATCH] ipq806x: reorganize nand_pins mux definition It's wrong set the mux to bias-disable. The best way to do this is by creating a separate group and disable the specific pins. By documentation, any subgroup with no bias definition is ignored so the mux definition is useless. Rework the definition by sremoving the mux subgroup and set the remaining subgroup with the mux function and drive-strength Signed-off-by: Ansuel Smith --- .../arch/arm/boot/dts/qcom-ipq8064-ap148.dts | 13 ++++++++----- .../arch/arm/boot/dts/qcom-ipq8064-ap161.dts | 13 ++++++++----- .../arch/arm/boot/dts/qcom-ipq8064-d7800.dts | 13 ++++++++----- .../arch/arm/boot/dts/qcom-ipq8064-ea8500.dts | 13 ++++++++----- .../arch/arm/boot/dts/qcom-ipq8064-r7500.dts | 13 ++++++++----- .../arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts | 13 ++++++++----- .../arch/arm/boot/dts/qcom-ipq8064-wpq864.dts | 10 ++++++---- .../arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts | 11 ++++++----- .../arch/arm/boot/dts/qcom-ipq8065-r7800.dts | 13 ++++++++----- 9 files changed, 68 insertions(+), 44 deletions(-) diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap148.dts index 8ef5b92b527e..02f60c90eeee 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap148.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap148.dts @@ -66,24 +66,27 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; }; + pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; + hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap161.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap161.dts index 6a16167e1f20..de347643dc9a 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap161.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ap161.dts @@ -45,24 +45,27 @@ }; }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; }; + pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; + hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-d7800.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-d7800.dts index ac1a965896c2..241c00962a56 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-d7800.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-d7800.dts @@ -76,24 +76,27 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; }; + pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; + hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts index 6f54e19da297..b052ca6fcb17 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts @@ -76,24 +76,27 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; }; + pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; + hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500.dts index 8130b583d368..dd596f52b440 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500.dts @@ -77,24 +77,27 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; }; + pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; + hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts index 21287ef9d7bd..463c0abb4015 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts @@ -81,24 +81,27 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; }; + pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; + hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts index 280dc88569fd..a1e7791d12df 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts @@ -504,11 +504,9 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", "gpio37", - "gpio38", "gpio39", "gpio40", "gpio41", - "gpio42", "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; @@ -516,12 +514,16 @@ pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts index 12cfa3b0fc78..b4770102e272 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts @@ -473,12 +473,9 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; @@ -486,6 +483,8 @@ pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; @@ -493,6 +492,8 @@ pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; diff --git a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8065-r7800.dts b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8065-r7800.dts index 6a1d016f7aca..f93039f7272d 100644 --- a/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8065-r7800.dts +++ b/target/linux/ipq806x/files-4.19/arch/arm/boot/dts/qcom-ipq8065-r7800.dts @@ -70,24 +70,27 @@ }; nand_pins: nand_pins { - mux { + disable { pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; + "gpio37", "gpio38"; function = "nand"; drive-strength = <10>; bias-disable; }; + pullups { pins = "gpio39"; + function = "nand"; + drive-strength = <10>; bias-pull-up; }; + hold { pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; bias-bus-hold; }; }; -- 2.30.2