# Copyright 2018-2023, NXP # SPDX-License-Identifier: Apache-2.0 description: NXP FlexSPI controller compatible: "nxp,imx-flexspi" include: [spi-controller.yaml, pinctrl-device.yaml] properties: reg: required: true interrupts: required: true ahb-bufferable: type: boolean description: | Enable AHB bufferable write access by setting register field AHBCR[BUFFERABLEEN]. ahb-cacheable: type: boolean description: | Enable AHB cacheable read access by setting register field AHBCR[CACHEABLEEN]. ahb-prefetch: type: boolean description: | Enable AHB read prefetch by setting register field AHBCR[PREFETCHEN]. ahb-read-addr-opt: type: boolean description: | Remove burst start address alignment limitation by setting register field AHBCR[READADDROPT]. combination-mode: type: boolean description: | Combine port A and port B data pins to support octal mode access by setting register field MCR0[COMBINATIONEN]. sck-differential-clock: type: boolean description: | Enable/disable SCKB pad use as SCKA differential clock output, when enabled, Port B flash access is not available. rx-clock-source: type: int default: 0 enum: - 0 # Loopback internally - 1 # Loopback from DQS pad - 2 # Loopback from SCK pad - 3 # External input from DQS pad description: | Source clock for flash read. See the RXCLKSRC field in register MCR0. The default corresponds to the reset value of the register field. rx-clock-source-b: type: int default: 0 enum: - 0 # Loopback internally - 1 # Loopback from DQS pad - 2 # Loopback from SCK pad - 3 # External input from DQS pad description: | Source clock for flash read on port B. Only supported by some instances of this IP. See the RXCLKSRC_B field in register MCR2. The default corresponds to the reset value of the register field. rx-buffer-config: type: array description: | Array of tuples to configure AHB RX buffers. Format is the following: . Pass multiple tuples to configure multiple RX buffers (up to maximum supported by SOC). The tuple fields correspond to the following register bitfields: prefetch: AHBRXBUFxCRx[PREFETCH] priority: AHBRXBUFxCRx[PRIORITY] master_id: AHBRXBUFxCRx[MSTRID] buf_size: AHBRXBUFxCRx[BUFSZ] ahb-boundary: type: string default: "no-boundary" enum: - "no-boundary" - "1024" - "512" - "256" description: | Sets the AHB read/write boundary. Only supported by some versions of the FLEXSPI IP. When set, all memory accesses that cross an address boundary of the specified size will be divided into smaller sub accesses. child-binding: description: NXP FlexSPI port include: nxp,imx-flexspi-device.yaml