Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Mar 04, 2024
    • Manish V Badarkhe's avatar
      Merge changes from topic "topics/fwu_metadata_v2_migration" into integration · bd435c52
      Manish V Badarkhe authored
      * changes:
        style(fwu): change the metadata fields to align with specification
        style(partition): use GUID values for GPT partition fields
        feat(st): add logic to boot the platform from an alternate bank
        feat(st): add a function to clear the FWU trial state counter
        feat(fwu): add a function to obtain an alternate FWU bank to boot
        feat(fwu): add some sanity checks for the FWU metadata
        feat(fwu): modify the check for getting the FWU bank's state
        feat(st): get the state of the active bank directly
        feat(fwu): add a config flag for including image info in the FWU metadata
        feat(fwu): migrate FWU metadata structure to version 2
        feat(fwu): document the config flag for including image info in the FWU metadata
        feat(fwu): update the URL links for the FWU specification
      bd435c52
  2. Mar 02, 2024
    • Manish Pandey's avatar
      Merge changes from topic "sgi_to_nrd" into integration · 27b0440a
      Manish Pandey authored
      * changes:
        refactor(sgi): replace references to "SGI"/"sgi" for neoverse_rd
        refactor(sgi): rename "CSS_SGI"" macro prefixes to "NRD"
        refactor(sgi): move apis and types to "nrd" prefix
        refactor(sgi): replace build-option prefix to "NRD"
        refactor(sgi): move neoverse_rd out of css
        refactor(sgi): move from "sgi" to "neoverse_rd"
        feat(sgi): remove unused SGI_PLAT build-option
        fix(sgi): align to misra rule for braces
        feat(rde1edge): remove support for RD-E1-Edge
        fix(rdn2): populate TOS_CONFIG only when SPMC_AT_EL3 is enabled
        fix(board): update spi_id max for sgi multichip platforms
      27b0440a
  3. Mar 01, 2024
    • Mark Dykes's avatar
    • Manish V Badarkhe's avatar
      Merge changes from topic "smmuv3_fix" into integration · b2bca9eb
      Manish V Badarkhe authored
      * changes:
        feat(smmu): separate out smmuv3_security_init from smmuv3_init
        feat(smmu): fix to perform INV_ALL before enabling GPC
      b2bca9eb
    • Manish Pandey's avatar
    • Manish Pandey's avatar
      Merge changes from topic "imx8ulp_support" into integration · 1c408d3c
      Manish Pandey authored
      * changes:
        docs(maintainers): add the maintainers for imx8ulp
        docs(imx8ulp): add imx8ulp platform
        fix(imx8ulp): increase the mmap region num
        feat(imx8ulp): adjust the dram mapped region
        feat(imx8ulp): ddrc switch auto low power and software interface
        feat(imx8ulp): add some delay before cmc1 access
        feat(imx8ulp): add a flag check for the ddr status
        fix(imx8ulp): add sw workaround for csi/hotplug test hang
        feat(imx8ulp): adjust the voltage when sys dvfs enabled
        feat(imx8ulp): enable the DDR frequency scaling support
        fix(imx8ulp): fix suspend/resume issue when DBD owner is s400 only
        feat(imx8ulp): update XRDC for ELE to access DDR with CA35 DID
        feat(imx8ulp): add memory region policy
        feat(imx8ulp): protect TEE region for secure access only
        feat(imx8ulp): add trusty support
        feat(imx8ulp): add OPTEE support
        feat(imx8ulp): update the upower config for power optimization
        feat(imx8ulp): allow RTD to reset APD through MU
        feat(imx8ulp): not power off LPAV PD when LPAV owner is RTD
        feat(imx8ulp): add system power off support
        feat(imx8ulp): add APD power down mode(PD) support in system suspend
        feat(imx8ulp): add the basic support for idle & system suspned
        feat(imx8ulp): enable 512KB cache after resume on imx8ulp
        feat(imx8ulp): add the initial XRDC support
        feat(imx8ulp): allocated caam did for the non secure world
        feat(imx8ulp): add i.MX8ULP basic support
        build(changelog): add new scopes for nxp imx8ulp platform
        feat(scmi): add scmi sensor support
      1c408d3c
    • Sughosh Ganu's avatar
      style(fwu): change the metadata fields to align with specification · 8d08a1df
      Sughosh Ganu authored
      
      Change the names of some FWU metadata structure members to have them
      align with the wording used in the corresponding specification. Use
      the GUID type instead of UUID as the fields described in the
      specification are GUIDs. Make corresponding changes to the code that
      accesses these fields. No functional changes are introduced by the
      patch.
      
      Change-Id: Id3544ed1633811b0eeee2bf99477f9b7e6667044
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      8d08a1df
    • Sughosh Ganu's avatar
      style(partition): use GUID values for GPT partition fields · 37e81a60
      Sughosh Ganu authored
      
      The GPT partition uses GUID values for identification of partition
      types and partitions. Change the relevant functions to use GUID values
      instead of UUID's.
      
      Change-Id: I30df66a8a02fb502e04b0285f34131b65977988e
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      37e81a60
    • Sughosh Ganu's avatar
      feat(st): add logic to boot the platform from an alternate bank · 61660514
      Sughosh Ganu authored
      
      In a few scenarios, there is a need to boot the platform from an
      alernate bank which is not the active bank. Call the API
      fwu_get_alernate_boot_bank() to select an alternate bank to boot the
      platform from. Calling this API function might be required in a couple
      of cases. One, in the unlikely scenario of the active bank being in an
      invalid state, or if the number of times the platform boots in trial
      state exceeds a pre-set count.
      
      Also add a debug print that indicates the bank that
      the platform is booting from.
      
      Change-Id: I688406540e64d1719af8d5c121821f5bb6335c06
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      61660514
    • Sughosh Ganu's avatar
      feat(st): add a function to clear the FWU trial state counter · 6e99fee4
      Sughosh Ganu authored
      
      Add an API stm32_clear_fwu_trial_boot_cnt() function to clear the
      trial state counter. This is called in the corner case scenario when
      the active index is in an Invalid state, thus needing a reset of the
      trial state counter.
      
      Change-Id: I2980135da88d0d947c222655c7958b51eb572d69
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      6e99fee4
    • Sughosh Ganu's avatar
      feat(fwu): add a function to obtain an alternate FWU bank to boot · 26aab795
      Sughosh Ganu authored
      
      Add a function fwu_get_alternate_boot_bank() to return a valid bank to
      boot from. This function can be called by a platform to get an
      alternate bank to try to boot the platform in the unlikely scenario of
      the active bank being in an invalid state, or if the number of times
      the platform boots in trial state exceeds a pre-set count.
      
      Change-Id: I4bcd88e68e334c452882255bf028e01b090369d1
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      26aab795
    • Sughosh Ganu's avatar
      feat(fwu): add some sanity checks for the FWU metadata · d2566cfb
      Sughosh Ganu authored
      
      Add some sanity checks on the values read from the FWU metadata
      structure. This ensures that values in the metadata structure are
      inline with certain config symbol values.
      
      Change-Id: Ic4415da9048ac3980f8f811ed7852beb90683f7d
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      d2566cfb
    • Sughosh Ganu's avatar
      feat(fwu): modify the check for getting the FWU bank's state · 56724d09
      Sughosh Ganu authored
      
      The version 2 of the FWU metadata structure has a field bank_state in
      the top level of the structure which can be used to check if a given
      bank is in the either of Trial State, Accepted State, or in an Invalid
      State. This is different from the binary states of Valid/Accepted
      States that the bank could be in, as defined in the earlier version of
      the specification.
      
      Replace the fwu_is_trial_run_state() API with
      fwu_get_active_bank_state() to get the state the current active bank
      is in. The value returned by this API is then used by the caller to
      take appropriate action.
      
      Change-Id: I764f486840a3713bfe5f8e03d0634bfe09b23590
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      56724d09
    • Sughosh Ganu's avatar
      feat(st): get the state of the active bank directly · 588b01b5
      Sughosh Ganu authored
      
      With version 2 of the FWU metadata structure, the state that a bank is
      in can be obtained from the bank_state field in the top level
      structure. Read the state of the active bank by referencing this field
      directly, instead of making an API call.
      
      Change-Id: Ib22c56acbe172923b1323c544801ded81f1598ec
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      588b01b5
    • Sughosh Ganu's avatar
      feat(fwu): add a config flag for including image info in the FWU metadata · 11d05a77
      Sughosh Ganu authored
      
      The version 2 of the FWU metadata structure is designed such that the
      information on the updatable images can be omitted from the metadata
      structure. Add a configuration flag, PSA_FWU_METADATA_FW_STORE_DESC,
      which is used to select whether the metadata structure has this
      information included or not. It's value is set to 1 by default.
      
      Change-Id: I4463a20c94d2c745ddb0b2cc8932c12d418fbd42
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      11d05a77
    • Sughosh Ganu's avatar
      feat(fwu): migrate FWU metadata structure to version 2 · a89d58bb
      Sughosh Ganu authored
      The latest version of the FWU specification [1] has changes to the
      metadata structure. This is version 2 of the structure.
      
      Primary changes include
       - bank_state field in the top level structure
       - Total metadata size in the top level structure
       - Image description structures now optional
       - Number of banks and images per bank values part of the structure
      
      Make changes to the structure to align with version 2 of the structure
      defined in the specification. These changes also remove support for
      version 1 of the metadata structure.
      
      [1] - https://developer.arm.com/documentation/den0118/latest/
      
      
      
      Change-Id: I84b4e742e463cae92375dde8b4603b4a581d62d8
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      a89d58bb
    • Sughosh Ganu's avatar
      feat(fwu): document the config flag for including image info in the FWU metadata · 7ae16196
      Sughosh Ganu authored
      
      The version 2 of the FWU metadata structure is designed such that the
      information on the updatable images can be omitted from the metadata
      structure. Add a config flag, PSA_FWU_METADATA_FW_STORE_DESC, which is
      used to select whether the metadata structure has this information
      included or not. It's value is set to 1 by default.
      
      Change-Id: Id6c99455db768edd59b0a316051432a900d30076
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      7ae16196
    • Sughosh Ganu's avatar
      feat(fwu): update the URL links for the FWU specification · e106a78e
      Sughosh Ganu authored
      
      Update the links for accessing the FWU Multi Bank update specification
      to point to the latest revision of the specification.
      
      Change-Id: I25f35556a94ca81ca0a7463aebfcbc2d84595e8f
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@linaro.org>
      e106a78e
    • Jens Wiklander's avatar
      refactor(qemu): console runtime switch on bl31 exit · c09aa4ff
      Jens Wiklander authored
      
      Flush the FIFO before switching to runtime. This is so that there are
      no lingering chars in the FIFO when we move to the runtime console.
      
      TF-A plans to refactor the console_Switch_state(CONSOLE_FLAG_RUNTIME)
      and console_flush() calls and make them the last calls in bl31_main()
      (before BL31 exits). Until then they are being left as the last calls
      in bl31_plat_runtime_setup() for testing before refactoring.
      
      This patch affects the QEMU platform only.
      
      Signed-off-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
      Change-Id: I6188d73dd3f3c97f41bb25de543f8c46a972adf0
      c09aa4ff
  4. Feb 28, 2024
  5. Feb 27, 2024
    • Chris Kay's avatar
      build(npm): update Node.js and all packages · c7080f67
      Chris Kay authored
      
      This change updates the Node Version Manager version file to the latest
      long-term release version of Node.js, v20.11.1, and the Node.js Package
      Manager package file to require Node.js version v20 or later.
      
      Additionally, all Node.js modules have been updated, as some packages
      required additional accommodations to be made compatible with this
      version of Node.js.
      
      As part of this, the `.commitlintrc.js` has been rewritten from CommonJS
      to ECMAScript. There should be no impact on the behaviour of Commitlint,
      but this was was a requirement to allow Commitlint to continue using it
      for configuration.
      
      Change-Id: I7043faabc516c58edda9e58848b0569e2158b271
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      c7080f67
    • laurenw-arm's avatar
      feat(gpt): validate CRC of GPT partition entries · 7a9e9f6e
      laurenw-arm authored
      
      While loading partition entries, calculate CRC using tf_crc32() for each
      entry to find the full CRC value of the partition entry array.
      
      The start of the GPT partition entry array is located at the LBA
      indicated by the partition entry array LBA field in the GPT header. The
      size of the partition entry array is indicated by the size of partition
      entry multiplied by the number of partition entries.
      
      Compare the calculated CRC with the partition entry array CRC in the GPT
      header, error out if the values do not match.
      
      Change-Id: I4bfed8cf903125c1ef3fac2f0f4c0fb87d63aa78
      Signed-off-by: default avatarLauren Wehrmeister <lauren.wehrmeister@arm.com>
      7a9e9f6e
    • laurenw-arm's avatar
      refactor(gpt): return header instead of part_lba · 17a261de
      laurenw-arm authored
      
      Alter the function parameter to pass the full GPT header to be filled
      instead of the starting LBA of the array of partion entries to
      load_partition_gpt()
      
      Change-Id: Ib3dde62d5b9996e74157714634bea748bd3b55aa
      Signed-off-by: default avatarLauren Wehrmeister <lauren.wehrmeister@arm.com>
      17a261de
    • Manish V Badarkhe's avatar
      Merge changes I1415e402,Ia92cc693,I7a42f72e,I6e75659e,I4c6136c5, ... into integration · df21d41b
      Manish V Badarkhe authored
      * changes:
        refactor(tc): correlate secure world addresses with platform_def
        feat(tc): add memory node in the device tree
        feat(tc): pass the DTB address to BL33 in R0
        feat(tc): add arm_ffa node in dts
        chore(tc): add dummy entropy to speed up the Linux boot
        feat(tc): choose the DPU address and irq based on the target
        feat(tc): add SCMI power domain and IOMMU toggles
        refactor(tc): move the FVP RoS to a separate file
        feat(tc): factor in FVP/FPGA differences
        feat(tc): introduce an FPGA subvariant and TC3 CPUs
        feat(tc): add TC3 platform definitions
        refactor(tc): sanitise the device tree
        feat(tc): add PMU entry
        feat(tc): allow booting from DRAM
        chore(tc): remove unused hdlcd
        feat(tc): add firmware update secure partition
        feat(tc): add spmc manifest with trusty sp
        refactor(tc): unify all the spmc manifests
        feat(arm): add trusty_sp_fw_config build option
        fix(tc): do not enable MPMM and Aux AMU counters always
        fix(tc): correct interrupts
        feat(tc): interrupt numbers for `smmu_700`
        feat(tc): enable gpu/dpu scmi power domain and also gpu perf domain
      df21d41b
    • Manish Pandey's avatar
    • Jacky Bai's avatar
      docs(maintainers): add the maintainers for imx8ulp · 5ae4aae2
      Jacky Bai authored
      
      Add the maintainers for NXP i.MX8ULP.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Change-Id: Ifc5f86ad6eb7288ef28765311fc3b1ff48031df5
      5ae4aae2
    • Jacky Bai's avatar
      docs(imx8ulp): add imx8ulp platform · c67057fe
      Jacky Bai authored
      
      Add i.MX8ULP platform introduction.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Change-Id: Idc16bcf5b23542f8a1f394a474309239ddcb9685
      c67057fe
    • Jacky Bai's avatar
      fix(imx8ulp): increase the mmap region num · 047d7d1b
      Jacky Bai authored
      
      the mmap region num is not enough for the mmap regions,
      so increase it, increase the xlat_table num too.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Change-Id: I2a2515b291e96cc12398a2c2c526351342811fff
      047d7d1b
    • Ji Luo's avatar
      feat(imx8ulp): adjust the dram mapped region · 8d50c91b
      Ji Luo authored
      
      below commit mapped 16 MB memory from the start of DRAM(0x80000000),
      which may have conflict with the shared memory used by Trusty OS:
        LF-8819: plat: imx8ulp: ddrc switch auto low power and software interface
      
      change the mapped memory to 'vdev0buffer' reserved memory (0x8ff00000)
      to avoid memory conflict. This commit also bumps the XTLB tables
      to avoid mapping failure.
      
      Signed-off-by: default avatarJi Luo <ji.luo@nxp.com>
      Change-Id: I1a7af958af47e3fc9955d0a80d1649971e843eab
      8d50c91b
    • Adrian Alonso's avatar
      feat(imx8ulp): ddrc switch auto low power and software interface · ee25e6a5
      Adrian Alonso authored
      
      Enable switch between DDRC Auto low power and software/hardware
      control modes DDRC Auto low-power mode is used when system is
      active, software/hardware control mode is used when going into
      suspend. Enable switching between Auto mode and SW/HW mode in
      enter/exit retention routines.
      
      Set LPI_SRPD_LONG_MCCLK_GATE_WAKEUP_F2 Max setting to allow
      LPDDR_EN_CLKGATE reload LPI_SRPD_LONG_MCCLK_GATE_WAKEUP_F2 to
      exit retention mode
      
      Signed-off-by: default avatarPascal Mareau <pascal.mareau@nxp.com>
      Signed-off-by: default avatarAdrian Alonso <adrian.alonso@nxp.com>
      Signed-off-by: default avatarHongting Ting <hongting.dong@nxp.com>
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Change-Id: I3c4b6f7bc6ca02649ff27cd3d9a0c50dab3a3ad0
      ee25e6a5
    • Jacky Bai's avatar
      feat(imx8ulp): add some delay before cmc1 access · c514d3cf
      Jacky Bai authored
      
      When resume from APD sleep mode, need to add a small delay
      before accessing the CMC1 register.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Reviewed-by: default avatarYe Li <ye.li@nxp.com>
      Change-Id: Ic8acdf58a3bf82b1791e7ae7f173f8c94c56b49d
      c514d3cf
    • Jacky Bai's avatar
      feat(imx8ulp): add a flag check for the ddr status · 4fafccb9
      Jacky Bai authored
      
      for some user case, the ddr may need to be controlled
      by RTD side to save power, when APD resume from low
      power mode, it should wait ddr is ready for access.
      currently we use a GPR in SIM_RTD_SEC as a flag to
      indicate when the DDR is for access, non-zero value
      means the DDR can be access from APD.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
      Change-Id: I6fb0cc17a040d803a597304620202423f646f294
      4fafccb9
    • Jacky Bai's avatar
      fix(imx8ulp): add sw workaround for csi/hotplug test hang · e1d5c3c8
      Jacky Bai authored
      
      When doing CSI stress test after cpu hotplug, sometimes, system
      will hang in CSI test. After some debug, we find that if slow
      down the APD NIC frequency before power on the offline CPU,
      the issue is gone. For now, just add such SW workaround.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Reviewed-by: default avatarYe Li <ye.li@nxp.com>
      Change-Id: I39a49efc382fbebf46e1ff15c93d506bd5f6bec1
      e1d5c3c8