1*c66ec88fSEmmanuel VadotBindings for HyperBus Memory Controller (HBMC) on TI's K3 family of SoCs 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot- compatible : "ti,am654-hbmc" for AM654 SoC 5*c66ec88fSEmmanuel Vadot- reg : Two entries: 6*c66ec88fSEmmanuel Vadot First entry pointed to the register space of HBMC controller 7*c66ec88fSEmmanuel Vadot Second entry pointing to the memory map region dedicated for 8*c66ec88fSEmmanuel Vadot MMIO access to attached flash devices 9*c66ec88fSEmmanuel Vadot- ranges : Address translation from offset within CS to allocated MMIO 10*c66ec88fSEmmanuel Vadot space in SoC 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel VadotOptional properties: 13*c66ec88fSEmmanuel Vadot- mux-controls : phandle to the multiplexer that controls selection of 14*c66ec88fSEmmanuel Vadot HBMC vs OSPI inside Flash SubSystem (FSS). Default is OSPI, 15*c66ec88fSEmmanuel Vadot if property is absent. 16*c66ec88fSEmmanuel Vadot See Documentation/devicetree/bindings/mux/reg-mux.txt 17*c66ec88fSEmmanuel Vadot for mmio-mux binding details 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel VadotExample: 20*c66ec88fSEmmanuel Vadot 21*c66ec88fSEmmanuel Vadot system-controller@47000000 { 22*c66ec88fSEmmanuel Vadot compatible = "syscon", "simple-mfd"; 23*c66ec88fSEmmanuel Vadot reg = <0x0 0x47000000 0x0 0x100>; 24*c66ec88fSEmmanuel Vadot #address-cells = <2>; 25*c66ec88fSEmmanuel Vadot #size-cells = <2>; 26*c66ec88fSEmmanuel Vadot ranges; 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadot hbmc_mux: multiplexer { 29*c66ec88fSEmmanuel Vadot compatible = "mmio-mux"; 30*c66ec88fSEmmanuel Vadot #mux-control-cells = <1>; 31*c66ec88fSEmmanuel Vadot mux-reg-masks = <0x4 0x2>; /* 0: reg 0x4, bit 1 */ 32*c66ec88fSEmmanuel Vadot }; 33*c66ec88fSEmmanuel Vadot }; 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadot hbmc: hyperbus@47034000 { 36*c66ec88fSEmmanuel Vadot compatible = "ti,am654-hbmc"; 37*c66ec88fSEmmanuel Vadot reg = <0x0 0x47034000 0x0 0x100>, 38*c66ec88fSEmmanuel Vadot <0x5 0x00000000 0x1 0x0000000>; 39*c66ec88fSEmmanuel Vadot power-domains = <&k3_pds 55>; 40*c66ec88fSEmmanuel Vadot #address-cells = <2>; 41*c66ec88fSEmmanuel Vadot #size-cells = <1>; 42*c66ec88fSEmmanuel Vadot ranges = <0x0 0x0 0x5 0x00000000 0x4000000>, /* CS0 - 64MB */ 43*c66ec88fSEmmanuel Vadot <0x1 0x0 0x5 0x04000000 0x4000000>; /* CS1 - 64MB */ 44*c66ec88fSEmmanuel Vadot mux-controls = <&hbmc_mux 0>; 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadot /* Slave flash node */ 47*c66ec88fSEmmanuel Vadot flash@0,0 { 48*c66ec88fSEmmanuel Vadot compatible = "cypress,hyperflash", "cfi-flash"; 49*c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x4000000>; 50*c66ec88fSEmmanuel Vadot }; 51*c66ec88fSEmmanuel Vadot }; 52