From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by mx.groups.io with SMTP id smtpd.web11.10505.1602159245658557827 for ; Thu, 08 Oct 2020 05:14:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=r+3t8BjB; spf=pass (domain: nuviainc.com, ip: 209.85.221.68, mailfrom: leif@nuviainc.com) Received: by mail-wr1-f68.google.com with SMTP id e17so6319803wru.12 for ; Thu, 08 Oct 2020 05:14:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=W1lqRUK2wKGoCXs0aj+XXDBRRUxqoB0KQJABDoY3pxE=; b=r+3t8BjBV7bt4EAzqLVXeldegnsQwbBrBg2uPAc1/VgvlD9wkVvQmIZerdyYY2XYxp NUEa9bfCKWXY8KEyamo2OogaMQ/X5cCxQvYQKbMiUhadRICIPfZEym2puOGqRGCM8DbJ BAiv6N9Gl6DtHLKd+7LS6x/8FNULeb9qr+vr4l0uWz7m5C50kvn4l4GBR2GwtuMUKQGo HM6H5VfR1WWEqucFojhmJle7S2E3oh/hWwXhAR7lSKDOeg/T/i5Mg/LqhOnwsxudV17z NSzUoY/ydn5ouJFJFK6oEEJeDqWJjLZgMGvlL0nRrl/YY+lRUFl2+q6OaBRbuEiupl/8 Q4AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=W1lqRUK2wKGoCXs0aj+XXDBRRUxqoB0KQJABDoY3pxE=; b=K8qfNzxqYffjVpKLmVBoV4sV5ZdxBs09NHsmw9/+CVVDZk/G1Tlw2uqTZAVb/1aKAZ lR5QCF3Y6YaenXv9lcLOH+bJTJdNshY2AZVSTGu+HaBk7AGOTxI820kaz1H7lJTsOWs9 yHQv6CK60RiVw+i0Y46hE3naQgT7OlFoFPqW0GcP6xlYjUzjqePSX0KX9/Zbylpp7V1D +SBZDXgerdMQTxBHw7Tiv7hlFO/sPn1VM6W7anxNCJGqfoYnw0tUHNwfuZL+tC857tL5 QY77WOXTMEoXg+nxa06p1Z92izVYy1fQfUUr4YTrA9CzxZppgZdqA/edqgNahQFOWMR7 EIuQ== X-Gm-Message-State: AOAM532OJ8nYwIR+P298SwMMo1y0ElSY7PL3b77C4onjo7LFyedhOyeV AEJ4aJwAWqrYSkG7R93ZfnxUtw== X-Google-Smtp-Source: ABdhPJwf68ShHH4Gzpc/Jy0Z1rFCLUOWz31upBN7Q/qfSdpNcVk1VWoQ+T6TKfl+g6YlK6AVEmOyHw== X-Received: by 2002:adf:fb0d:: with SMTP id c13mr9031285wrr.19.1602159244129; Thu, 08 Oct 2020 05:14:04 -0700 (PDT) Return-Path: Received: from vanye (cpc92302-cmbg19-2-0-cust304.5-4.cable.virginm.net. [82.1.209.49]) by smtp.gmail.com with ESMTPSA id b8sm6543447wmb.4.2020.10.08.05.14.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Oct 2020 05:14:03 -0700 (PDT) Date: Thu, 8 Oct 2020 13:13:56 +0100 From: "Leif Lindholm" To: Meenakshi Aggarwal Cc: ard.biesheuvel@arm.com, michael.d.kinney@intel.com, devel@edk2.groups.io, v.sethi@nxp.com, Meenakshi Aggarwal Subject: Re: [edk2-platforms v2 2/6] Platform/NXP/LS1046aFrwyPkg: MUX changes for USB Message-ID: <20201008121356.GY5623@vanye> References: <1600187343-18732-1-git-send-email-meenakshi.aggarwal@oss.nxp.com> <1602087041-8009-1-git-send-email-meenakshi.aggarwal@oss.nxp.com> <1602087041-8009-3-git-send-email-meenakshi.aggarwal@oss.nxp.com> MIME-Version: 1.0 In-Reply-To: <1602087041-8009-3-git-send-email-meenakshi.aggarwal@oss.nxp.com> User-Agent: Mutt/1.10.1 (2018-07-13) Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Wed, Oct 07, 2020 at 21:40:37 +0530, Meenakshi Aggarwal wrote: > Second USB controller is muxed with I2c through GPIO. > Setting GPIO bit to configure for second USB controller. > > Co-authored-by: Pramod Kumar > Signed-off-by: Meenakshi Aggarwal Reviewed-by: Leif Lindholm > --- > Silicon/NXP/NxpQoriqLs.dec | 8 ++++++++ > Silicon/NXP/LS1046A/LS1046A.dsc.inc | 5 +++++ > Silicon/NXP/NxpQoriqLs.dsc.inc | 2 ++ > .../Library/ArmPlatformLib/ArmPlatformLib.inf | 1 + > .../Library/ArmPlatformLib/ArmPlatformLib.c | 21 +++++++++++++++++++++ > 5 files changed, 37 insertions(+) (But please remember --stat=1000 --stat-graph-width=20 on git format-patch command line to get rid of ...) > diff --git a/Silicon/NXP/NxpQoriqLs.dec b/Silicon/NXP/NxpQoriqLs.dec > index 0c3608696569..3a568c0437e7 100644 > --- a/Silicon/NXP/NxpQoriqLs.dec > +++ b/Silicon/NXP/NxpQoriqLs.dec > @@ -29,6 +29,7 @@ [PcdsFeatureFlag] > gNxpQoriqLsTokenSpaceGuid.PcdDcfgBigEndian|FALSE|BOOLEAN|0x00000316 > gNxpQoriqLsTokenSpaceGuid.PcdPciLutBigEndian|FALSE|BOOLEAN|0x00000317 > gNxpQoriqLsTokenSpaceGuid.PcdSataErratumA009185|FALSE|BOOLEAN|0x00000318 > + gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerBigEndian|FALSE|BOOLEAN|0x00000319 > > [PcdsFixedAtBuild.common] > # Pcds for PCI Express > @@ -48,6 +49,13 @@ [PcdsFixedAtBuild.common] > gNxpQoriqLsTokenSpaceGuid.PcdSataSize|0x0|UINT32|0x00000351 > gNxpQoriqLsTokenSpaceGuid.PcdNumSataController|0x0|UINT32|0x00000352 > > + # > + # Pcds for Gpio > + # > + gNxpQoriqLsTokenSpaceGuid.PcdNumGpioController|0|UINT32|0x00000355 > + gNxpQoriqLsTokenSpaceGuid.PcdGpioModuleBaseAddress|0|UINT64|0x00000356 > + gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerOffset|0|UINT64|0x00000357 > + > [PcdsDynamic.common] > gNxpQoriqLsTokenSpaceGuid.PcdPciCfgShiftEnable|FALSE|BOOLEAN|0x00000600 > gNxpQoriqLsTokenSpaceGuid.PcdPciLsGen4Ctrl|FALSE|BOOLEAN|0x00000601 > diff --git a/Silicon/NXP/LS1046A/LS1046A.dsc.inc b/Silicon/NXP/LS1046A/LS1046A.dsc.inc > index dbe7f408fce9..db110553605f 100644 > --- a/Silicon/NXP/LS1046A/LS1046A.dsc.inc > +++ b/Silicon/NXP/LS1046A/LS1046A.dsc.inc > @@ -27,9 +27,14 @@ [PcdsDynamicDefault.common] > > [PcdsFixedAtBuild.common] > gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x021c0500 > + gNxpQoriqLsTokenSpaceGuid.PcdNumGpioController|0x04 > + gNxpQoriqLsTokenSpaceGuid.PcdGpioModuleBaseAddress|0x02300000 > + gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerOffset|0x10000 > + > > [PcdsFeatureFlag] > gNxpQoriqLsTokenSpaceGuid.PcdDcfgBigEndian|TRUE > + gNxpQoriqLsTokenSpaceGuid.PcdGpioControllerBigEndian|TRUE > > ################################################################################ > # > diff --git a/Silicon/NXP/NxpQoriqLs.dsc.inc b/Silicon/NXP/NxpQoriqLs.dsc.inc > index fc600de01d74..21c87df73220 100644 > --- a/Silicon/NXP/NxpQoriqLs.dsc.inc > +++ b/Silicon/NXP/NxpQoriqLs.dsc.inc > @@ -103,6 +103,8 @@ [LibraryClasses.common] > MemoryInitPeiLib|Silicon/NXP/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf > UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf > > + GpioLib|Silicon/NXP/Library/GpioLib/GpioLib.inf > + > [LibraryClasses.common.SEC] > PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf > DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf > diff --git a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf > index 7802696bf39b..2e755842a714 100644 > --- a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf > +++ b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.inf > @@ -25,6 +25,7 @@ [Packages] > [LibraryClasses] > ArmLib > DebugLib > + GpioLib > SocLib > > [Sources.common] > diff --git a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c > index e1f20da09337..ef404991add8 100644 > --- a/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c > +++ b/Platform/NXP/LS1046aFrwyPkg/Library/ArmPlatformLib/ArmPlatformLib.c > @@ -8,11 +8,18 @@ > > #include > #include > +#include > #include > > #include > #include > > +/** > + Documents use bit number as per Power PC notation, > + so need to convert it to support ARMv8 architecture > +**/ > +#define USB2_MUX_SEL_GPIO (31 - 23) > + > ARM_CORE_INFO mLS1046aMpCoreInfoTable[] = { > { > // Cluster 0, Core 0 > @@ -89,6 +96,19 @@ NxpPlatformGetClock( > } > > /** > + FRWY-LS1046A GPIO 23 use for USB2 > + mux seclection > +**/ > +STATIC VOID MuxSelectUsb2 (VOID) > +{ > + > + GpioSetDirection (GPIO3, USB2_MUX_SEL_GPIO, OUTPUT); > + GpioSetData (GPIO3, USB2_MUX_SEL_GPIO, HIGH); > + > + return; > +} > + > +/** > Initialize controllers that must setup in the normal world > > This function is called by the ArmPlatformPkg/PrePi or ArmPlatformPkg/PlatformPei > @@ -101,6 +121,7 @@ ArmPlatformInitialize ( > ) > { > SocInit (); > + MuxSelectUsb2 (); > > return EFI_SUCCESS; > } > -- > 1.9.1 >