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