18c2ecf20Sopenharmony_ciBindings for HyperBus Memory Controller (HBMC) on TI's K3 family of SoCs 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible : "ti,am654-hbmc" for AM654 SoC 58c2ecf20Sopenharmony_ci- reg : Two entries: 68c2ecf20Sopenharmony_ci First entry pointed to the register space of HBMC controller 78c2ecf20Sopenharmony_ci Second entry pointing to the memory map region dedicated for 88c2ecf20Sopenharmony_ci MMIO access to attached flash devices 98c2ecf20Sopenharmony_ci- ranges : Address translation from offset within CS to allocated MMIO 108c2ecf20Sopenharmony_ci space in SoC 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciOptional properties: 138c2ecf20Sopenharmony_ci- mux-controls : phandle to the multiplexer that controls selection of 148c2ecf20Sopenharmony_ci HBMC vs OSPI inside Flash SubSystem (FSS). Default is OSPI, 158c2ecf20Sopenharmony_ci if property is absent. 168c2ecf20Sopenharmony_ci See Documentation/devicetree/bindings/mux/reg-mux.txt 178c2ecf20Sopenharmony_ci for mmio-mux binding details 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciExample: 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci system-controller@47000000 { 228c2ecf20Sopenharmony_ci compatible = "syscon", "simple-mfd"; 238c2ecf20Sopenharmony_ci reg = <0x0 0x47000000 0x0 0x100>; 248c2ecf20Sopenharmony_ci #address-cells = <2>; 258c2ecf20Sopenharmony_ci #size-cells = <2>; 268c2ecf20Sopenharmony_ci ranges; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci hbmc_mux: multiplexer { 298c2ecf20Sopenharmony_ci compatible = "mmio-mux"; 308c2ecf20Sopenharmony_ci #mux-control-cells = <1>; 318c2ecf20Sopenharmony_ci mux-reg-masks = <0x4 0x2>; /* 0: reg 0x4, bit 1 */ 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci hbmc: hyperbus@47034000 { 368c2ecf20Sopenharmony_ci compatible = "ti,am654-hbmc"; 378c2ecf20Sopenharmony_ci reg = <0x0 0x47034000 0x0 0x100>, 388c2ecf20Sopenharmony_ci <0x5 0x00000000 0x1 0x0000000>; 398c2ecf20Sopenharmony_ci power-domains = <&k3_pds 55>; 408c2ecf20Sopenharmony_ci #address-cells = <2>; 418c2ecf20Sopenharmony_ci #size-cells = <1>; 428c2ecf20Sopenharmony_ci ranges = <0x0 0x0 0x5 0x00000000 0x4000000>, /* CS0 - 64MB */ 438c2ecf20Sopenharmony_ci <0x1 0x0 0x5 0x04000000 0x4000000>; /* CS1 - 64MB */ 448c2ecf20Sopenharmony_ci mux-controls = <&hbmc_mux 0>; 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci /* Slave flash node */ 478c2ecf20Sopenharmony_ci flash@0,0 { 488c2ecf20Sopenharmony_ci compatible = "cypress,hyperflash", "cfi-flash"; 498c2ecf20Sopenharmony_ci reg = <0x0 0x0 0x4000000>; 508c2ecf20Sopenharmony_ci }; 518c2ecf20Sopenharmony_ci }; 52