On Tue, Sep 26, 2017 at 09:15:25PM +0100, [email protected] wrote:
> From: Girish Pathak <[email protected]>
> 
> This change adds a new PCD PcdArmHdlcdSwapBlueRedSelect
> to swap values for HDLCD RED_SELECT and BLUE_SELECT registers
> on platforms where blue and red hardware lines are swapped.
> 
> If set to TRUE in the platform dsc, HDLCD driver will swap the values
> while setting RED_SELECT and BLUE_SELECT registers. The default
> value of the PCD is FALSE.
> 
> NOTE: The motive for this is that a discrepancy in the Red/Blue lines
> exists between some VersatileExpress platforms.  Rather than have
> divergent code, this build switch allows a simple, pragmatic solution.

Notes are generally a better fit for under the first --- line.
I have no other comments on this patch, so it's not worth updating it
for, just to keep in mind for future.



> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Girish Pathak <[email protected]>
> Signed-off-by: Evan Lloyd <[email protected]>
> ---
>  ArmPlatformPkg/ArmPlatformPkg.dec                                      | 3 
> +++
>  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf | 1 +
>  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c                    | 4 
> ++++
>  3 files changed, 8 insertions(+)
> 
> diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec 
> b/ArmPlatformPkg/ArmPlatformPkg.dec
> index 
> 548d2b211753275337c6973e05227cee8451c185..77eb789ad8fe4ddcbf25abefad2e7b7d3d5e1722
>  100644
> --- a/ArmPlatformPkg/ArmPlatformPkg.dec
> +++ b/ArmPlatformPkg/ArmPlatformPkg.dec
> @@ -133,6 +133,9 @@ [PcdsFixedAtBuild.common]
>    # Default is set to UEFI console font format 
> PixelBlueGreenRedReserved8BitPerColor
>    gArmPlatformTokenSpaceGuid.PcdGopPixelFormat|0x00000001|UINT32|0x00000040
>  
> +  ## If set, this will swap settings for HDLCD RED_SELECT and BLUE_SELECT 
> registers
> +  
> gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect|FALSE|BOOLEAN|0x00000045
> +
>  [PcdsFixedAtBuild.common,PcdsDynamic.common]
>    ## PL031 RealTimeClock
>    gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0|UINT32|0x00000024
> diff --git 
> a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf 
> b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf
> index 
> 26e580a594fc328187407ac4c1787f180fbf4b17..b050add98e3f9cf62ac335883193b9d0928c3dc9
>  100644
> --- a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf
> +++ b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf
> @@ -55,6 +55,7 @@ [Protocols]
>  
>  [FixedPcd]
>    gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
> +  gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect
>  
>  [FeaturePcd]
>    gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
> diff --git a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c 
> b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c
> index 
> 3ea7feca439e7ae9a610b6b3139ddbfad3ac6f9c..8f83d6ecba290994dbced1c11dfdb6d705323c03
>  100644
> --- a/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c
> +++ b/ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcd.c
> @@ -109,7 +109,11 @@ LcdSetMode (
>      return Status;
>    }
>  
> +#if (!FixedPcdGetBool (PcdArmHdLcdSwapBlueRedSelect))
>    if (ModeInfo.PixelFormat == PixelBlueGreenRedReserved8BitPerColor) {
> +#else
> +  if (ModeInfo.PixelFormat == PixelRedGreenBlueReserved8BitPerColor) {
> +#endif
>      MmioWrite32 (HDLCD_REG_RED_SELECT,  (8 << 8 | 16));
>      MmioWrite32 (HDLCD_REG_BLUE_SELECT, (8 << 8 | 0));
>    } else {
> -- 
> Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to