HI Neil

On 07/26/2018 10:13 PM, Neil Armstrong wrote:
> The order between "syscon" and "simple-mfd" is important because in these
> particular cases, the node needs to be first a "simple-mfd" to expose
> it's sub-nodes, and later on a "syscon" to permit other nodes to access
> this register space through the "syscon" mechanism.
> 

could you explain a bit which specific case that it need compatible
"simple-mfd" come first? is this a problem in kernel side? because I see
you have a comment below about problem in U-Boot..


also while Rob review the mmc-clkc patch, he raise a suggestion to  drop
"syscon" in drivers/mfd/syscon.c, see [1], will that solve or affect
your problem?

[1]
https://lkml.kernel.org/r/CAL_Jsq+r+7BaJAPBn3L26sdxATVyDiuC=v3xe+yz0-27q0r...@mail.gmail.com

> Signed-off-by: Neil Armstrong <narmstr...@baylibre.com>
> ---
> This also has a consequence for U-Boot since the U-Boot DM is much simpler
> and can only associate a single device to a node, thus here we want these
> nodes to be an mfd bus to be able to probe the sub-nodes.
> 
>  arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 4 ++--
>  arch/arm64/boot/dts/amlogic/meson-gx.dtsi  | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi 
> b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> index 6adc8d3..3f0de9d 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> @@ -342,7 +342,7 @@
>                       ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
>  
>                       sysctrl: system-controller@0 {
> -                             compatible = "amlogic,meson-axg-hhi-sysctrl", 
> "syscon", "simple-mfd";
> +                             compatible = "amlogic,meson-axg-hhi-sysctrl", 
> "simple-mfd", "syscon";
>                               reg = <0 0 0 0x400>;
>  
>                               clkc: clock-controller {
> @@ -1180,7 +1180,7 @@
>                       ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
>  
>                       sysctrl_AO: sys-ctrl@0 {
> -                             compatible = "amlogic,meson-axg-ao-sysctrl", 
> "syscon", "simple-mfd";
> +                             compatible = "amlogic,meson-axg-ao-sysctrl", 
> "simple-mfd", "syscon";
>                               reg =  <0x0 0x0 0x0 0x100>;
>  
>                               clkc_AO: clock-controller {
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi 
> b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> index b8dc4db..d88699f 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> @@ -344,7 +344,7 @@
>                       ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>;
>  
>                       sysctrl_AO: sys-ctrl@0 {
> -                             compatible = "amlogic,meson-gx-ao-sysctrl", 
> "syscon", "simple-mfd";
> +                             compatible = "amlogic,meson-gx-ao-sysctrl", 
> "simple-mfd", "syscon";
>                               reg =  <0x0 0x0 0x0 0x100>;
>  
>                               pwrc_vpu: power-controller-vpu {
> @@ -431,7 +431,7 @@
>                       ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>;
>  
>                       sysctrl: system-controller@0 {
> -                             compatible = "amlogic,meson-gx-hhi-sysctrl", 
> "syscon", "simple-mfd";
> +                             compatible = "amlogic,meson-gx-hhi-sysctrl", 
> "simple-mfd", "syscon";
>                               reg = <0 0 0 0x400>;
>                       };
>  
> 

Reply via email to