- 
                Notifications
    You must be signed in to change notification settings 
- Fork 8.2k
refactor devicetree binding support for JESD216 devices #31042
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
Conversation
| CI failure is #31044, not related to this PR. | 
be3009c    to
    0051093      
    Compare
  
    Use of this property has no effect since it was by SFDP erase data in Zephyr 2.4. Signed-off-by: Peter Bigot <[email protected]>
0051093    to
    5ae472f      
    Compare
  
    | Rebased now that CI build failure has been fixed (#31044). | 
| @galak any input? | 
        
          
                dts/bindings/mtd/jedec,jesd216.yaml
              
                Outdated
          
        
      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.
should we add deprecated: true here?
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.
LGTM, only query on marking has-be32k as deprecated in the binding.
jedec,jesd216.yaml has properties for any memory device that conforms to the JESD216 specification. This file at a minimum should be included in the binding for any driver that interacts with such a device. jedec,spi-nor-common.yaml extends jedec,jesd216 with additional parameters useful for memory devices that are not available from standard JESD216 parameter tables. This file may be included instead of jedec,jesd216.yaml if a driver is able to support additional functionality related to the extended description. jedec,spi-nor.yaml remains the binding for the Zephyr SPI_NOR driver alone. Signed-off-by: Peter Bigot <[email protected]>
5ae472f    to
    92a75a8      
    Compare
  
    | 
 Wasn't thinking about that, added it now. | 
JESD216 specifies serial flash discoverable parameters used by various flash memory devices. Historically the only Zephyr driver for these devices was the one that became
SPI_NOR. Subsequently Nordic introduced a QSPI driver that required some of the parameters, but not others. This introduced a split so the shared properties could be described once and used in multiple driver-specific bindings.Now there are additional QSPI drivers being proposed for different SOCs, including #30864 and #31034. #30864 includes a commit to further split the shared properties by eliminating ones that aren't supported by a driver.
I'd like to see that split discussed and merged separately so that all QSPI rework in progress (including Nordic) can use it. Hence this PR, which is much the same as the one from @erwango in #30864 but adds documentation explaining what goes in which layer, and takes steps towards removing a legacy property.