Skip to content

Commit 872f3d7

Browse files
iabdalkaderdpgeorge
authored andcommitted
alif/ospi_flash: Add negative clock pin.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
1 parent 8807f8d commit 872f3d7

2 files changed

Lines changed: 18 additions & 13 deletions

File tree

ports/alif/ospi_flash.c

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -264,26 +264,30 @@ int ospi_flash_init(void) {
264264

265265
self->pin = pin;
266266

267-
uint32_t pad_ctrl = PADCTRL_OUTPUT_DRIVE_STRENGTH_12MA | PADCTRL_SLEW_RATE_FAST | PADCTRL_READ_ENABLE;
267+
uint32_t ck_pad_ctrl = PADCTRL_OUTPUT_DRIVE_STRENGTH_12MA | PADCTRL_SLEW_RATE_FAST;
268+
uint32_t io_pad_ctrl = PADCTRL_OUTPUT_DRIVE_STRENGTH_12MA | PADCTRL_SLEW_RATE_FAST | PADCTRL_READ_ENABLE;
268269

269270
pinconf_set(pin->pin_cs->port, pin->pin_cs->pin, OSPI_PIN_FUNCTION, PADCTRL_OUTPUT_DRIVE_STRENGTH_12MA);
270-
pinconf_set(pin->pin_clk->port, pin->pin_clk->pin, OSPI_PIN_FUNCTION, PADCTRL_OUTPUT_DRIVE_STRENGTH_12MA | PADCTRL_SLEW_RATE_FAST);
271+
pinconf_set(pin->pin_clk_p->port, pin->pin_clk_p->pin, OSPI_PIN_FUNCTION, ck_pad_ctrl);
272+
if (pin->pin_clk_n != NULL) {
273+
pinconf_set(pin->pin_clk_n->port, pin->pin_clk_n->pin, OSPI_PIN_FUNCTION, ck_pad_ctrl);
274+
}
271275
if (pin->pin_rwds != NULL) {
272-
pinconf_set(pin->pin_rwds->port, pin->pin_rwds->pin, OSPI_PIN_FUNCTION, pad_ctrl);
276+
pinconf_set(pin->pin_rwds->port, pin->pin_rwds->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
273277
if (pin->pin_rwds->port == PORT_10 && pin->pin_rwds->pin == PIN_7) {
274278
// Alif: P5_6 is needed to support proper alt function selection of P10_7.
275-
pinconf_set(PORT_5, PIN_6, OSPI_PIN_FUNCTION, pad_ctrl);
279+
pinconf_set(PORT_5, PIN_6, OSPI_PIN_FUNCTION, io_pad_ctrl);
276280
}
277281
}
278-
pinconf_set(pin->pin_d0->port, pin->pin_d0->pin, OSPI_PIN_FUNCTION, pad_ctrl);
279-
pinconf_set(pin->pin_d1->port, pin->pin_d1->pin, OSPI_PIN_FUNCTION, pad_ctrl);
280-
pinconf_set(pin->pin_d2->port, pin->pin_d2->pin, OSPI_PIN_FUNCTION, pad_ctrl);
281-
pinconf_set(pin->pin_d3->port, pin->pin_d3->pin, OSPI_PIN_FUNCTION, pad_ctrl);
282+
pinconf_set(pin->pin_d0->port, pin->pin_d0->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
283+
pinconf_set(pin->pin_d1->port, pin->pin_d1->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
284+
pinconf_set(pin->pin_d2->port, pin->pin_d2->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
285+
pinconf_set(pin->pin_d3->port, pin->pin_d3->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
282286
if (pin->pin_d4 != NULL) {
283-
pinconf_set(pin->pin_d4->port, pin->pin_d4->pin, OSPI_PIN_FUNCTION, pad_ctrl);
284-
pinconf_set(pin->pin_d5->port, pin->pin_d5->pin, OSPI_PIN_FUNCTION, pad_ctrl);
285-
pinconf_set(pin->pin_d6->port, pin->pin_d6->pin, OSPI_PIN_FUNCTION, pad_ctrl);
286-
pinconf_set(pin->pin_d7->port, pin->pin_d7->pin, OSPI_PIN_FUNCTION, pad_ctrl);
287+
pinconf_set(pin->pin_d4->port, pin->pin_d4->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
288+
pinconf_set(pin->pin_d5->port, pin->pin_d5->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
289+
pinconf_set(pin->pin_d6->port, pin->pin_d6->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
290+
pinconf_set(pin->pin_d7->port, pin->pin_d7->pin, OSPI_PIN_FUNCTION, io_pad_ctrl);
287291
}
288292

289293
// Reset the SPI flash.

ports/alif/ospi_flash.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ typedef struct _ospi_pin_settings_t {
4242
uint32_t peripheral_number;
4343
const mp_hal_pin_obj_t pin_reset;
4444
const mp_hal_pin_obj_t pin_cs;
45-
const mp_hal_pin_obj_t pin_clk;
45+
const mp_hal_pin_obj_t pin_clk_p;
46+
const mp_hal_pin_obj_t pin_clk_n;
4647
const mp_hal_pin_obj_t pin_rwds;
4748
const mp_hal_pin_obj_t pin_d0;
4849
const mp_hal_pin_obj_t pin_d1;

0 commit comments

Comments
 (0)