A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/nrfconnect/sdk-nrfxlib/commit/3b210a24d3bc7ecfc268e0feab6436306b11e7cb below:

Update doc versions in nrfxlib for 3.1.0 · nrfconnect/sdk-nrfxlib@3b210a2 · GitHub

@@ -7,11 +7,11 @@ nRF54L15 porting guide

7 7

:local:

8 8

:depth: 2

9 9 10 -

This page provides a comprehensive overview of the code structure, file hierarchy, and essential configurations and requirements needed to successfully port and implement an sQSPI aplication on the nRF54L15 device.

10 +

This page provides a comprehensive overview of the code structure, file hierarchy, and essential configurations and requirements needed to successfully port and implement an sQSPI application on the nRF54L15 device.

11 11 12 12

.. _nrf54l15_porting_guide_code:

13 13 14 -

sQSPI Application code

14 +

sQSPI application code

15 15

**********************

16 16 17 17

This structure shows the relevant files and directories in the `sdk-nrfxlib`_ repository:

@@ -67,16 +67,16 @@ The following list is a detailed breakdown of the necessary paths:

67 67 68 68

#ifndef NRFX_CONFIG_H__

69 69

#define NRFX_CONFIG_H__

70 - 70 + 71 71

#include "softperipheral_regif.h" // To Resolve correct VPR IRQn for the SoC.

72 72

#define nrf_sqspi_irq_handler SP_VPR_IRQHandler

73 - 73 + 74 74

#define NRF_SQSPI_ENABLED (1)

75 75

#define NRF_SQSPI_MAX_NUM_DATA_LINES (4)

76 76

#define NRF_SQSPI_SP_FIRMWARE_ADDR 0x2003c000

77 77

//^ This address is user defined, the location for the sQSPI firmware

78 - 79 - 78 + 79 + 80 80

#endif // NRFX_CONFIG_H__

81 81 82 82

Compiling source files

@@ -176,8 +176,8 @@ In some cases you might have to modify the sQSPI driver configuration.

176 176

For example, when changing pin drive strength to guarantee signal integrity for a new PCB design.

177 177

You must address these cases on the sQSPI application code:

178 178 179 -

* If you set the :c:var:`nrf_sqspi_cfg_t.skip_gpio_cfg` variable to ``true``, the GPIO configuration is not managed by the sQSPI driver and it must be manually handled by the application.

180 -

* If you set the :c:var:`nrf_sqspi_cfg_t.skip_pmux_cfg` variable to ``true``, the GPIO multiplexing is not managed by the sQSPI driver and it must be manually handled by the application.

179 +

* If you set the :c:var:`nrf_sqspi_cfg_t.skip_gpio_cfg` variable to ``true``, the GPIO configuration is not managed by the sQSPI driver and it must be manually handled by the application.

180 +

* If you set the :c:var:`nrf_sqspi_cfg_t.skip_pmux_cfg` variable to ``true``, the GPIO multiplexing is not managed by the sQSPI driver and it must be manually handled by the application.

181 181 182 182

The following code snippet shows how the application code can allocate the required pins and override the sQSPI driver's default configuration:

183 183

@@ -256,10 +256,10 @@ The following code snippet shows how the application code can enable and disable

256 256

bool result = true;

257 257

uint32_t gpiohs_bias_val;

258 258

uint32_t gpiohs_ctrl_val;

259 - 259 + 260 260

gpiohs_bias_val = 0x7;

261 261

NRF_GPIOHSPADCTRL->BIAS = gpiohs_bias_val;

262 - 262 + 263 263

gpiohs_ctrl_val =

264 264

(0xF << GPIOHSPADCTRL_CTRL_DATAENABLE_Pos) |

265 265

(0x1 << GPIOHSPADCTRL_CTRL_CSNEN_Pos) |

@@ -275,15 +275,15 @@ The following code snippet shows how the application code can enable and disable

275 275

}

276 276

return result;

277 277

}

278 - 278 + 279 279

bool disable_delayed_sampling(void) {

280 280

bool result = true;

281 281

uint32_t gpiohs_bias_val;

282 282

uint32_t gpiohs_ctrl_val;

283 - 283 + 284 284

gpiohs_bias_val = 0x7;

285 285

NRF_GPIOHSPADCTRL->BIAS = gpiohs_bias_val;

286 - 286 + 287 287

gpiohs_ctrl_val = (0x0 << GPIOHSPADCTRL_CTRL_DATAENABLE_Pos) |

288 288

(0x0 << GPIOHSPADCTRL_CTRL_CSNEN_Pos) |

289 289

(0x0 << GPIOHSPADCTRL_CTRL_SCKPHASE_Pos) |

@@ -323,7 +323,7 @@ The following code snippet shows how the application code can reset **P2** pins:

323 323

// NRF_GPIO_PIN_INPUT_DISCONNECT, NRF_GPIO_PIN_NOPULL,

324 324

// NRF_GPIO_PIN_E0E1, NRF_GPIO_PIN_NOSENSE);

325 325

}

326 - 326 + 327 327

void set_serialPadE0E1(nrf_sqspi_dev_cfg_t qspi_dev_config){

328 328

nrf_gpio_cfg(m_qspi_config.pins.sck, NRF_GPIO_PIN_DIR_OUTPUT,

329 329

NRF_GPIO_PIN_INPUT_DISCONNECT, NRF_GPIO_PIN_NOPULL,

@@ -350,7 +350,7 @@ The following code snippet shows how the application code can enable and disable

350 350

nrf_sqspi_spi_lines_t mspi_lines) {

351 351

#pragma GCC diagnostic push

352 352

#pragma GCC diagnostic ignored "-Wmissing-braces"

353 - 353 + 354 354

nrf_sqspi_dev_cfg_t qspi_dev_config = {

355 355

.csn_pin = NRF_PIN_PORT_TO_PIN_NUMBER(5, 2),

356 356

.sck_freq_khz = sck_freq_khz,

@@ -363,27 +363,27 @@ The following code snippet shows how the application code can enable and disable

363 363

.mspi_ddr = NRF_SQSPI_SPI_DDR_SINGLE,

364 364

.spi_clk_stretch = false,

365 365

.xip_cfg = NRF_SQSPI_SPI_XIP_MODE_DISABLED}}};

366 - 366 + 367 367

if (!enable_delayed_sampling(2)) {

368 368

error_exit();

369 369

}

370 - 370 + 371 371

#pragma GCC diagnostic pop

372 - 372 + 373 373

static uint16_t context = 0x45b1;

374 374

if (nrf_sqspi_dev_cfg(p_qspi, &qspi_dev_config, done_callback, &context) !=

375 375

NRFX_SUCCESS) {

376 376

error_exit();

377 377

}

378 - 378 + 379 379

set_serialPadE0E1(qspi_dev_config);

380 380

}

381 - 381 + 382 382

void configure_hs_r(nrf_sqspi_t *p_qspi, uint32_t sck_freq_khz,

383 383

nrf_sqspi_spi_lines_t mspi_lines) {

384 384

#pragma GCC diagnostic push

385 385

#pragma GCC diagnostic ignored "-Wmissing-braces"

386 - 386 + 387 387

nrf_sqspi_dev_cfg_t qspi_dev_config = {

388 388

.csn_pin = NRF_PIN_PORT_TO_PIN_NUMBER(5, 2),

389 389

.sck_freq_khz = sck_freq_khz,

@@ -396,19 +396,19 @@ The following code snippet shows how the application code can enable and disable

396 396

.mspi_ddr = NRF_SQSPI_SPI_DDR_SINGLE,

397 397

.spi_clk_stretch = false,

398 398

.xip_cfg = NRF_SQSPI_SPI_XIP_MODE_DISABLED}}};

399 - 399 + 400 400

if (!enable_delayed_sampling(2)) {

401 401

error_exit();

402 402

}

403 - 403 + 404 404

#pragma GCC diagnostic pop

405 - 405 + 406 406

static uint16_t context = 0x45b1;

407 407

if (nrf_sqspi_dev_cfg(p_qspi, &qspi_dev_config, done_callback, &context) !=

408 408

NRFX_SUCCESS) {

409 409

error_exit();

410 410

}

411 - 411 + 412 412

set_serialPadS0S1();

413 413

set_serialPadE0E1(qspi_dev_config);

414 414

}


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4