anchor.diff:  	false to fdt-cas-fix?
   	EXIT
       THEN drop
  -    fdt-fetch-unit
  +    fdt-fetch-unit		    ( a1 $name )
       dup 0 = IF drop drop " /" THEN
       40 left-parse-string
       2swap ?dup 0 <> IF
  
positive.code:    device-end
  ;
  
  : fdt-create-cas-node ( name  -- )
      2dup
      2dup " memory@" find-substr 0 = IF
  	fdt-debug IF ." Creating memory@ " cr THEN
  	new-device
  	2dup " @" find-substr nip device-name       \ Parse the node name
  	2dup
  	2dup " @" find-substr rot over + 1 + -rot - 1 - \ Jump to addr afte "@"
  	parse-2int nip xlsplit set-unit                 \ Parse and set unit
  	finish-device
      ELSE
  	2dup " ibm,dynamic-reconfiguration-memory" find-substr 0 = IF
  	    fdt-debug IF  ." Creating ibm,dynamic-reconfiguration-memory " cr THEN
  	    new-device
  	    device-name
  	    finish-device
  	ELSE
  	    2drop 2drop
  	    false to fdt-cas-fix?
  	    ." Node not supported " cr
  	    EXIT
  	THEN
      THEN
  
      find-node ?dup 0 <> IF set-node THEN
  ;
  
  : str=phandle? ( s len -- true|false )
      2dup s" phandle" str= >r
      s" linux,phandle" str=
      r> or
  ;
  
  : (fdt-fix-cas-node) ( start -- end )
  
negative.code: 	    THEN
  	THEN
      REPEAT
  			( newnode? a1 tag )
      drop
      swap		( a1 newnode? )
      IF
  	fdt-cas-finish-device
  	fdt-debug IF ." Finished subnode: " pwd  get-node ."  = " . cr THEN
      THEN
  ;
  
  : fdt-fix-cas-node ( start -- )
      0 to fdt-cas-pass dup (fdt-fix-cas-node) drop \ Add phandles
      1 to fdt-cas-pass dup (fdt-fix-cas-node) drop \ Patch+add other properties
      2 to fdt-cas-pass dup (fdt-fix-cas-node) drop \ Delete phandles from pass 0
      drop
  ;
  
  