Skip to content

Commit e40e609

Browse files
committed
2 parents d9413e8 + 0ff460b commit e40e609

File tree

16 files changed

+138
-105
lines changed

16 files changed

+138
-105
lines changed

cores/arduino/stm32/analog.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ uint16_t adc_read_value(PinName pin)
916916
!defined(STM32WBxx) && !defined(STM32F373xC) && !defined(STM32F378xx)
917917
AdcChannelConf.Offset = 0; /* Parameter discarded because offset correction is disabled */
918918
#endif
919-
#if defined (STM32H7xx)
919+
#if defined (STM32H7xx) || defined(STM32MP1xx)
920920
AdcChannelConf.OffsetRightShift = DISABLE; /* No Right Offset Shift */
921921
AdcChannelConf.OffsetSignedSaturation = DISABLE; /* Signed saturation feature is not used */
922922
#endif
@@ -929,12 +929,13 @@ uint16_t adc_read_value(PinName pin)
929929

930930
#if defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32F3xx) || \
931931
defined(STM32G0xx) || defined(STM32G4xx) || defined(STM32H7xx) || \
932-
defined(STM32L0xx) || defined(STM32L4xx) || defined(STM32WBxx)
932+
defined(STM32L0xx) || defined(STM32L4xx) || defined(STM32MP1xx) || \
933+
defined(STM32WBxx)
933934
/*##-2.1- Calibrate ADC then Start the conversion process ####################*/
934935
#if defined(STM32F0xx) || defined(STM32G0xx) || defined(STM32F1xx) || \
935936
defined(STM32F373xC) || defined(STM32F378xx)
936937
if (HAL_ADCEx_Calibration_Start(&AdcHandle) != HAL_OK)
937-
#elif defined (STM32H7xx)
938+
#elif defined (STM32H7xx) || defined(STM32MP1xx)
938939
if (HAL_ADCEx_Calibration_Start(&AdcHandle, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED) != HAL_OK)
939940
#else
940941
if (HAL_ADCEx_Calibration_Start(&AdcHandle, ADC_SINGLE_ENDED) != HAL_OK)

libraries/SPI/src/SPI.cpp

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ void SPIClass::begin(uint8_t _pin)
7878
_spi.handle.State = HAL_SPI_STATE_RESET;
7979
spi_init(&_spi, spiSettings[idx].clk,
8080
spiSettings[idx].dMode,
81-
spiSettings[idx].msb);
81+
spiSettings[idx].bOrder);
8282
_CSPinConfig = _pin;
8383
#if __has_include("WiFi.h")
8484
// Wait wifi shield initialization.
@@ -115,11 +115,6 @@ void SPIClass::beginTransaction(uint8_t _pin, SPISettings settings)
115115
spiSettings[idx].clk = settings.clk;
116116
spiSettings[idx].dMode = settings.dMode;
117117
spiSettings[idx].bOrder = settings.bOrder;
118-
if (spiSettings[idx].bOrder == MSBFIRST) {
119-
spiSettings[idx].msb = MSBFIRST;
120-
} else {
121-
spiSettings[idx].msb = LSBFIRST;
122-
}
123118

124119
if ((_pin != CS_PIN_CONTROLLED_BY_USER) && (_spi.pin_ssel == NC)) {
125120
pinMode(_pin, OUTPUT);
@@ -128,7 +123,7 @@ void SPIClass::beginTransaction(uint8_t _pin, SPISettings settings)
128123

129124
spi_init(&_spi, spiSettings[idx].clk,
130125
spiSettings[idx].dMode,
131-
spiSettings[idx].msb);
126+
spiSettings[idx].bOrder);
132127
_CSPinConfig = _pin;
133128
}
134129

@@ -173,17 +168,11 @@ void SPIClass::setBitOrder(uint8_t _pin, BitOrder _bitOrder)
173168
return;
174169
}
175170

176-
if (MSBFIRST == _bitOrder) {
177-
spiSettings[idx].msb = MSBFIRST;
178-
spiSettings[idx].bOrder = MSBFIRST;
179-
} else {
180-
spiSettings[idx].msb = LSBFIRST;
181-
spiSettings[idx].bOrder = LSBFIRST;
182-
}
171+
spiSettings[idx].bOrder = _bitOrder;
183172

184173
spi_init(&_spi, spiSettings[idx].clk,
185174
spiSettings[idx].dMode,
186-
spiSettings[idx].msb);
175+
spiSettings[idx].bOrder);
187176
}
188177

189178
/**
@@ -221,7 +210,7 @@ void SPIClass::setDataMode(uint8_t _pin, uint8_t _mode)
221210

222211
spi_init(&_spi, spiSettings[idx].clk,
223212
spiSettings[idx].dMode,
224-
spiSettings[idx].msb);
213+
spiSettings[idx].bOrder);
225214
}
226215

227216
/**
@@ -250,7 +239,7 @@ void SPIClass::setClockDivider(uint8_t _pin, uint8_t _divider)
250239

251240
spi_init(&_spi, spiSettings[idx].clk,
252241
spiSettings[idx].dMode,
253-
spiSettings[idx].msb);
242+
spiSettings[idx].bOrder);
254243
}
255244

256245
/**
@@ -281,7 +270,7 @@ byte SPIClass::transfer(uint8_t _pin, uint8_t data, SPITransferMode _mode)
281270
}
282271
spi_init(&_spi, spiSettings[idx].clk,
283272
spiSettings[idx].dMode,
284-
spiSettings[idx].msb);
273+
spiSettings[idx].bOrder);
285274
_CSPinConfig = _pin;
286275
}
287276

@@ -328,11 +317,11 @@ uint16_t SPIClass::transfer16(uint8_t _pin, uint16_t data, SPITransferMode _mode
328317
if (_pin != _CSPinConfig) {
329318
spi_init(&_spi, spiSettings[idx].clk,
330319
spiSettings[idx].dMode,
331-
spiSettings[idx].msb);
320+
spiSettings[idx].bOrder);
332321
_CSPinConfig = _pin;
333322
}
334323

335-
if (spiSettings[idx].msb) {
324+
if (spiSettings[idx].bOrder) {
336325
tmp = ((data & 0xff00) >> 8) | ((data & 0xff) << 8);
337326
data = tmp;
338327
}
@@ -347,7 +336,7 @@ uint16_t SPIClass::transfer16(uint8_t _pin, uint16_t data, SPITransferMode _mode
347336
digitalWrite(_pin, HIGH);
348337
}
349338

350-
if (spiSettings[idx].msb) {
339+
if (spiSettings[idx].bOrder) {
351340
tmp = ((rx_buffer & 0xff00) >> 8) | ((rx_buffer & 0xff) << 8);
352341
rx_buffer = tmp;
353342
}
@@ -382,7 +371,7 @@ void SPIClass::transfer(uint8_t _pin, void *_buf, size_t _count, SPITransferMode
382371
}
383372
spi_init(&_spi, spiSettings[idx].clk,
384373
spiSettings[idx].dMode,
385-
spiSettings[idx].msb);
374+
spiSettings[idx].bOrder);
386375
_CSPinConfig = _pin;
387376
}
388377

@@ -425,7 +414,7 @@ void SPIClass::transfer(byte _pin, void *_bufout, void *_bufin, size_t _count, S
425414
}
426415
spi_init(&_spi, spiSettings[idx].clk,
427416
spiSettings[idx].dMode,
428-
spiSettings[idx].msb);
417+
spiSettings[idx].bOrder);
429418
_CSPinConfig = _pin;
430419
}
431420

libraries/SPI/src/SPI.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,6 @@ class SPISettings {
6969
SPISettings(uint32_t clock, BitOrder bitOrder, uint8_t dataMode)
7070
{
7171
clk = clock;
72-
73-
if (bitOrder == MSBFIRST) {
74-
msb = 1;
75-
} else {
76-
msb = 0;
77-
}
7872
bOrder = bitOrder;
7973

8074
if (SPI_MODE0 == dataMode) {
@@ -86,14 +80,12 @@ class SPISettings {
8680
} else if (SPI_MODE3 == dataMode) {
8781
dMode = SPI_MODE_3;
8882
}
89-
9083
}
9184
SPISettings()
9285
{
9386
pinCS = -1;
9487
clk = SPI_SPEED_CLOCK_DEFAULT;
9588
bOrder = MSBFIRST;
96-
msb = 1;
9789
dMode = SPI_MODE_0;
9890
}
9991
private:
@@ -106,7 +98,6 @@ class SPISettings {
10698
//SPI_MODE1 0 1
10799
//SPI_MODE2 1 0
108100
//SPI_MODE3 1 1
109-
uint8_t msb; //set to 1 if msb first
110101
friend class SPIClass;
111102
};
112103

@@ -279,7 +270,6 @@ class SPIClass {
279270
spiSettings[i].pinCS = -1;
280271
spiSettings[i].clk = SPI_SPEED_CLOCK_DEFAULT;
281272
spiSettings[i].bOrder = MSBFIRST;
282-
spiSettings[i].msb = 1;
283273
spiSettings[i].dMode = SPI_MODE_0;
284274
}
285275
}
@@ -291,7 +281,6 @@ class SPIClass {
291281
spiSettings[i].pinCS = -1;
292282
spiSettings[i].clk = SPI_SPEED_CLOCK_DEFAULT;
293283
spiSettings[i].bOrder = MSBFIRST;
294-
spiSettings[i].msb = 1;
295284
spiSettings[i].dMode = SPI_MODE_0;
296285
}
297286
}

platform.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,4 @@ tools.remoteproc_gen.busybox.windows={path}/win/busybox.exe
209209
tools.remoteproc_gen.script=run_arduino_gen.sh
210210
tools.remoteproc_gen.upload.params.verbose=
211211
tools.remoteproc_gen.upload.params.quiet=
212-
tools.remoteproc_gen.upload.pattern="{busybox}" sh "{path}/{script}" generate "{build.path}/{build.project_name}.elf" "{build.path}/run_arduino.sh"
212+
tools.remoteproc_gen.upload.pattern="{busybox}" sh "{path}/{script}" generate "{build.path}/{build.project_name}.elf" "{build.path}/run_arduino_{build.project_name}.sh"

system/Middlewares/OpenAMP/libmetal/lib/include/metal/system/generic/condition.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#if defined (__CC_ARM)
2020
#include <stdio.h>
2121
#endif
22-
#include <unistd.h>
2322
#include <metal/atomic.h>
2423
#include <stdint.h>
2524
#include <limits.h>

system/Middlewares/OpenAMP/libmetal/lib/include/metal/system/generic/sys.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
#define __METAL_GENERIC_SYS__H__
1818

1919
#include <metal/errno.h>
20-
#include <fcntl.h>
21-
#include <libgen.h>
2220
#include <limits.h>
2321
#include <stdio.h>
2422
#include <stdlib.h>

system/Middlewares/OpenAMP/libmetal/st_readme.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@
1818
******************************************************************************
1919
@endverbatim
2020

21+
### V1.0.1/11-October-2019 ###
22+
===============================
23+
24+
+ Remove include files not used to fix compilation on IAR and KEIL
25+
- lib/include/metal/system/generic/condition.h
26+
- lib/include/metal/system/generic/sys.h
27+
28+
2129
### V1.0.0/29-March-2019 ###
2230
===============================
2331
+ Integrate official release v2018.10

system/Middlewares/OpenAMP/mw_if/app_if/openamp_conf_template.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,13 @@
7474
#endif /* VIRTUAL_I2C_MODULE_ENABLED */
7575

7676

77+
/* ########################## Linux Master Selection ############################## */
78+
/**
79+
* @brief Due to Linux compatibility, it's important to distinguish if the MASTER is Linux or not.
80+
* In that case, the LINUX_RPROC_MASTER define is required
81+
*/
82+
//#define LINUX_RPROC_MASTER
83+
7784

7885
/* USER CODE BEGIN INCLUDE */
7986

@@ -154,7 +161,7 @@ extern int __OPENAMP_region_end__[]; /* defined by linker script */
154161

155162
#endif
156163

157-
#if defined STM32MP157Cxx
164+
#if defined LINUX_RPROC_MASTER
158165
#define VRING_RX_ADDRESS -1 /* allocated by Master processor: CA7 */
159166
#define VRING_TX_ADDRESS -1 /* allocated by Master processor: CA7 */
160167
#define VRING_BUFF_ADDRESS -1 /* allocated by Master processor: CA7 */

system/Middlewares/OpenAMP/mw_if/platform_if/rsc_table_template.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
#define __resource __section_t(.resource_table)
6262
#endif
6363

64-
#if defined (STM32MP157Cxx)
64+
#if defined (LINUX_RPROC_MASTER)
6565
#ifdef VIRTIO_MASTER_ONLY
6666
#define CONST
6767
#else
@@ -82,7 +82,7 @@ extern char system_log_buf[];
8282
#endif
8383

8484
#if defined(__GNUC__)
85-
#if !defined (__CC_ARM) && !defined (STM32MP157Cxx)
85+
#if !defined (__CC_ARM) && !defined (LINUX_RPROC_MASTER)
8686

8787
/* Since GCC is not initializing the resource_table at startup, it is declared as volatile to avoid compiler optimization
8888
* for the CM4 (see resource_table_init() below)
@@ -95,7 +95,7 @@ CONST struct shared_resource_table __resource __attribute__((used)) resource_tab
9595
__root CONST struct shared_resource_table resource_table @ ".resource_table" = {
9696
#endif
9797

98-
#if defined(__ICCARM__) || defined (__CC_ARM) || defined (STM32MP157Cxx)
98+
#if defined(__ICCARM__) || defined (__CC_ARM) || defined (LINUX_RPROC_MASTER)
9999
.version = 1,
100100
#if defined (__LOG_TRACE_IO_)
101101
.num = 2,
@@ -130,7 +130,7 @@ __root CONST struct shared_resource_table resource_table @ ".resource_table" = {
130130
void resource_table_init(int RPMsgRole, void **table_ptr, int *length)
131131
{
132132

133-
#if !defined (STM32MP157Cxx)
133+
#if !defined (LINUX_RPROC_MASTER)
134134
#if defined (__GNUC__) && ! defined (__CC_ARM)
135135
#ifdef VIRTIO_MASTER_ONLY
136136

system/Middlewares/OpenAMP/mw_if/st_readme.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818
******************************************************************************
1919
@endverbatim
2020

21+
### V1.0.3/08-November-2019 ##
22+
===============================
23+
+ openamp_conf_template.h:
24+
- replace the "STM32MP157Cxx" define macro with "LINUX_RPROC_MASTER" to support all STM32MP1 varieties
25+
2126
### V1.0.2/29-July-2019 ###
2227
============================
2328

0 commit comments

Comments
 (0)