mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 19:24:33 +02:00
Merge branch 'bugfix/spi2_add_device_cs_more_than_3_v4.4' into 'release/v4.4'
spi_master:fix error when use `spi_bus_add_device` more than 3 device(v4.4) See merge request espressif/esp-idf!20126
This commit is contained in:
@@ -226,6 +226,7 @@
|
|||||||
#define SOC_SPI_DMA_CHAN_NUM 2
|
#define SOC_SPI_DMA_CHAN_NUM 2
|
||||||
|
|
||||||
#define SOC_SPI_PERIPH_CS_NUM(i) 3
|
#define SOC_SPI_PERIPH_CS_NUM(i) 3
|
||||||
|
#define SOC_SPI_MAX_CS_NUM 3
|
||||||
|
|
||||||
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
||||||
#define SOC_SPI_MAX_PRE_DIVIDER 8192
|
#define SOC_SPI_MAX_PRE_DIVIDER 8192
|
||||||
|
@@ -212,6 +212,7 @@
|
|||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_PERIPH_NUM 2
|
#define SOC_SPI_PERIPH_NUM 2
|
||||||
#define SOC_SPI_PERIPH_CS_NUM(i) 6
|
#define SOC_SPI_PERIPH_CS_NUM(i) 6
|
||||||
|
#define SOC_SPI_MAX_CS_NUM 6
|
||||||
|
|
||||||
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
||||||
|
|
||||||
|
@@ -1,16 +1,8 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// 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.
|
|
||||||
|
|
||||||
#include "soc/spi_periph.h"
|
#include "soc/spi_periph.h"
|
||||||
#include "stddef.h"
|
#include "stddef.h"
|
||||||
@@ -54,7 +46,7 @@ const spi_signal_conn_t spi_periph_signal[SOC_SPI_PERIPH_NUM] = {
|
|||||||
.spiq_in = FSPIQ_IN_IDX,
|
.spiq_in = FSPIQ_IN_IDX,
|
||||||
.spiwp_in = FSPIWP_IN_IDX,
|
.spiwp_in = FSPIWP_IN_IDX,
|
||||||
.spihd_in = FSPIHD_IN_IDX,
|
.spihd_in = FSPIHD_IN_IDX,
|
||||||
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX},
|
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX, FSPICS3_OUT_IDX, FSPICS4_OUT_IDX, FSPICS5_OUT_IDX},
|
||||||
.spics_in = FSPICS0_IN_IDX,
|
.spics_in = FSPICS0_IN_IDX,
|
||||||
.spiclk_iomux_pin = SPI2_IOMUX_PIN_NUM_CLK,
|
.spiclk_iomux_pin = SPI2_IOMUX_PIN_NUM_CLK,
|
||||||
.spid_iomux_pin = SPI2_IOMUX_PIN_NUM_MOSI,
|
.spid_iomux_pin = SPI2_IOMUX_PIN_NUM_MOSI,
|
||||||
|
@@ -197,6 +197,7 @@
|
|||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_PERIPH_NUM 2
|
#define SOC_SPI_PERIPH_NUM 2
|
||||||
#define SOC_SPI_PERIPH_CS_NUM(i) 6
|
#define SOC_SPI_PERIPH_CS_NUM(i) 6
|
||||||
|
#define SOC_SPI_MAX_CS_NUM 6
|
||||||
|
|
||||||
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
||||||
|
|
||||||
|
@@ -1,16 +1,8 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// 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.
|
|
||||||
|
|
||||||
#include "soc/spi_periph.h"
|
#include "soc/spi_periph.h"
|
||||||
#include "stddef.h"
|
#include "stddef.h"
|
||||||
@@ -54,7 +46,7 @@ const spi_signal_conn_t spi_periph_signal[SOC_SPI_PERIPH_NUM] = {
|
|||||||
.spiq_in = FSPIQ_IN_IDX,
|
.spiq_in = FSPIQ_IN_IDX,
|
||||||
.spiwp_in = FSPIWP_IN_IDX,
|
.spiwp_in = FSPIWP_IN_IDX,
|
||||||
.spihd_in = FSPIHD_IN_IDX,
|
.spihd_in = FSPIHD_IN_IDX,
|
||||||
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX},
|
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX, FSPICS3_OUT_IDX, FSPICS4_OUT_IDX, FSPICS5_OUT_IDX},
|
||||||
.spics_in = FSPICS0_IN_IDX,
|
.spics_in = FSPICS0_IN_IDX,
|
||||||
.spiclk_iomux_pin = SPI2_IOMUX_PIN_NUM_CLK,
|
.spiclk_iomux_pin = SPI2_IOMUX_PIN_NUM_CLK,
|
||||||
.spid_iomux_pin = SPI2_IOMUX_PIN_NUM_MOSI,
|
.spid_iomux_pin = SPI2_IOMUX_PIN_NUM_MOSI,
|
||||||
|
@@ -203,9 +203,10 @@
|
|||||||
#define SOC_SIGMADELTA_CHANNEL_NUM (8) // 8 channels
|
#define SOC_SIGMADELTA_CHANNEL_NUM (8) // 8 channels
|
||||||
|
|
||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_PERIPH_NUM 3
|
#define SOC_SPI_PERIPH_NUM 3
|
||||||
#define SOC_SPI_DMA_CHAN_NUM 3
|
#define SOC_SPI_DMA_CHAN_NUM 3
|
||||||
#define SOC_SPI_PERIPH_CS_NUM(i) (((i)==0)? 2: (((i)==1)? 6: 3))
|
#define SOC_SPI_PERIPH_CS_NUM(i) (((i)==0)? 2: (((i)==1)? 6: 3))
|
||||||
|
#define SOC_SPI_MAX_CS_NUM 6
|
||||||
|
|
||||||
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 72
|
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 72
|
||||||
#define SOC_SPI_MAX_PRE_DIVIDER 8192
|
#define SOC_SPI_MAX_PRE_DIVIDER 8192
|
||||||
|
@@ -1,16 +1,8 @@
|
|||||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// 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.
|
|
||||||
|
|
||||||
#include "soc/spi_periph.h"
|
#include "soc/spi_periph.h"
|
||||||
#include "stddef.h"
|
#include "stddef.h"
|
||||||
@@ -62,7 +54,7 @@ const spi_signal_conn_t spi_periph_signal[SOC_SPI_PERIPH_NUM] = {
|
|||||||
.spid5_in = FSPIIO5_IN_IDX,
|
.spid5_in = FSPIIO5_IN_IDX,
|
||||||
.spid6_in = FSPIIO6_IN_IDX,
|
.spid6_in = FSPIIO6_IN_IDX,
|
||||||
.spid7_in = FSPIIO7_IN_IDX,
|
.spid7_in = FSPIIO7_IN_IDX,
|
||||||
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX},
|
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX, FSPICS3_OUT_IDX, FSPICS4_OUT_IDX, FSPICS5_OUT_IDX},
|
||||||
.spics_in = FSPICS0_IN_IDX,
|
.spics_in = FSPICS0_IN_IDX,
|
||||||
.spiclk_iomux_pin = FSPI_IOMUX_PIN_NUM_CLK,
|
.spiclk_iomux_pin = FSPI_IOMUX_PIN_NUM_CLK,
|
||||||
.spid_iomux_pin = FSPI_IOMUX_PIN_NUM_MOSI,
|
.spid_iomux_pin = FSPI_IOMUX_PIN_NUM_MOSI,
|
||||||
|
@@ -208,6 +208,7 @@
|
|||||||
#define SOC_SPI_PERIPH_NUM 3
|
#define SOC_SPI_PERIPH_NUM 3
|
||||||
#define SOC_SPI_DMA_CHAN_NUM 3
|
#define SOC_SPI_DMA_CHAN_NUM 3
|
||||||
#define SOC_SPI_PERIPH_CS_NUM(i) 3
|
#define SOC_SPI_PERIPH_CS_NUM(i) 3
|
||||||
|
#define SOC_SPI_MAX_CS_NUM 6
|
||||||
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
#define SOC_SPI_MAXIMUM_BUFFER_SIZE 64
|
||||||
#define SOC_SPI_SUPPORT_DDRCLK 1
|
#define SOC_SPI_SUPPORT_DDRCLK 1
|
||||||
#define SOC_SPI_SLAVE_SUPPORT_SEG_TRANS 1
|
#define SOC_SPI_SLAVE_SUPPORT_SEG_TRANS 1
|
||||||
|
@@ -1,16 +1,8 @@
|
|||||||
// Copyright 2015-2020 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// 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.
|
|
||||||
|
|
||||||
#include "soc/spi_periph.h"
|
#include "soc/spi_periph.h"
|
||||||
#include "stddef.h"
|
#include "stddef.h"
|
||||||
@@ -62,7 +54,7 @@ const spi_signal_conn_t spi_periph_signal[SOC_SPI_PERIPH_NUM] = {
|
|||||||
.spid5_in = FSPIIO5_IN_IDX,
|
.spid5_in = FSPIIO5_IN_IDX,
|
||||||
.spid6_in = FSPIIO6_IN_IDX,
|
.spid6_in = FSPIIO6_IN_IDX,
|
||||||
.spid7_in = FSPIIO7_IN_IDX,
|
.spid7_in = FSPIIO7_IN_IDX,
|
||||||
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX},
|
.spics_out = {FSPICS0_OUT_IDX, FSPICS1_OUT_IDX, FSPICS2_OUT_IDX, FSPICS3_OUT_IDX, FSPICS4_OUT_IDX, FSPICS5_OUT_IDX},
|
||||||
.spics_in = FSPICS0_IN_IDX,
|
.spics_in = FSPICS0_IN_IDX,
|
||||||
.spiclk_iomux_pin = SPI2_IOMUX_PIN_NUM_CLK,
|
.spiclk_iomux_pin = SPI2_IOMUX_PIN_NUM_CLK,
|
||||||
.spid_iomux_pin = SPI2_IOMUX_PIN_NUM_MOSI,
|
.spid_iomux_pin = SPI2_IOMUX_PIN_NUM_MOSI,
|
||||||
|
@@ -66,7 +66,7 @@ typedef struct {
|
|||||||
const uint8_t spid6_in;
|
const uint8_t spid6_in;
|
||||||
const uint8_t spid7_in;
|
const uint8_t spid7_in;
|
||||||
#endif // SOC_SPI_SUPPORT_OCT
|
#endif // SOC_SPI_SUPPORT_OCT
|
||||||
const uint8_t spics_out[3]; // /CS GPIO output mux signals
|
const uint8_t spics_out[SOC_SPI_MAX_CS_NUM]; // /CS GPIO output mux signals
|
||||||
const uint8_t spics_in;
|
const uint8_t spics_in;
|
||||||
const uint8_t spidqs_out;
|
const uint8_t spidqs_out;
|
||||||
const uint8_t spicd_out;
|
const uint8_t spicd_out;
|
||||||
|
Reference in New Issue
Block a user