# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

description: |
  Nordic nRF HSFLL

  The HSFLL mixed-mode IP generates several clock frequencies in the range from
  64 MHz to 400 MHz (in steps of 16 MHz).

  Usage example:

    hsfll: clock@deadbeef {
        compatible = "nordic,nrf-hsfll";
        reg = <0xdeadbeef 0x1000>;
        clocks = <&fll16m>;
        clock-frequency = <DT_FREQ_M(320)>;
        nordic,ficrs = <&ficr NRF_FICR_TRIM_APPLICATION_HSFLL_TRIM_VSUP>,
                       <&ficr NRF_FICR_TRIM_APPLICATION_HSFLL_TRIM_COARSE_0>,
                       <&ficr NRF_FICR_TRIM_APPLICATION_HSFLL_TRIM_FINE_0>;
        nordic,ficr-names = "vsup", "coarse", "fine";
    };

  Required FICR entries are for VSUP, COARSE and FINE trim values.

compatible: "nordic,nrf-hsfll"

include: [base.yaml, fixed-clock.yaml, nordic-nrf-ficr-client.yaml]

properties:
  reg:
    required: true

  clocks:
    required: true

  clock-frequency:
    enum:
      - 64000000
      - 80000000
      - 96000000
      - 112000000
      - 128000000
      - 144000000
      - 160000000
      - 176000000
      - 192000000
      - 208000000
      - 224000000
      - 240000000
      - 256000000
      - 272000000
      - 288000000
      - 304000000
      - 320000000
      - 336000000
      - 352000000
      - 368000000
      - 384000000
      - 400000000

  nordic,ficrs:
    required: true

  nordic,ficr-names:
    required: true
