Commit 1cc9a569 authored by Julien Panis's avatar Julien Panis Committed by Benjamin Cabé
Browse files

dts: bindings: mtd: Add support for cc23x0 flash CCFG sector



This region is used for customer configuration options.

Signed-off-by: default avatarJulien Panis <jpanis@baylibre.com>
parent 77d071da
Loading
Loading
Loading
Loading
+161 −0
Original line number Diff line number Diff line
# Copyright (c) 2024 BayLibre, SAS
# SPDX-License-Identifier: Apache-2.0

description: |
  This binding describes the TI CC23X0 flash CCFG (custom configuration)
  area content.

  Notes:
    The flash CCFG sector node (e.g. flash1) should have both
    "ti,cc23x0-ccfg-flash" and the "soc-nv-flash" compatibles.
    The latter is used from mcuboot and other modules to identify
    the flash area.

compatible: "ti,cc23x0-ccfg-flash"

include: soc-nv-flash.yaml

properties:
  ti,bldr-vtor-flash:
    type: int
    description: |
      Bootloader entry point when a boot from flash is selected.
      Valid range: 0 - 0x0effffff
      Default is 0, which is the standard initial configuration.
    default: 0

  ti,serial-io-cfg-index:
    type: int
    description: |
      Index of which I/O mapping to use for UART/SPI.
      Valid range: 0 - 2
      Default is 0, which is the standard initial configuration. Other values can be
      used depending on I/O availability.
    default: 0

  ti,pin-trigger:
    type: boolean
    description: |
      If not present, then bootloader unconditionally triggers.
      Else normal pin trigger check is performed.

  ti,pin-trigger-dio:
    type: int
    description: |
      Index of DIO pin to use for pin trigger check.
      Valid range: 0 - 25
      Default is 0, which is the standard initial configuration. Other values can be
      used depending on DIO availability.
    default: 0

  ti,pin-trigger-level-hi:
    type: boolean
    description: |
      If not present, then the level on trigger pin that triggers bootloader is low.
      Else level that triggers bootloader is high.

  ti,debug-port:
    type: boolean
    description: |
      If not present, then the SWD port is disabled altogether at a certain point in boot
      before invoking either bootloader or application.

  ti,energy-trace:
    type: boolean
    description: |
      Allows using EnergyTrace power analyzer tool.
      EnergyTrace software is an energy-based code analysis tool that measures
      and displays the energy profile of an application and helps optimize it for
      ultra-low-power consumption.

  ti,flash-verify:
    type: boolean
    description: |
      Determines whether flash verifying SACI commands are allowed. These commands only check
      integrity against a provided CRC32 value, never return any flash contents. Flash verify
      commands are always allowed after a chip erase and until the first reset after the CCFG
      sector has been programmed.

  ti,flash-program:
    type: boolean
    description: |
      Determines whether flash programming SACI commands are allowed.
      Reset to allowed after a chip erase.

  ti,chip-erase:
    type: boolean
    description: |
      Determines whether chip erasing SACI commands are allowed.

  ti,ret-to-factory:
    type: boolean
    description: |
      Allows return-to-factory procedure by SACI.
      To do full failure analysis including flash, a return to factory procedure is supported.

  ti,wr-er-prot-sect0-31:
    type: int
    description: |
      Bitmask for write/erase protection of individual sectors in sector range [0, 31].
      Controls whether flash programming is allowed through SACI. The same mechanism
      controls whether the application is allowed to program these sectors.
      0 = protected.
      Valid range: 0 - 0xffffffff
      Default is 0xffffffff to allow programming these sectors.
    default: 0xffffffff

  ti,wr-er-prot-sect32-255:
    type: int
    description: |
      Bitmask for write/erase protection of groups of 8 sectors, in sector range [32, 255].
      Bit i protects sectors [32 + 8i, 39 + 8i].
      0 = protected.
      Valid range: 0 - 0xffffffff
      Default is 0xffffffff to allow programming these sectors.
    default: 0xffffffff

  ti,wr-er-prot-ccfg-sect:
    type: int
    description: |
      Bitmask for write/erase protection of CCFG sectors.
      Valid range: 0 - 0xffffffff
      Default is 0 to prevent from mistakenly programming these sectors.
    default: 0

  ti,wr-er-prot-fcfg-sect:
    type: int
    description: |
      Bitmask for write/erase protection of FCFG sectors.
      Valid range: 0 - 0xffffffff
      Default is 0 to prevent from mistakenly programming these sectors.
    default: 0

  ti,wr-er-prot-engr-sect:
    type: int
    description: |
      Bitmask for write/erase protection of ENGR sectors.
      Valid range: 0 - 0xffffffff
      Default is 0 to prevent from mistakenly programming these sectors.
    default: 0

  ti,chip-er-retain-sect0-31:
    type: int
    description: |
      Bitmask for chip erase protection of individual sectors in sector range [0, 31].
      Controls whether a chip erase affects a sector or not. The mechanism is intended
      to allow flash sectors devoted to logging or runtime state/configuration to survive
      the chip erase during a FW update.
      0 = protected.
      Valid range: 0 - 0xffffffff
      Default is 0 to prevent from mistakenly programming these sectors.
    default: 0

  ti,chip-er-retain-sect32-255:
    type: int
    description: |
      Bitmask for chip erase protection of groups of 8 sectors, in sector range [32, 255].
      Bit i protects sectors [32 + 8i, 39 + 8i].
      0 = protected.
      Valid range: 0 - 0xffffffff
      Default is 0 to prevent from mistakenly programming these sectors.
    default: 0