armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.
arch/arm/cpu/armv8/fsl-layerscape/fdt.c +7 -0
@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd)#ifdef CONFIG_FSL_LSCH3 fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 ); +#endif +#endif }
Signature · 1 line
2.1.0.27.g96db324
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Quoted 11 lines
-----Original Message-----
From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Gong Qianyu
Sent: Monday, February 22, 2016 3:35 PM
To: u-boot at lists.denx.de; york sun <[email protected]>; oss at buserror.net
Cc: Qianyu Gong <[email protected]>; Mingkai Hu <[email protected]>
Subject: [U-Boot] [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Quoted 6 lines
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.
FPGA and NAND access are valid use-case during QSPI boot
So why IFC controller is being disabled from device tree.
arch/arm/cpu/armv8/fsl-layerscape/fdt.c void ft_cpu_setup(void *blob, bd_t *bd) · line 208
Quoted 13 lines
Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c +2
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A
I will suggest to avoid SoC specific defines
--prabhakar
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Hi Prabhakar,
Quoted 27 lines
-----Original Message-----
From: Prabhakar Kushwaha
Sent: Monday, February 22, 2016 7:51 PM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>; oss at buserror.net
Cc: Qianyu Gong <[email protected]>; Mingkai Hu <[email protected]>
Subject: RE: [U-Boot] [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 10 lines
-----Original Message-----
From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Gong Qianyu
Sent: Monday, February 22, 2016 3:35 PM
To: u-boot at lists.denx.de; york sun <[email protected]>; oss at buserror.net
Cc: Qianyu Gong <[email protected]>; Mingkai Hu <[email protected]>
Subject: [U-Boot] [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 6 lines
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.
Quoted 4 lines
FPGA and NAND access are valid use-case during QSPI boot
So why IFC controller is being disabled from device tree.
As Mingkai explained, neither FGPA nor NAND is valid when QSPI is enabled on LS1043AQDS.
Quoted 16 lines
arch/arm/cpu/armv8/fsl-layerscape/fdt.c void ft_cpu_setup(void *blob, bd_t *bd) · line 208
Quoted 13 lines
Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c +2
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A I will suggest to avoid SoC specific defines
Quoted 1 line
--prabhakar
I think only LS1043A needs this fixup for the moment. So if there's any change on new chips, it wouldn't affect them.
Regards,
Qianyu
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
In reply to Gong QianyuQuoted 16 lines · Gong Qianyu
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd)#ifdef CONFIG_FSL_LSCH3
arch/arm/cpu/armv8/fsl-layerscape/fdt.c void ft_cpu_setup(void *blob, bd_t *bd) · line 214
Quoted 10 lines
arch/arm/cpu/armv8/fsl-layerscape/fdt.c +7
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 ); +#endif +#endif }
This muxing is done at runtime, right? It isn't a case of the board hardwiring one or the other? In that case, it should be handled at runtime here as well. At a minimum, allow the user to use hwconfig to choose which they want to be accessible. Ideally there would be something in the device tree to list the reason(s) for a device being disabled, so the OS knows it can regard the device as being enabled if it knows about and enables them all.
-Scott
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Hi Scott,
Quoted 42 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Tuesday, February 23, 2016 8:12 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 16 lines · Gong Qianyu
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c void ft_cpu_setup(void *blob, bd_t *bd) · line 214
Quoted 8 lines
arch/arm/cpu/armv8/fsl-layerscape/fdt.c +5
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 );#endif #endif }This muxing is done at runtime, right? It isn't a case of the board hardwiring one or the other? In that case, it should be handled at runtime here as well. At a minimum, allow the user to use hwconfig to choose which they want to be accessible. Ideally there would be something in the device tree to list the reason(s) for a device being disabled, so the OS knows it can regard the device as being enabled if it knows about and enables them all.
Quoted 1 line
-Scott
Sorry for the late reply. We have been asking the silicon team for the details of the pin muxing these days.
The conclusion is that all IFC interfaces(cs0/cs1/cs2) are disabled as long as QSPI is enabled on LS1043AQDS board.
As I know, this muxing won't be handled in kernel. Since IFC is disabled in U-Boot, IFC node would better be disabled in kernel as well.
Also in such cases, users have no other choice.
Regards,
Qianyu
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Quoted 59 lines
-----Original Message-----
From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Qianyu Gong
Sent: Friday, March 11, 2016 3:49 PM
To: Scott Wood <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [U-Boot] [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledHi Scott,
Quoted 4 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Tuesday, February 23, 2016 8:12 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; yorksun
Quoted 29 lines
<[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 23 lines · Gong Qianyu
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c +5
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 );#endif #endif Quoted 8 lines
Quoted 1 line
}
This muxing is done at runtime, right? It isn't a case of the board hardwiring one or the other? In that case, it should be handled at runtime here as well. At a minimum, allow the user to use hwconfig to choose which they want to be accessible. Ideally there would be something in the device tree to list the reason(s) for a device being disabled, so the OS knows it can regard the device as being enabled if it
knows about and enables them all.
Quoted 2 lines
-Scott
Quoted 8 lines
Sorry for the late reply. We have been asking the silicon team for the details of the pin muxing these days.
The conclusion is that all IFC interfaces(cs0/cs1/cs2) are disabled as long as QSPI is enabled on LS1043AQDS board.
As I know, this muxing won't be handled in kernel. Since IFC is disabled in U- Boot, IFC node would better be disabled in kernel as well.
Also in such cases, users have no other choice.
This may not be always true.
In LS1088A, IFC-FPGA is available during QSPI boot.
--prabhakar
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Hi Prabhakar,
Quoted 79 lines
-----Original Message-----
From: Prabhakar Kushwaha
Sent: Monday, March 28, 2016 4:52 PM
To: Qianyu Gong <[email protected]>; Scott Wood <[email protected]>; u- boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: RE: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 60 lines
-----Original Message-----
From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Qianyu Gong
Sent: Friday, March 11, 2016 3:49 PM
To: Scott Wood <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [U-Boot] [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledHi Scott,
Quoted 4 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Tuesday, February 23, 2016 8:12 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; yorksun
Quoted 32 lines
<[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 17 lines · Gong Qianyu
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c void ft_cpu_setup(void *blob, bd_t *bd) · line 214
Quoted 8 lines
arch/arm/cpu/armv8/fsl-layerscape/fdt.c +5
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 );#endif #endif }Quoted 7 lines
This muxing is done at runtime, right? It isn't a case of the board hardwiring one or the other? In that case, it should be handled at runtime here as well. At a minimum, allow the user to use hwconfig to choose which they want to be accessible. Ideally there would be something in the device tree to list the reason(s) for a device being disabled, so the OS knows it can regard the device as being enabled if it
knows about and enables them all.
Quoted 2 lines
-Scott
Quoted 8 lines
Sorry for the late reply. We have been asking the silicon team for the details of the pin muxing these days.
The conclusion is that all IFC interfaces(cs0/cs1/cs2) are disabled as long as QSPI is enabled on LS1043AQDS board.
As I know, this muxing won't be handled in kernel. Since IFC is disabled in U- Boot, IFC node would better be disabled in kernel as well. Also in such cases, users have no other choice.
Quoted 6 lines
This may not be always true.
In LS1088A, IFC-FPGA is available during QSPI boot.
--prabhakar
Yes, you're right. That's why I added "#ifdef CONFIG_LS1043A". So I think it only affects ls1043a so far.
Regards,
Qianyu
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
In reply to Qianyu GongQuoted 52 lines · Qianyu Gong
Hi Scott,
Quoted 48 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Tuesday, February 23, 2016 8:12 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI
enabledQuoted 23 lines · Gong Qianyu
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c +5
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 );#endif Quoted 2 lines
#endif
}This muxing is done at runtime, right? It isn't a case of the board hardwiring one
or the other? In that case, it should be handled at runtime here as well.
At a
minimum, allow the user to use hwconfig to choose which they want to be accessible. Ideally there would be something in the device tree to list the reason(s)
for a device being disabled, so the OS knows it can regard the device as being
enabled if it knows about and enables them all.Quoted 1 line
-Scott
Quoted 10 lines
Sorry for the late reply. We have been asking the silicon team for the details of the pin
muxing these days.
The conclusion is that all IFC interfaces(cs0/cs1/cs2) are disabled as long as QSPI is
enabled on LS1043AQDS board.
As I know, this muxing won't be handled in kernel. Since IFC is disabled in U-Boot,
IFC node would better be disabled in kernel as well.
Also in such cases, users have no other choice.
Why should the user not have a choice to choose IFC over QSPI? Where is the muxing configured?
-Scott
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Hi Scott,
Quoted 70 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Wednesday, March 30, 2016 4:45 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 51 lines · Qianyu Gong
Hi Scott,
Quoted 47 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Tuesday, February 23, 2016 8:12 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 24 lines · Gong Qianyu
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c +5
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 );#endif Quoted 2 lines
#endif
}This muxing is done at runtime, right? It isn't a case of the board hardwiring one or the other? In that case, it should be handled at runtime here as well.
At a
minimum, allow the user to use hwconfig to choose which they want to be accessible. Ideally there would be something in the device tree to list the reason(s) for a device being disabled, so the OS knows it can regard the device as being enabled if it knows about and enables them all.Quoted 1 line
-Scott
Quoted 8 lines
Sorry for the late reply. We have been asking the silicon team for the details of the pin muxing these days.
The conclusion is that all IFC interfaces(cs0/cs1/cs2) are disabled as long as QSPI is enabled on LS1043AQDS board.
As I know, this muxing won't be handled in kernel. Since IFC is disabled in U-Boot, IFC node would better be disabled in kernel as well.
Also in such cases, users have no other choice.
Quoted 4 lines
Why should the user not have a choice to choose IFC over QSPI? Where is the muxing configured?
-Scott
Because this muxing can't be changed at runtime. Two ways so far to configure it:
1. SW6[1-4] switches on ls1043aqds board.
2. Modify QIXIS board config registers and reset the board.
Regards,
Qianyu
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Quoted 77 lines · Qianyu Gong
Hi Scott,
Quoted 75 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Wednesday, March 30, 2016 4:45 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI
enabledQuoted 51 lines · Qianyu Gong
Hi Scott,
Quoted 47 lines
-----Original Message-----
From: Scott Wood [mailto:oss at buserror.net]
Sent: Tuesday, February 23, 2016 8:12 AM
To: Qianyu Gong <[email protected]>; u-boot at lists.denx.de; york sun <[email protected]>
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 24 lines · Gong Qianyu
QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef
CONFIG_FSL_LSCH3arch/arm/cpu/armv8/fsl-layerscape/fdt.c +5
-0fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 );#endif Quoted 2 lines
#endif
}This muxing is done at runtime, right? It isn't a case of the board hardwiring one or the other? In that case, it should be handled at runtime here as well.
At a
minimum, allow the user to use hwconfig to choose which they want to be accessible. Ideally there would be something in the device tree to list the reason(s) for a device being disabled, so the OS knows it can regard the device as being enabled if it knows about and enables them all.Quoted 1 line
-Scott
Quoted 8 lines
Sorry for the late reply. We have been asking the silicon team for the details of the pin muxing these days.
The conclusion is that all IFC interfaces(cs0/cs1/cs2) are disabled as long as QSPI is enabled on LS1043AQDS board.
As I know, this muxing won't be handled in kernel. Since IFC is disabled in U-Boot, IFC node would better be disabled in kernel as well.
Also in such cases, users have no other choice.Why should the user not have a choice to choose IFC over QSPI? Where is the
muxing configured?
Quoted 6 lines
Quoted 1 line
-Scott
Because this muxing can't be changed at runtime. Two ways so far to configure it:
1. SW6[1-4] switches on ls1043aqds board.
2. Modify QIXIS board config registers and reset the board.
These sound like runtime to me -- not compile time.
-Scott
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Quoted 1 line · Scott Wood
On Wed, 2016-03-30 at 06:20 +0000, Qianyu Gong wrote:
<snip>
Quoted 8 lines
Quoted 5 lines
Because this muxing can't be changed at runtime. Two ways so far to configure it:
1. SW6[1-4] switches on ls1043aqds board.
2. Modify QIXIS board config registers and reset the board.These sound like runtime to me -- not compile time.
Qianyu,
If one can change mux by either changing switches, or setting QIXIS registers, you should be able to read those status and run the fixup, agree?
York
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Hi York,
Quoted 23 lines
-----Original Message-----
From: york sun
Sent: Wednesday, July 20, 2016 5:58 AM
To: Scott Wood <[email protected]>; Qianyu Gong <[email protected]>; u- boot at lists.denx.de
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 1 line · Scott Wood
On Wed, 2016-03-30 at 06:20 +0000, Qianyu Gong wrote:
<snip>
Quoted 8 lines
Quoted 5 lines
Because this muxing can't be changed at runtime. Two ways so far to configure it:
1. SW6[1-4] switches on ls1043aqds board.
2. Modify QIXIS board config registers and reset the board.These sound like runtime to me -- not compile time.
Quoted 6 lines
Qianyu,
If one can change mux by either changing switches, or setting QIXIS registers, you should be able to read those status and run the fixup, agree?
York
Yes, we could read QIXIS registers at runtime. But the current argument is that if we need to build two rcw&U-Boot images to support IFC or QSPI, which is already done on LS1021AQDS and LS1043AQDS. This is made at compile time and I just have no idea to solve the rcw issue. So.. how do you think about it?
Regards,
Qianyu
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Quoted 30 lines · Qianyu Gong
Hi York,
Quoted 28 lines
-----Original Message-----
From: york sun
Sent: Wednesday, July 20, 2016 5:58 AM
To: Scott Wood <[email protected]>; Qianyu Gong <[email protected]>; u- boot at lists.denx.de
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 1 line · Scott Wood
On Wed, 2016-03-30 at 06:20 +0000, Qianyu Gong wrote:
<snip>
Quoted 8 lines
Quoted 5 lines
Because this muxing can't be changed at runtime. Two ways so far to configure it:
1. SW6[1-4] switches on ls1043aqds board.
2. Modify QIXIS board config registers and reset the board.These sound like runtime to me -- not compile time.
Qianyu,
If one can change mux by either changing switches, or setting QIXIS registers, you should be able to read those status and run the fixup, agree?
Quoted 7 lines
Quoted 1 line
York
Yes, we could read QIXIS registers at runtime. But the current argument is that if we need to build two rcw&U-Boot images to support IFC or QSPI, which is already done on LS1021AQDS and LS1043AQDS. This is made at compile time and I just have no idea to solve the rcw issue. So.. how do you think about it?
Having different SPL builds is not ideal, but that's what we have. Without introducing another mechanism, we cannot concatenate SPL with different RCW files.
On the other side, if condition can be detected at run time, please do so, even when the condition only applies to one of SPL boot method. We should reduce compile option as much as we can so we have less options to test.
York
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
Hi York,
Quoted 53 lines
-----Original Message-----
From: york sun
Sent: Thursday, July 21, 2016 5:25 AM
To: Qianyu Gong <[email protected]>; Scott Wood <[email protected]>; u- boot at lists.denx.de
Cc: Mingkai Hu <[email protected]>; Huan Wang <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 27 lines · Qianyu Gong
Hi York,
Quoted 25 lines
-----Original Message-----
From: york sun
Sent: Wednesday, July 20, 2016 5:58 AM
To: Scott Wood <[email protected]>; Qianyu Gong <[email protected]>; u- boot at lists.denx.de
Cc: Mingkai Hu <[email protected]>
Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQuoted 1 line · Scott Wood
On Wed, 2016-03-30 at 06:20 +0000, Qianyu Gong wrote:
<snip>
Quoted 8 lines
Quoted 5 lines
Because this muxing can't be changed at runtime. Two ways so far to configure it:
1. SW6[1-4] switches on ls1043aqds board.
2. Modify QIXIS board config registers and reset the board.These sound like runtime to me -- not compile time.
Qianyu,
Quoted 8 lines
Quoted 4 lines
If one can change mux by either changing switches, or setting QIXIS registers, you should be able to read those status and run the fixup, agree?
York
Yes, we could read QIXIS registers at runtime. But the current argument is that if we need to build two rcw&U-Boot images to support IFC or QSPI, which is already done on LS1021AQDS and LS1043AQDS. This is
made at compile time and I just have no idea to solve the rcw issue.
Quoted 2 lines
So.. how do you think about it?
Having different SPL builds is not ideal, but that's what we have. Without introducing another mechanism, we cannot concatenate SPL with different RCW files.
Quoted 5 lines
On the other side, if condition can be detected at run time, please do so, even when the condition only applies to one of SPL boot method. We should reduce compile option as much as we can so we have less options to test.
York
OK, thanks. I'll have a try.
Since the muxing is board-specific, I'd also like to move it to ft_board_setup().
Regards,
Qianyu
PATCH 1/1 armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled
In reply to Gong QianyuHi all,
Any comments about this patch? Thanks!
Regards,
Qianyu
Quoted 36 lines
-----Original Message-----
From: Gong Qianyu [mailto:Qianyu.Gong at nxp.com]
Sent: Monday, February 22, 2016 6:05 PM
To: u-boot at lists.denx.de; york sun <[email protected]>; oss at buserror.net
Cc: Mingkai Hu <[email protected]>; Qianyu Gong <[email protected]>
Subject: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabledQSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled, IFC should be disabled.
But just disable IFC driver in LS1043A Linux is not enough because mdio-mux will access IFC address space -- actually it accesses FPGA which is connected to IFC CS3. So disable the whole IFC node in Linux device tree.Signed-off-by Gong Qianyu <[email protected]>arch/arm/cpu/armv8/fsl- renamed from arch/arm/cpu/armv8/fsl-layerscape/fdt.c +0
-0
layerscape/fdt.c
index 4e4861d..5bb3048 100644arch/arm/cpu/armv8/fsl-layerscape/fdt.c +7
-1@@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd)#ifdef CONFIG_FSL_LSCH3 fdt_fixup_smmu (blob);#endif + +#ifdef CONFIG_LS1043A +#ifdef CONFIG_FSL_QSPI +do_fixup_by_compat (blob,"fsl,ifc" , +"status" ,"disabled" ,8 +1 ,1 ); +#endif +#endif } --2.1.0.27.g96db324