| /**************************************************************************** |
| * arch/arm/src/s32k3xx/hardware/s32k3xx_lpspi.h |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. The |
| * ASF licenses this file to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance with the |
| * License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations |
| * under the License. |
| * |
| ****************************************************************************/ |
| |
| /* Copyright 2022 NXP */ |
| |
| #ifndef __ARCH_ARM_SRC_S32K3XX_HARDWARE_S32K3XX_LPSPI_H |
| #define __ARCH_ARM_SRC_S32K3XX_HARDWARE_S32K3XX_LPSPI_H |
| |
| /**************************************************************************** |
| * Included Files |
| ****************************************************************************/ |
| |
| #include <hardware/s32k3xx_memorymap.h> |
| |
| /**************************************************************************** |
| * Pre-processor Definitions |
| ****************************************************************************/ |
| |
| /* LPSPI Register Offsets ***************************************************/ |
| |
| #define S32K3XX_LPSPI_VERID_OFFSET (0x0000) /* Version ID Register (VERID) */ |
| #define S32K3XX_LPSPI_PARAM_OFFSET (0x0004) /* Parameter Register (PARAM) */ |
| #define S32K3XX_LPSPI_CR_OFFSET (0x0010) /* Control Register (CR) */ |
| #define S32K3XX_LPSPI_SR_OFFSET (0x0014) /* Status Register (SR) */ |
| #define S32K3XX_LPSPI_IER_OFFSET (0x0018) /* Interrupt Enable Register (IER) */ |
| #define S32K3XX_LPSPI_DER_OFFSET (0x001c) /* DMA Enable Register (DER) */ |
| #define S32K3XX_LPSPI_CFGR0_OFFSET (0x0020) /* Configuration Register 0 (CFGR0) */ |
| #define S32K3XX_LPSPI_CFGR1_OFFSET (0x0024) /* Configuration Register 1 (CFGR1) */ |
| #define S32K3XX_LPSPI_DMR0_OFFSET (0x0030) /* Data Match Register 0 (DMR0) */ |
| #define S32K3XX_LPSPI_DMR1_OFFSET (0x0034) /* Data Match Register 1 (DMR1) */ |
| #define S32K3XX_LPSPI_CCR_OFFSET (0x0040) /* Clock Configuration Register (CCR) */ |
| #define S32K3XX_LPSPI_CCR1_OFFSET (0x0044) /* Clock Configuration Register 1 (CCR1) */ |
| #define S32K3XX_LPSPI_FCR_OFFSET (0x0058) /* FIFO Control Register (FCR) */ |
| #define S32K3XX_LPSPI_FSR_OFFSET (0x005c) /* FIFO Status Register (FSR) */ |
| #define S32K3XX_LPSPI_TCR_OFFSET (0x0060) /* Transmit Command Register (TCR) */ |
| #define S32K3XX_LPSPI_TDR_OFFSET (0x0064) /* Transmit Data Register (TDR) */ |
| #define S32K3XX_LPSPI_RSR_OFFSET (0x0070) /* Receive Status Register (RSR) */ |
| #define S32K3XX_LPSPI_RDR_OFFSET (0x0074) /* Receive Data Register (RDR) */ |
| #define S32K3XX_LPSPI_RDROR_OFFSET (0x0078) /* Receive Data Read Only Register (RDROR) */ |
| #define S32K3XX_LPSPI_TCBR_OFFSET (0x03fc) /* Transmit Command Burst Register (TCBR) */ |
| |
| #define S32K3XX_LPSPI_TDBR_OFFSET(n) (0x0400 + ((n) << 2)) /* Transmit Data Burst Register n=0..127 (TDBRn) */ |
| #define S32K3XX_LPSPI_RDBR_OFFSET(n) (0x0600 + ((n) << 2)) /* Receive Data Burst Register n=0..127 (RDBRn) */ |
| |
| /* LPSPI Register Addresses *************************************************/ |
| |
| #define S32K3XX_LPSPI0_VERID (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_VERID_OFFSET) |
| #define S32K3XX_LPSPI0_PARAM (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_PARAM_OFFSET) |
| #define S32K3XX_LPSPI0_CR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_CR_OFFSET) |
| #define S32K3XX_LPSPI0_SR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_SR_OFFSET) |
| #define S32K3XX_LPSPI0_IER (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_IER_OFFSET) |
| #define S32K3XX_LPSPI0_DER (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_DER_OFFSET) |
| #define S32K3XX_LPSPI0_CFGR0 (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_CFGR0_OFFSET) |
| #define S32K3XX_LPSPI0_CFGR1 (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_CFGR1_OFFSET) |
| #define S32K3XX_LPSPI0_DMR0 (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_DMR0_OFFSET) |
| #define S32K3XX_LPSPI0_DMR1 (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_DMR1_OFFSET) |
| #define S32K3XX_LPSPI0_CCR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_CCR_OFFSET) |
| #define S32K3XX_LPSPI0_CCR1 (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_CCR1_OFFSET) |
| #define S32K3XX_LPSPI0_FCR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_FCR_OFFSET) |
| #define S32K3XX_LPSPI0_FSR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_FSR_OFFSET) |
| #define S32K3XX_LPSPI0_TCR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_TCR_OFFSET) |
| #define S32K3XX_LPSPI0_TDR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_TDR_OFFSET) |
| #define S32K3XX_LPSPI0_RSR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_RSR_OFFSET) |
| #define S32K3XX_LPSPI0_RDR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_RDR_OFFSET) |
| #define S32K3XX_LPSPI0_RDROR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_RDROR_OFFSET) |
| #define S32K3XX_LPSPI0_TCBR (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_TCBR_OFFSET) |
| #define S32K3XX_LPSPI0_TDBR(n) (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_TDBR_OFFSET(n)) |
| #define S32K3XX_LPSPI0_RDBR(n) (S32K3XX_LPSPI0_BASE + S32K3XX_LPSPI_RDBR_OFFSET(n)) |
| |
| #define S32K3XX_LPSPI1_VERID (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_VERID_OFFSET) |
| #define S32K3XX_LPSPI1_PARAM (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_PARAM_OFFSET) |
| #define S32K3XX_LPSPI1_CR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_CR_OFFSET) |
| #define S32K3XX_LPSPI1_SR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_SR_OFFSET) |
| #define S32K3XX_LPSPI1_IER (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_IER_OFFSET) |
| #define S32K3XX_LPSPI1_DER (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_DER_OFFSET) |
| #define S32K3XX_LPSPI1_CFGR0 (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_CFGR0_OFFSET) |
| #define S32K3XX_LPSPI1_CFGR1 (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_CFGR1_OFFSET) |
| #define S32K3XX_LPSPI1_DMR0 (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_DMR0_OFFSET) |
| #define S32K3XX_LPSPI1_DMR1 (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_DMR1_OFFSET) |
| #define S32K3XX_LPSPI1_CCR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_CCR_OFFSET) |
| #define S32K3XX_LPSPI1_CCR1 (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_CCR1_OFFSET) |
| #define S32K3XX_LPSPI1_FCR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_FCR_OFFSET) |
| #define S32K3XX_LPSPI1_FSR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_FSR_OFFSET) |
| #define S32K3XX_LPSPI1_TCR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_TCR_OFFSET) |
| #define S32K3XX_LPSPI1_TDR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_TDR_OFFSET) |
| #define S32K3XX_LPSPI1_RSR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_RSR_OFFSET) |
| #define S32K3XX_LPSPI1_RDR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_RDR_OFFSET) |
| #define S32K3XX_LPSPI1_RDROR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_RDROR_OFFSET) |
| #define S32K3XX_LPSPI1_TCBR (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_TCBR_OFFSET) |
| #define S32K3XX_LPSPI1_TDBR(n) (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_TDBR_OFFSET(n)) |
| #define S32K3XX_LPSPI1_RDBR(n) (S32K3XX_LPSPI1_BASE + S32K3XX_LPSPI_RDBR_OFFSET(n)) |
| |
| #define S32K3XX_LPSPI2_VERID (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_VERID_OFFSET) |
| #define S32K3XX_LPSPI2_PARAM (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_PARAM_OFFSET) |
| #define S32K3XX_LPSPI2_CR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_CR_OFFSET) |
| #define S32K3XX_LPSPI2_SR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_SR_OFFSET) |
| #define S32K3XX_LPSPI2_IER (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_IER_OFFSET) |
| #define S32K3XX_LPSPI2_DER (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_DER_OFFSET) |
| #define S32K3XX_LPSPI2_CFGR0 (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_CFGR0_OFFSET) |
| #define S32K3XX_LPSPI2_CFGR1 (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_CFGR1_OFFSET) |
| #define S32K3XX_LPSPI2_DMR0 (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_DMR0_OFFSET) |
| #define S32K3XX_LPSPI2_DMR1 (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_DMR1_OFFSET) |
| #define S32K3XX_LPSPI2_CCR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_CCR_OFFSET) |
| #define S32K3XX_LPSPI2_CCR1 (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_CCR1_OFFSET) |
| #define S32K3XX_LPSPI2_FCR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_FCR_OFFSET) |
| #define S32K3XX_LPSPI2_FSR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_FSR_OFFSET) |
| #define S32K3XX_LPSPI2_TCR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_TCR_OFFSET) |
| #define S32K3XX_LPSPI2_TDR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_TDR_OFFSET) |
| #define S32K3XX_LPSPI2_RSR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_RSR_OFFSET) |
| #define S32K3XX_LPSPI2_RDR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_RDR_OFFSET) |
| #define S32K3XX_LPSPI2_RDROR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_RDROR_OFFSET) |
| #define S32K3XX_LPSPI2_TCBR (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_TCBR_OFFSET) |
| #define S32K3XX_LPSPI2_TDBR(n) (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_TDBR_OFFSET(n)) |
| #define S32K3XX_LPSPI2_RDBR(n) (S32K3XX_LPSPI2_BASE + S32K3XX_LPSPI_RDBR_OFFSET(n)) |
| |
| #define S32K3XX_LPSPI3_VERID (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_VERID_OFFSET) |
| #define S32K3XX_LPSPI3_PARAM (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_PARAM_OFFSET) |
| #define S32K3XX_LPSPI3_CR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_CR_OFFSET) |
| #define S32K3XX_LPSPI3_SR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_SR_OFFSET) |
| #define S32K3XX_LPSPI3_IER (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_IER_OFFSET) |
| #define S32K3XX_LPSPI3_DER (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_DER_OFFSET) |
| #define S32K3XX_LPSPI3_CFGR0 (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_CFGR0_OFFSET) |
| #define S32K3XX_LPSPI3_CFGR1 (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_CFGR1_OFFSET) |
| #define S32K3XX_LPSPI3_DMR0 (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_DMR0_OFFSET) |
| #define S32K3XX_LPSPI3_DMR1 (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_DMR1_OFFSET) |
| #define S32K3XX_LPSPI3_CCR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_CCR_OFFSET) |
| #define S32K3XX_LPSPI3_CCR1 (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_CCR1_OFFSET) |
| #define S32K3XX_LPSPI3_FCR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_FCR_OFFSET) |
| #define S32K3XX_LPSPI3_FSR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_FSR_OFFSET) |
| #define S32K3XX_LPSPI3_TCR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_TCR_OFFSET) |
| #define S32K3XX_LPSPI3_TDR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_TDR_OFFSET) |
| #define S32K3XX_LPSPI3_RSR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_RSR_OFFSET) |
| #define S32K3XX_LPSPI3_RDR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_RDR_OFFSET) |
| #define S32K3XX_LPSPI3_RDROR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_RDROR_OFFSET) |
| #define S32K3XX_LPSPI3_TCBR (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_TCBR_OFFSET) |
| #define S32K3XX_LPSPI3_TDBR(n) (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_TDBR_OFFSET(n)) |
| #define S32K3XX_LPSPI3_RDBR(n) (S32K3XX_LPSPI3_BASE + S32K3XX_LPSPI_RDBR_OFFSET(n)) |
| |
| #define S32K3XX_LPSPI4_VERID (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_VERID_OFFSET) |
| #define S32K3XX_LPSPI4_PARAM (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_PARAM_OFFSET) |
| #define S32K3XX_LPSPI4_CR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_CR_OFFSET) |
| #define S32K3XX_LPSPI4_SR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_SR_OFFSET) |
| #define S32K3XX_LPSPI4_IER (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_IER_OFFSET) |
| #define S32K3XX_LPSPI4_DER (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_DER_OFFSET) |
| #define S32K3XX_LPSPI4_CFGR0 (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_CFGR0_OFFSET) |
| #define S32K3XX_LPSPI4_CFGR1 (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_CFGR1_OFFSET) |
| #define S32K3XX_LPSPI4_DMR0 (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_DMR0_OFFSET) |
| #define S32K3XX_LPSPI4_DMR1 (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_DMR1_OFFSET) |
| #define S32K3XX_LPSPI4_CCR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_CCR_OFFSET) |
| #define S32K3XX_LPSPI4_CCR1 (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_CCR1_OFFSET) |
| #define S32K3XX_LPSPI4_FCR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_FCR_OFFSET) |
| #define S32K3XX_LPSPI4_FSR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_FSR_OFFSET) |
| #define S32K3XX_LPSPI4_TCR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_TCR_OFFSET) |
| #define S32K3XX_LPSPI4_TDR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_TDR_OFFSET) |
| #define S32K3XX_LPSPI4_RSR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_RSR_OFFSET) |
| #define S32K3XX_LPSPI4_RDR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_RDR_OFFSET) |
| #define S32K3XX_LPSPI4_RDROR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_RDROR_OFFSET) |
| #define S32K3XX_LPSPI4_TCBR (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_TCBR_OFFSET) |
| #define S32K3XX_LPSPI4_TDBR(n) (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_TDBR_OFFSET(n)) |
| #define S32K3XX_LPSPI4_RDBR(n) (S32K3XX_LPSPI4_BASE + S32K3XX_LPSPI_RDBR_OFFSET(n)) |
| |
| #define S32K3XX_LPSPI5_VERID (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_VERID_OFFSET) |
| #define S32K3XX_LPSPI5_PARAM (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_PARAM_OFFSET) |
| #define S32K3XX_LPSPI5_CR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_CR_OFFSET) |
| #define S32K3XX_LPSPI5_SR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_SR_OFFSET) |
| #define S32K3XX_LPSPI5_IER (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_IER_OFFSET) |
| #define S32K3XX_LPSPI5_DER (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_DER_OFFSET) |
| #define S32K3XX_LPSPI5_CFGR0 (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_CFGR0_OFFSET) |
| #define S32K3XX_LPSPI5_CFGR1 (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_CFGR1_OFFSET) |
| #define S32K3XX_LPSPI5_DMR0 (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_DMR0_OFFSET) |
| #define S32K3XX_LPSPI5_DMR1 (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_DMR1_OFFSET) |
| #define S32K3XX_LPSPI5_CCR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_CCR_OFFSET) |
| #define S32K3XX_LPSPI5_CCR1 (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_CCR1_OFFSET) |
| #define S32K3XX_LPSPI5_FCR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_FCR_OFFSET) |
| #define S32K3XX_LPSPI5_FSR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_FSR_OFFSET) |
| #define S32K3XX_LPSPI5_TCR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_TCR_OFFSET) |
| #define S32K3XX_LPSPI5_TDR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_TDR_OFFSET) |
| #define S32K3XX_LPSPI5_RSR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_RSR_OFFSET) |
| #define S32K3XX_LPSPI5_RDR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_RDR_OFFSET) |
| #define S32K3XX_LPSPI5_RDROR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_RDROR_OFFSET) |
| #define S32K3XX_LPSPI5_TCBR (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_TCBR_OFFSET) |
| #define S32K3XX_LPSPI5_TDBR(n) (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_TDBR_OFFSET(n)) |
| #define S32K3XX_LPSPI5_RDBR(n) (S32K3XX_LPSPI5_BASE + S32K3XX_LPSPI_RDBR_OFFSET(n)) |
| |
| /* LPSPI Register Bitfield Definitions **************************************/ |
| |
| /* Version ID Register (VERID) */ |
| |
| #define LPSPI_VERID_FEATURE_SHIFT (0) /* Bits 0-15: Module Identification Number (FEATURE) */ |
| #define LPSPI_VERID_FEATURE_MASK (0xffff << LPSPI_VERID_FEATURE_SHIFT) |
| #define LPSPI_VERID_MINOR_SHIFT (16) /* Bits 16-23: Minor Version Number (MINOR) */ |
| #define LPSPI_VERID_MINOR_MASK (0xff << LPSPI_VERID_MINOR_SHIFT) |
| #define LPSPI_VERID_MAJOR_SHIFT (24) /* Bits 24-31: Major Version Number (MAJOR) */ |
| #define LPSPI_VERID_MAJOR_MASK (0xff << LPSPI_VERID_MAJOR_SHIFT) |
| |
| /* Parameter Register (PARAM) */ |
| |
| #define LPSPI_PARAM_TXFIFO_SHIFT (0) /* Bits 0-7: Transmit FIFO Size (TXFIFO) */ |
| #define LPSPI_PARAM_TXFIFO_MASK (0xff << LPSPI_PARAM_TXFIFO_SHIFT) |
| #define LPSPI_PARAM_RXFIFO_SHIFT (8) /* Bits 8-15: Receive FIFO Size (RXFIFO) */ |
| #define LPSPI_PARAM_RXFIFO_MASK (0xff << LPSPI_PARAM_RXFIFO_SHIFT) |
| #define LPSPI_PARAM_PCSNUM_SHIFT (16) /* Bits 16-23: PCS Number (PCSNUM) */ |
| #define LPSPI_PARAM_PCSNUM_MASK (0xff << LPSPI_PARAM_PCSNUM_SHIFT) |
| /* Bits 24-31: Reserved */ |
| |
| /* Control Register (CR) */ |
| |
| #define LPSPI_CR_MEN (1 << 0) /* Bit 0: Module Enable (MEN) */ |
| #define LPSPI_CR_RST (1 << 1) /* Bit 1: Software Reset (RST) */ |
| /* Bit 2: Reserved */ |
| #define LPSPI_CR_DBGEN (1 << 3) /* Bit 3: Debug Enable (DBGEN) */ |
| /* Bits 4-7: Reserved */ |
| #define LPSPI_CR_RTF (1 << 8) /* Bit 8: Reset Transmit FIFO (RTF) */ |
| #define LPSPI_CR_RRF (1 << 9) /* Bit 9: Reset Receive FIFO (RRF) */ |
| /* Bits 10-31: Reserved */ |
| |
| /* Status Register (SR) */ |
| |
| #define LPSPI_SR_TDF (1 << 0) /* Bit 0: Transmit Data Flag (TDF) */ |
| #define LPSPI_SR_RDF (1 << 1) /* Bit 1: Receive Data Flag (RDF) */ |
| /* Bits 2-7: Reserved */ |
| #define LPSPI_SR_WCF (1 << 8) /* Bit 8: Word Complete Flag (WCF) */ |
| #define LPSPI_SR_FCF (1 << 9) /* Bit 9: Frame Complete Flag (FCF) */ |
| #define LPSPI_SR_TCF (1 << 10) /* Bit 10: Transfer Complete Flag (TCF) */ |
| #define LPSPI_SR_TEF (1 << 11) /* Bit 11: Transmit Error Flag (TEF) */ |
| #define LPSPI_SR_REF (1 << 12) /* Bit 12: Receive Error Flag (REF) */ |
| #define LPSPI_SR_DMF (1 << 13) /* Bit 13: Data Match Flag (DMF) */ |
| /* Bits 14-23: Reserved */ |
| #define LPSPI_SR_MBF (1 << 24) /* Bit 24: Module Busy Flag (MBF) */ |
| /* Bits 25-31: Reserved */ |
| |
| /* Interrupt Enable Register (IER) */ |
| |
| #define LPSPI_IER_TDIE (1 << 0) /* Bit 0: Transmit Data Interrupt Enable (TDIE) */ |
| #define LPSPI_IER_RDIE (1 << 1) /* Bit 1: Receive Data Interrupt Enable (RDIE) */ |
| /* Bits 2-7: Reserved */ |
| #define LPSPI_IER_WCIE (1 << 8) /* Bit 8: Word Complete Interrupt Enable (WCIE) */ |
| #define LPSPI_IER_FCIE (1 << 9) /* Bit 9: Frame Complete Interrupt Enable (FCIE) */ |
| #define LPSPI_IER_TCIE (1 << 10) /* Bit 10: Transfer Complete Interrupt Enable (TCIE) */ |
| #define LPSPI_IER_TEIE (1 << 11) /* Bit 11: Transmit Error Interrupt Enable (TEIE) */ |
| #define LPSPI_IER_REIE (1 << 12) /* Bit 12: Receive Error Interrupt Enable (REIE) */ |
| #define LPSPI_IER_DMIE (1 << 13) /* Bit 13: Data Match Interrupt Enable (DMIE) */ |
| /* Bits 14-31: Reserved */ |
| |
| /* DMA Enable Register (DER) */ |
| |
| #define LPSPI_DER_TDDE (1 << 0) /* Bit 0: Transmit Data DMA Enable (TDDE) */ |
| #define LPSPI_DER_RDDE (1 << 1) /* Bit 1: Receive Data DMA Enable (RDDE) */ |
| /* Bits 2-31: Reserved */ |
| |
| /* Configuration Register 0 (CFGR0) */ |
| |
| #define LPSPI_CFGR0_HREN (1 << 0) /* Bit 0: Host Request Enable (HREN) */ |
| #define LPSPI_CFGR0_HRPOL (1 << 1) /* Bit 1: Host Request Polarity (HRPOL) */ |
| # define LPSPI_CFGR0_HRPOL_HIGH (0 << 1) /* HREQ pin or input trigger is active high */ |
| # define LPSPI_CFGR0_HRPOL_LOW (1 << 1) /* HREQ pin or input trigger is active low */ |
| #define LPSPI_CFGR0_HRSEL (1 << 2) /* Bit 2: Host Request Select (HRSEL) */ |
| # define LPSPI_CFGR0_HRSEL_HREQ (0 << 2) /* Host request input is the LPSPI_HREQ pin */ |
| # define LPSPI_CFGR0_HRSEL_INTR (1 << 2) /* Host request input is the input trigger */ |
| #define LPSPI_CFGR0_HRDIR (1 << 3) /* Bit 3: Host Request Direction (HRDIR) */ |
| # define LPSPI_CFGR0_HRDIR_INPUT (0 << 3) /* HREQ pin is configured as input */ |
| # define LPSPI_CFGR0_HRDIR_OUTPUT (1 << 3) /* HREQ pin is configured as output */ |
| /* Bits 4-7: Reserved */ |
| #define LPSPI_CFGR0_CIRFIFO (1 << 8) /* Bit 8: Circular FIFO Enable (CIRCFIFO) */ |
| #define LPSPI_CFGR0_RDMO (1 << 9) /* Bit 9: Receive Data Match Only (RDMO) */ |
| # define LPSPI_CFGR0_RDMO_FIFO (0 << 9) /* Received data is stored in the receive FIFO as in normal operations */ |
| # define LPSPI_CFGR0_RDMO_DMF (1 << 9) /* Received data is discarded unless the Data Match Flag (DMF) is set */ |
| /* Bits 10-31: Reserved */ |
| |
| /* Configuration Register 1 (CFGR1) */ |
| |
| #define LPSPI_CFGR1_MASTER (1 << 0) /* Bit 0: Master Mode (MASTER) */ |
| #define LPSPI_CFGR1_SAMPLE (1 << 1) /* Bit 1: Sample Point (SAMPLE) */ |
| # define LPSPI_CFGR1_SAMPLE_SCK (0 << 1) /* Input data is sampled on SCK edge */ |
| # define LPSPI_CFGR1_SAMPLE_DELAY (1 << 1) /* Input data is sampled on delayed SCK edge */ |
| #define LPSPI_CFGR1_AUTOPCS (1 << 2) /* Bit 2: Automatic PCS (AUTOPCS) */ |
| #define LPSPI_CFGR1_NOSTALL (1 << 3) /* Bit 3: No Stall (NOSTALL) */ |
| #define LPSPI_CFGR1_PARTIAL (1 << 4) /* Bit 4: Partial Enable (PARTIAL) */ |
| /* Bits 5-7: Reserved */ |
| #define LPSPI_CFGR1_PCSPOL_SHIFT (8) /* Bits 8-15: Peripheral Chip Select Polarity (PCSPOL) */ |
| #define LPSPI_CFGR1_PCSPOL_MASK (0xff << LPSPI_CFGR1_PCSPOL_SHIFT) |
| # define LPSPI_CFGR1_PCSPOL_LOW(n) (0 << (LPSPI_CFGR1_PCSPOL_SHIFT + (n))) /* The Peripheral Chip Select PCS[n] pin is active low */ |
| # define LPSPI_CFGR1_PCSPOL_HIGH(n) (1 << (LPSPI_CFGR1_PCSPOL_SHIFT + (n))) /* The Peripheral Chip Select PCS[n] pin is active high */ |
| |
| #define LPSPI_CFGR1_MATCFG_SHIFT (16) /* Bits 16-18: Match Configuration (MATCFG) */ |
| #define LPSPI_CFGR1_MATCFG_MASK (0x07 << LPSPI_CFGR1_MATCFG_SHIFT) |
| #define LPSPI_CFGR1_MATCFG_DIS (0x00 << LPSPI_CFGR1_MATCFG_SHIFT) /* Match is disabled */ |
| |
| /* Bits 19-23: Reserved */ |
| #define LPSPI_CFGR1_PINCFG_SHIFT (24) /* Bits 24-25: Pin Configuration (PINCFG) */ |
| #define LPSPI_CFGR1_PINCFG_MASK (0x03 << LPSPI_CFGR1_PINCFG_SHIFT) |
| # define LPSPI_CFGR1_PINCFG_SIN_SOUT (0x00 << LPSPI_CFGR1_PINCFG_SHIFT) /* SIN is used for input data and SOUT is used for output data */ |
| # define LPSPI_CFGR1_PINCFG_SIN_SIN (0x01 << LPSPI_CFGR1_PINCFG_SHIFT) /* SIN is used for both input and output data */ |
| # define LPSPI_CFGR1_PINCFG_SOUT_SOUT (0x02 << LPSPI_CFGR1_PINCFG_SHIFT) /* SOUT is used for both input and output data */ |
| # define LPSPI_CFGR1_PINCFG_SOUT_SIN (0x03 << LPSPI_CFGR1_PINCFG_SHIFT) /* SOUT is used for input data and SIN is used for output data */ |
| # define LPSPI_CFGR1_PINCFG(n) ((n) << LPSPI_CFGR1_PINCFG_SHIFT) |
| |
| #define LPSPI_CFGR1_OUTCFG (1 << 26) /* Bit 26: Output Config (OUTCFG) */ |
| # define LPSPI_CFGR1_OUTCFG_RETAIN (0 << 26) /* Output data retains last value when chip select is negated */ |
| # define LPSPI_CFGR1_OUTCFG_TRISTATE (1 << 26) /* Output data is tristated when chip select is negated */ |
| #define LPSPI_CFGR1_PCSCFG_SHIFT (27) /* Bits 27-28: Peripheral Chip Select Configuration (PCSCFG) */ |
| #define LPSPI_CFGR1_PCSCFG_MASK (0x03 << LPSPI_CFGR1_PCSCFG_SHIFT) |
| # define LPSPI_CFGR1_PCSCFG_PCS (0x00 << LPSPI_CFGR1_PCSCFG_SHIFT) /* PCS[2:7] are configured for chip select function */ |
| # define LPSPI_CFGR1_PCSCFG_4BIT (0x01 << LPSPI_CFGR1_PCSCFG_SHIFT) /* PCS[2:3] are configured for half-duplex 4-bit transfers */ |
| # define LPSPI_CFGR1_PCSCFG_8BIT (0x03 << LPSPI_CFGR1_PCSCFG_SHIFT) /* PCS[2:7] are configured for half-duplex 4-bit and 8-bit transfers */ |
| |
| /* Bits 29-31: Reserved */ |
| |
| /* Data Match Register 0 (DMR0) */ |
| |
| #define LPSPI_DMR0_MATCH0_SHIFT (0) /* Bits 0-31: Match 0 Value (MATCH0) */ |
| #define LPSPI_DMR0_MATCH0_MASK (0xffffffff << LPSPI_DMR0_MATCH0_SHIFT) |
| |
| /* Data Match Register 0 (DMR1) */ |
| |
| #define LPSPI_DMR1_MATCH1_SHIFT (0) /* Bits 0-31: Match 1 Value (MATCH1) */ |
| #define LPSPI_DMR1_MATCH1_MASK (0xffffffff << LPSPI_DMR1_MATCH1_SHIFT) |
| |
| /* Clock Configuration Register (CCR) */ |
| |
| #define LPSPI_CCR_SCKDIV_SHIFT (0) /* Bits 0-7: SCK Divider (SCKDIV) */ |
| #define LPSPI_CCR_SCKDIV_MASK (0xff << LPSPI_CCR_SCKDIV_SHIFT) |
| # define LPSPI_CCR_SCKDIV(n) (((uint32_t)(n) << LPSPI_CCR_SCKDIV_SHIFT) & LPSPI_CCR_SCKDIV_MASK) |
| #define LPSPI_CCR_DBT_SHIFT (8) /* Bits 8-15: Delay Between Transfers (DBT) */ |
| #define LPSPI_CCR_DBT_MASK (0xff << LPSPI_CCR_DBT_SHIFT) |
| # define LPSPI_CCR_DBT(n) (((uint32_t)(n) << LPSPI_CCR_DBT_SHIFT) & LPSPI_CCR_DBT_MASK) |
| #define LPSPI_CCR_PCSSCK_SHIFT (16) /* Bits 16-23: PCS-to-SCK Delay (PCSSCK) */ |
| #define LPSPI_CCR_PCSSCK_MASK (0xff << LPSPI_CCR_PCSSCK_SHIFT) |
| # define LPSPI_CCR_PCSSCK(n) (((uint32_t)(n) << LPSPI_CCR_PCSSCK_SHIFT) & LPSPI_CCR_PCSSCK_MASK) |
| #define LPSPI_CCR_SCKPCS_SHIFT (24) /* Bits 24-31: SCK-to-PCS Delay (SCKPCS) */ |
| #define LPSPI_CCR_SCKPCS_MASK (0xff << LPSPI_CCR_SCKPCS_SHIFT) |
| # define LPSPI_CCR_SCKPCS(n) (((uint32_t)(n) << LPSPI_CCR_SCKPCS_SHIFT) & LPSPI_CCR_SCKPCS_MASK) |
| |
| /* Clock Configuration Register 1 (CCR1) */ |
| |
| #define LPSPI_CCR1_SCKSET_SHIFT (0) /* Bits 0-7: SCK Setup (SCKSET) */ |
| #define LPSPI_CCR1_SCKSET_MASK (0xff << LPSPI_CCR1_SCKSET_SHIFT) |
| #define LPSPI_CCR1_SCKHLD_SHIFT (8) /* Bits 8-15: SCK Hold (SCKHLD) */ |
| #define LPSPI_CCR1_SCKHLD_MASK (0xff << LPSPI_CCR1_SCKHLD_SHIFT) |
| #define LPSPI_CCR1_PCSPCS_SHIFT (16) /* Bits 16-23: PCS to PCS Delay (PCSPCS) */ |
| #define LPSPI_CCR1_PCSPCS_MASK (0xff << LPSPI_CCR1_PCSPCS_SHIFT) |
| #define LPSPI_CCR1_SCKSCK_SHIFT (24) /* Bits 24-31: SCK Inter-Frame Delay (SCKSCK) */ |
| #define LPSPI_CCR1_SCKSCK_MASK (0xff << LPSPI_CCR1_SCKSCK_SHIFT) |
| |
| /* FIFO Control Register (FCR) */ |
| |
| #define LPSPI_FCR_TXWATER_SHIFT (0) /* Bits 0-1: Transmit FIFO Watermark (TXWATER) */ |
| #define LPSPI_FCR_TXWATER_MASK (0x03 << LPSPI_FCR_TXWATER_SHIFT) |
| # define LPSPI_FCR_TXWATER(n) ((uint32_t)(n) << LPSPI_FCR_TXWATER_SHIFT) |
| /* Bits 2-15: Reserved */ |
| #define LPSPI_FCR_RXWATER_SHIFT (16) /* Bits 16-17: Receive FIFO Watermark (RXWATER) */ |
| #define LPSPI_FCR_RXWATER_MASK (0x03 << LPSPI_FCR_RXWATER_SHIFT) |
| # define LPSPI_FCR_RXWATER(n) ((uint32_t)(n) << LPSPI_FCR_RXWATER_SHIFT) |
| /* Bits 18-31: Reserved */ |
| |
| /* FIFO Status Register (FSR) */ |
| |
| #define LPSPI_FSR_TXCOUNT_SHIFT (0) /* Bits 0-2: Transmit FIFO Count (TXCOUNT) */ |
| #define LPSPI_FSR_TXCOUNT_MASK (0x07 << LPSPI_FSR_TXCOUNT_SHIFT) |
| /* Bits 3-15: Reserved */ |
| #define LPSPI_FSR_RXCOUNT_SHIFT (16) /* Bits 16-18: Receive FIFO Count (RXCOUNT) */ |
| #define LPSPI_FSR_RXCOUNT_MASK (0x07 << LPSPI_FSR_RXCOUNT_SHIFT) |
| /* Bits 19-31: Reserved */ |
| |
| /* Transmit Command Register (TCR) */ |
| |
| #define LPSPI_TCR_FRAMESZ_SHIFT (0) /* Bits 0-11: Frame Size (FRAMESZ) */ |
| #define LPSPI_TCR_FRAMESZ_MASK (0x0fff << LPSPI_TCR_FRAMESZ_SHIFT) |
| # define LPSPI_TCR_FRAMESZ(n) ((uint32_t)(n) << LPSPI_TCR_FRAMESZ_SHIFT) |
| /* Bits 12-15: Reserved */ |
| #define LPSPI_TCR_WIDTH_SHIFT (16) /* Bits 16-17: Transfer Width (WIDTH) */ |
| #define LPSPI_TCR_WIDTH_MASK (0x03 << LPSPI_TCR_WIDTH_SHIFT) |
| # define LPSPI_TCR_WIDTH_1BIT (0x00 << LPSPI_TCR_WIDTH_SHIFT) /* 1 bit transfer */ |
| # define LPSPI_TCR_WIDTH_2BIT (0x01 << LPSPI_TCR_WIDTH_SHIFT) /* 2 bit transfer */ |
| # define LPSPI_TCR_WIDTH_4BIT (0x02 << LPSPI_TCR_WIDTH_SHIFT) /* 4 bit transfer */ |
| # define LPSPI_TCR_WIDTH_8BIT (0x03 << LPSPI_TCR_WIDTH_SHIFT) /* 8 bit transfer */ |
| |
| #define LPSPI_TCR_TXMSK (1 << 18) /* Bit 18: Transmit Data Mask (TXMSK) */ |
| #define LPSPI_TCR_RXMSK (1 << 19) /* Bit 19: Receive Data Mask (RXMSK) */ |
| #define LPSPI_TCR_CONTC (1 << 20) /* Bit 20: Continuing Command (CONTC) */ |
| #define LPSPI_TCR_CONT (1 << 21) /* Bit 21: Continuous Transfer (CONT) */ |
| #define LPSPI_TCR_BYSW (1 << 22) /* Bit 22: Byte Swap (BYSW) */ |
| #define LPSPI_TCR_LSBF (1 << 23) /* Bit 23: LSB First (LSBF) */ |
| # define LPSPI_TCR_MSBF (0 << 23) /* MSB First */ |
| #define LPSPI_TCR_PCS_SHIFT (24) /* Bits 24-26: Peripheral Chip Select (PCS) */ |
| #define LPSPI_TCR_PCS_MASK (0x07 << LPSPI_TCR_PCS_SHIFT) |
| # define LPSPI_TCR_PCS_0 (0x00 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[0] */ |
| # define LPSPI_TCR_PCS_1 (0x01 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[1] */ |
| # define LPSPI_TCR_PCS_2 (0x02 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[2] */ |
| # define LPSPI_TCR_PCS_3 (0x03 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[3] */ |
| # define LPSPI_TCR_PCS_4 (0x04 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[4] */ |
| # define LPSPI_TCR_PCS_5 (0x05 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[5] */ |
| # define LPSPI_TCR_PCS_6 (0x06 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[6] */ |
| # define LPSPI_TCR_PCS_7 (0x07 << LPSPI_TCR_PCS_SHIFT) /* Transfer using PCS[7] */ |
| |
| #define LPSPI_TCR_PRESCALE_SHIFT (27) /* Bits 27-29: Prescaler Value (PRESCALE) */ |
| #define LPSPI_TCR_PRESCALE_MASK (0x07 << LPSPI_TCR_PRESCALE_SHIFT) |
| # define LPSPI_TCR_PRESCALE_DIV1 (0x00 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 1 */ |
| # define LPSPI_TCR_PRESCALE_DIV2 (0x01 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 2 */ |
| # define LPSPI_TCR_PRESCALE_DIV4 (0x02 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 4 */ |
| # define LPSPI_TCR_PRESCALE_DIV8 (0x03 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 8 */ |
| # define LPSPI_TCR_PRESCALE_DIV16 (0x04 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 16 */ |
| # define LPSPI_TCR_PRESCALE_DIV32 (0x05 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 32 */ |
| # define LPSPI_TCR_PRESCALE_DIV64 (0x06 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 64 */ |
| # define LPSPI_TCR_PRESCALE_DIV128 (0x07 << LPSPI_TCR_PRESCALE_SHIFT) /* Divide by 128 */ |
| # define LPSPI_TCR_PRESCALE(n) ((n) << LPSPI_TCR_PRESCALE_SHIFT) |
| |
| #define LPSPI_TCR_CPHA (1 << 30) /* Bit 30: Clock Phase (CPHA) */ |
| # define LPSPI_TCR_CPHA_CAPTURED (0 << 30) /* Data is captured on the leading edge of SCK and changed on the following edge of SCK */ |
| # define LPSPI_TCR_CPHA_CHANGED (1 << 30) /* Data is changed on the leading edge of SCK and captured on the following edge of SCK */ |
| #define LPSPI_TCR_CPOL (1 << 31) /* Bit 31: Clock Polarity (CPOL) */ |
| # define LPSPI_TCR_CPOL_LOW (0 << 31) /* The inactive state value of SCK is low */ |
| # define LPSPI_TCR_CPOL_HIGH (1 << 31) /* The inactive state value of SCK is high */ |
| |
| /* Transmit Data Register (TDR) */ |
| |
| #define LPSPI_TDR_DATA_SHIFT (0) /* Bits 0-31: Transmit Data (DATA) */ |
| #define LPSPI_TDR_DATA_MASK (0xffffffff << LPSPI_TDR_DATA_SHIFT) |
| |
| /* Receive Status Register (RSR) */ |
| |
| #define LPSPI_RSR_SOF (1 << 0) /* Bit 0: Start Of Frame (SOF) */ |
| #define LPSPI_RSR_RXEMPTY (1 << 1) /* Bit 1: RX FIFO Empty (RXEMPTY) */ |
| /* Bits 2-31: Reserved */ |
| |
| /* Receive Data Register (RDR) */ |
| |
| #define LPSPI_RDR_DATA_SHIFT (0) /* Bits 0-31: Receive Data (DATA) */ |
| #define LPSPI_RDR_DATA_MASK (0xffffffff << LPSPI_RDR_DATA_SHIFT) |
| |
| /* Receive Data Read Only Register (RDROR) */ |
| |
| #define LPSPI_RDROR_DATA_SHIFT (0) /* Bits 0-31: Receive Data (DATA) */ |
| #define LPSPI_RDROR_DATA_MASK (0xffffffff << LPSPI_RDROR_DATA_SHIFT) |
| |
| /* Transmit Command Burst Register (TCBR) */ |
| |
| #define LPSPI_TCBR_DATA_SHIFT (0) /* Bits 0-31: Command Data (DATA) */ |
| #define LPSPI_TCBR_DATA_MASK (0xffffffff << LPSPI_TCBR_DATA_SHIFT) |
| |
| /* Transmit Data Burst Register (TDBR) */ |
| |
| #define LPSPI_TDBR_DATA_SHIFT (0) /* Bits 0-31: Data (DATA) */ |
| #define LPSPI_TDBR_DATA_MASK (0xffffffff << LPSPI_TDBR_DATA_SHIFT) |
| |
| /* Receive Data Burst Register (RDBR) */ |
| |
| #define LPSPI_RDBR_DATA_SHIFT (0) /* Bits 0-31: Data (DATA) */ |
| #define LPSPI_RDBR_DATA_MASK (0xffffffff << LPSPI_RDBR_DATA_SHIFT) |
| |
| #endif /* __ARCH_ARM_SRC_S32K3XX_HARDWARE_S32K3XX_LPSPI_H */ |