Skip to content
Snippets Groups Projects
  • David Gibson's avatar
    05a22ba0
    Support ePAPR compliant phandle properties · 05a22ba0
    David Gibson authored
    
    Currently, the Linux kernel, libfdt and dtc, when using flattened
    device trees encode a node's phandle into a property named
    "linux,phandle".  The ePAPR specification, however - aiming as it is
    to not be a Linux specific spec - requires that phandles be encoded in
    a property named simply "phandle".
    
    This patch adds support for this newer approach to dtc and libfdt.
    Specifically:
    
    	- fdt_get_phandle() will now return the correct phandle if it
              is supplied in either of these properties
    
    	- fdt_node_offset_by_phandle() will correctly find a node with
              the given phandle encoded in either property.
    
    	- By default, when auto-generating phandles, dtc will encode
              it into both properties for maximum compatibility.  A new -H
              option allows either only old-style or only new-style
              properties to be generated.
    
    	- If phandle properties are explicitly supplied in the dts
    	  file, dtc will not auto-generate ones in the alternate format.
    
    	- If both properties are supplied, dtc will check that they
              have the same value.
    
    	- Some existing testcases are updated to use a mix of old and
              new-style phandles, partially testing the changes.
    
    	- A new phandle_format test further tests the libfdt support,
              and the -H option.
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    
    This was extracted from the DTC commit:
    d75b33af676d0beac8398651a7f09037555a550b Mon Sep 17 00:00:00 2001
    
    Signed-off-by: default avatarGerald Van Baren <vanbaren@cideas.com>
    05a22ba0
    History
    Support ePAPR compliant phandle properties
    David Gibson authored
    
    Currently, the Linux kernel, libfdt and dtc, when using flattened
    device trees encode a node's phandle into a property named
    "linux,phandle".  The ePAPR specification, however - aiming as it is
    to not be a Linux specific spec - requires that phandles be encoded in
    a property named simply "phandle".
    
    This patch adds support for this newer approach to dtc and libfdt.
    Specifically:
    
    	- fdt_get_phandle() will now return the correct phandle if it
              is supplied in either of these properties
    
    	- fdt_node_offset_by_phandle() will correctly find a node with
              the given phandle encoded in either property.
    
    	- By default, when auto-generating phandles, dtc will encode
              it into both properties for maximum compatibility.  A new -H
              option allows either only old-style or only new-style
              properties to be generated.
    
    	- If phandle properties are explicitly supplied in the dts
    	  file, dtc will not auto-generate ones in the alternate format.
    
    	- If both properties are supplied, dtc will check that they
              have the same value.
    
    	- Some existing testcases are updated to use a mix of old and
              new-style phandles, partially testing the changes.
    
    	- A new phandle_format test further tests the libfdt support,
              and the -H option.
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    
    This was extracted from the DTC commit:
    d75b33af676d0beac8398651a7f09037555a550b Mon Sep 17 00:00:00 2001
    
    Signed-off-by: default avatarGerald Van Baren <vanbaren@cideas.com>