Lines Matching full:fsi

1 FSI bus & engine generic device tree bindings
4 The FSI bus is probe-able, so the OS is able to enumerate FSI slaves, and
6 nodes to probed engines. This allows for fsi engines to expose non-probeable
7 busses, which are then exposed by the device tree. For example, an FSI engine
11 FSI masters may require their own DT nodes (to describe the master HW itself);
13 the fsi-master-* binding specifications.
16 represent the FSI slaves and their slave engines. As a basic outline:
18 fsi-master {
19 /* top-level of FSI bus topology, bound to an FSI master driver and
20 * exposes an FSI bus */
22 fsi-slave@<link,id> {
23 /* this node defines the FSI slave device, and is handled
24 * entirely with FSI core code */
26 fsi-slave-engine@<addr> {
28 * is bound to the relevant fsi device driver */
32 fsi-slave-engine@<addr> {
41 adding subordinate device tree nodes as children of FSI engines.
43 FSI masters
46 FSI master nodes declare themselves as such with the "fsi-master" compatible
50 compatible = "fsi-master-gpio", "fsi-master";
52 Since the master nodes describe the top-level of the FSI topology, they also
53 need to declare the FSI-standard addressing scheme. This requires two cells for
66 FSI slaves
91 FSI engines (devices)
96 FSI device, and are passed to those FSI device drivers' ->probe() functions.
110 - an FSI master
111 - connected to an FSI slave
115 The FSI master may be connected to additional slaves, and slaves may have
119 /* The GPIO-based FSI master node, describing the top level of the
120 * FSI bus
122 gpio-fsi {
123 compatible = "fsi-master-gpio", "fsi-master";
127 /* A FSI slave (aka. CFAM) at link 0, ID 0. */
134 /* FSI engine at 0xc00, using a single page. In this example,
144 compatible = "some-vendor,fsi-i2c-controller";