xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/ti,am654-hbmc.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
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