Skip to content
  1. Mar 04, 2024
  2. Feb 29, 2024
  3. Feb 27, 2024
  4. Feb 21, 2024
  5. Feb 15, 2024
  6. Feb 13, 2024
  7. Feb 12, 2024
  8. Feb 07, 2024
  9. Feb 05, 2024
  10. Feb 02, 2024
  11. Jan 30, 2024
  12. Jan 29, 2024
  13. Jan 28, 2024
    • Thomas Abraham's avatar
      rdfremont: configure system counter implementation defined registers · 39858a0e
      Thomas Abraham authored
      
      
      On RD-Fremont and variant platforms, the system counter should increment
      at 1GHz as per SBSA requirement. With the refclk at 125Mhz, these
      platforms require a per-tick system counter increment of 8. This
      increment value has to be programmed in the implementation defined
      registers of system counter control register frame. So provide the table
      of impdef register offsets and its corresponding values in the gtimer
      module config data.
      
      It is SCP firmware that configures the system counter register frame and
      so the table is supplied as config data to only the SCP firmware. For
      the MCP firmware, update the system counter increment frequency as 1GHz.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: Ibda329735f9ac9df61434b2b5aafabd69da956da
      39858a0e
    • Thomas Abraham's avatar
      rdfremont: reorganize common definitions · 69b8cc1e
      Thomas Abraham authored
      
      
      The refclk speed is a common definition for SCP, MCP and LCP. So remove
      SCP and MCP specific definitions of refclk speed and consolidate it
      under a common css definitions file. In addition to this, add the
      per-tick system counter increment value definition that is required to
      comply with the SBSA requirement of system counter incrementing at 1GHz.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: Iebe89ddf1cd07468baefcfed432d58044e476487
      69b8cc1e
    • Thomas Abraham's avatar
      rdn2: remove incorrect configuration of system counter increment value · 070b776c
      Thomas Abraham authored
      
      
      On the RD-N2 config-3 platform, the system counter per-tick increment
      value is configured after the system counter has been enabled. This is
      incorrect as the system counter has to count at 1GHz from the start when
      enabled. So remove this incorrect configuration of the system counter
      per-tick increment value register.
      
      Now that the module 'syscnt_impdef' is enabled for all RD-N2 platform
      and variants, that is sufficient to ensure that the per-tick increment
      value is configured before the system counter is started.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: Ic9cede5a1b972f3570200557ec5f65aee70d5138
      070b776c
    • Thomas Abraham's avatar
      rdn2: configure system counter implementation defined registers · d5083716
      Thomas Abraham authored
      
      
      On RD-N2 and variant platforms, the system counter should increment at
      1GHz as per SBSA requirement. With the refclk at 125Mhz, these platforms
      require a per-tick system counter increment of 8. This increment value
      has to be programmed in the implementation defined registers of system
      counter control register frame. So provide the table of impdef register
      offsets and its corresponding values in the gtimer module config data.
      
      It is SCP firmware that configures the system counter register frame and
      so the table is supplied as config data to only the SCP firmware. For
      the MCP firmware, update the system counter increment frequency as 1GHz.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: I1a1a1562d7dbd5a06ec6adcca1a6e9c1f75f878b
      d5083716
    • Thomas Abraham's avatar
      neoverse-rd: define system counter impdef registers · d997fcb7
      Thomas Abraham authored
      
      
      The system counter implementation specific registers are similar for
      RD-N2 and RD-Fremont platforms. So add common file that defines the
      impdef register offsets in the system counter register frame.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: I5424f5d36c3099ec3f8a7876cdb697c3affeac8c
      d997fcb7
    • Thomas Abraham's avatar
      rdn2: fix refclk clock speed · e083ee6a
      Thomas Abraham authored
      
      
      The refclk clock speed is incorrectly set to 100MHz for RD-N2 platform
      configs 0, 1 and 2. It should be 125MHz instead of 100MHz. Fix this
      accordingly.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: I357feb55142f7ab332646aafbfef553cd40c7e1e
      e083ee6a
    • Thomas Abraham's avatar
      gtimer: allow impdef registers of system counter to be programmed · d12b417f
      Thomas Abraham authored
      
      
      The system counter control register frame allows integration of
      implementation defined registers (CNTControlBase register frame). The
      register offsets range 0x0C0-0x0FC is designated for this use as defined
      by the Arm architecture reference manual.
      
      Platforms often use the implementation defined register space to
      implement platform specific controls on the system counter. An example
      of additional control is the platform specific increment value that is
      applied to the timer count value on each tick (on platforms that do not
      support FEAT_CNTSC).
      
      As these registers are implementation specific and can vary across
      different platforms, it becomes imperative to extend the gtimer module
      to allow these impdef registers to be configured as well. But, adding
      various plaform specific handlers in gtimer module to configure impdef
      registers is neither scalable nor desirable.
      
      So, extend the gtimer module to accept a table of impdef register offset
      and value pairs as part of the module config data. The gtimer module
      will configure the impdef registers with its corresponding value listed
      in this table. These registers are configured before the system counter
      is enabled.
      
      While at it, it was noticed that gtimer module context is not zero
      intialized. So update these module to use calloc instead of alloc.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: I015bb93d56617ce253a85b5320636f3bd19f53a0
      d12b417f
    • Thomas Abraham's avatar
      gtimer: improve bind framework handler · 71c9fe91
      Thomas Abraham authored
      
      
      The bind framework handler does not check the API id requested before
      returning a valid implementation of a API. This is not scalable as well
      while adding additional API support. So improve the implementation of
      the bind API by checking API id requested before returning a valid API
      reference.
      
      Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: Icb9e55b25ecd3f9415750aed239f6997e01b0316
      71c9fe91
Loading