54LM20A sQSPI behavior is different with 54L15

Hello DevZone,

I have wrote a standard Zephyr display driver for one customer, I used sQSPI and Zephyr MSPI API.

I finished the development, but the QSPI (1-1-4 mode) plot on 54LM20 is different from that on 54L15. The code is same.

display requirement:


nrf54L15 v1.0.0

nrf54lm20 v0.3.4:


You can see that when transmitting the cmd and address, the voltage of D1, D2, D3 is different.
I'm not sure which one is correct.

Here is my code: github.com/.../display_a6ng.c
My NCS version is v3.2.2

Best regards,
Jayant

Parents Reply
  • Both 54L15 and 54LM20 contains `bias-pull-up` in group2:

    54L15:

    &pinctrl {
    	sqspi_default: sqspi_default {
    		group1 {
    			psels = <NRF_PSEL(SDP_MSPI_SCK, 2, 1)>,
    				<NRF_PSEL(SDP_MSPI_CS0, 2, 5)>,
    				<NRF_PSEL(SDP_MSPI_DQ0, 2, 2)>;
    			nordic,drive-mode = <NRF_DRIVE_E0E1>;
    		};
    		group2 {
    			psels = <NRF_PSEL(SDP_MSPI_DQ1, 2, 4)>,
    				<NRF_PSEL(SDP_MSPI_DQ2, 2, 3)>,
    				<NRF_PSEL(SDP_MSPI_DQ3, 2, 0)>;
    			nordic,drive-mode = <NRF_DRIVE_E0E1>;
    			bias-pull-up;
    		};
    	};
    
    	sqspi_sleep: sqspi_sleep {
    		group1 {
    			low-power-enable;
    			psels = <NRF_PSEL(SDP_MSPI_SCK, 2, 1)>,
    				<NRF_PSEL(SDP_MSPI_CS0, 2, 5)>,
    				<NRF_PSEL(SDP_MSPI_DQ0, 2, 2)>,
    				<NRF_PSEL(SDP_MSPI_DQ1, 2, 4)>,
    				<NRF_PSEL(SDP_MSPI_DQ2, 2, 3)>,
    				<NRF_PSEL(SDP_MSPI_DQ3, 2, 0)>;
    		};
    	};
    };


    54LM20:
    &pinctrl {
    	sqspi_default: sqspi_default {
    		group1 {
    			psels = <NRF_PSEL(SDP_MSPI_SCK, 2, 1)>,
    				<NRF_PSEL(SDP_MSPI_CS0, 2, 5)>,
    				<NRF_PSEL(SDP_MSPI_DQ0, 2, 2)>;
    			nordic,drive-mode = <NRF_DRIVE_E0E1>;
    		};
    		group2 {
    			psels = <NRF_PSEL(SDP_MSPI_DQ1, 2, 4)>,
    				<NRF_PSEL(SDP_MSPI_DQ2, 2, 3)>,
    				<NRF_PSEL(SDP_MSPI_DQ3, 2, 0)>;
    			nordic,drive-mode = <NRF_DRIVE_E0E1>;
    			bias-pull-up;
    		};
    	};
    
    	sqspi_sleep: sqspi_sleep {
    		group1 {
    			low-power-enable;
    			psels = <NRF_PSEL(SDP_MSPI_SCK, 2, 1)>,
    				<NRF_PSEL(SDP_MSPI_CS0, 2, 5)>,
    				<NRF_PSEL(SDP_MSPI_DQ0, 2, 2)>,
    				<NRF_PSEL(SDP_MSPI_DQ1, 2, 4)>,
    				<NRF_PSEL(SDP_MSPI_DQ2, 2, 3)>,
    				<NRF_PSEL(SDP_MSPI_DQ3, 2, 0)>;
    		};
    	};

Children
No Data
Related