New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drivers: memc: add driver for is66wvq8m4 PSRAM #70620
drivers: memc: add driver for is66wvq8m4 PSRAM #70620
Conversation
Some instances of the FlexSPI IP support a different clock source being used for port B of the FlexSPI instance. Add a devicetree property and driver support to enable configuring this property of the hardware. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The compliance failure here is expected- this macro definition is coming from the MCUX HAL, and it is misspelled there. |
return ret; | ||
} | ||
|
||
buffer &= (~mask & 0xFFFF); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please consider GENMASK and FIELD_PREP().
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switched to GENMASK
, thanks for the suggestion. Not sure how I'd use FIELD_PREP
here though? My understanding is that FIELD_PREP(0xEF,0x1F0)
would expand to 0xF0
, since the macro will shift and mask the field. In this function though, mask
is the bitmask that should be cleared from the buffer, and set
has already been shifted to the correct location (so FIELD_PREP(set, mask)
) wouldn't make sense, right?
@@ -83,6 +83,7 @@ arduino_i2c: &flexcomm2 { | |||
ahb-cacheable; | |||
ahb-read-addr-opt; | |||
rx-clock-source = <1>; | |||
rx-clock-source-b = <3>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this change to the flexcomm
node required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes- the IS66WVQ8M4 PSRAM uses a different clock source to send data (specifically the DQS pad of the flash chip). This is different from the mx25u51245g flash on port A, which uses a loopback clock from the DQS pad)
Add driver for IS66WVQ8M4 PSRAM, using the MCUX FlexSPI interface to write data to the PSRAM device. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Add support for IS66WVQ8M quadspi PSRAM on the RW612 BGA board, and update board pin control to enable muxing PSRAM pins on the FlexSPI. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Since the RW612 BGA board's FlexSPI configuration prevents the board from executing from flash while the PSRAM is configured (unless both are configured by a bootloader prior to XIP), run the MEMC sample from internal code SRAM, and write data to the external PSRAM block via the FlexSPI. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
702fb3f
to
31d74f6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dleach02 please take a look
Add driver for is66wvq8m4 PSRAM. This QSPI PSRAM is enabled on the RW612 BGA board, via the
samples/drivers/memc
sample.