Back to home page

OSCL-LXR

 
 

    


0001 SLIM(Serial Low Power Interchip Media Bus) bus
0002 
0003 SLIMbus is a 2-wire bus, and is used to communicate with peripheral
0004 components like audio-codec.
0005 
0006 Required property for SLIMbus controller node:
0007 - compatible    - name of SLIMbus controller
0008 
0009 Child nodes:
0010 Every SLIMbus controller node can contain zero or more child nodes
0011 representing slave devices on the bus. Every SLIMbus slave device is
0012 uniquely determined by the enumeration address containing 4 fields:
0013 Manufacturer ID, Product code, Device index, and Instance value for
0014 the device.
0015 If child node is not present and it is instantiated after device
0016 discovery (slave device reporting itself present).
0017 
0018 In some cases it may be necessary to describe non-probeable device
0019 details such as non-standard ways of powering up a device. In
0020 such cases, child nodes for those devices will be present as
0021 slaves of the SLIMbus controller, as detailed below.
0022 
0023 Required property for SLIMbus child node if it is present:
0024 - reg           - Should be ('Device index', 'Instance ID') from SLIMbus
0025                   Enumeration  Address.
0026                   Device Index Uniquely identifies multiple Devices within
0027                   a single Component.
0028                   Instance ID Is for the cases where multiple Devices of the
0029                   same type or Class are attached to the bus.
0030 
0031 - compatible    -"slimMID,PID". The textual representation of Manufacturer ID,
0032                   Product Code, shall be in lower case hexadecimal with leading
0033                   zeroes suppressed
0034 
0035 Optional property for SLIMbus child node if it is present:
0036 - slim-ifc-dev  - Should be phandle to SLIMBus Interface device.
0037                   Required for devices which deal with streams.
0038 
0039 SLIMbus example for Qualcomm's slimbus manager component:
0040 
0041         slim@28080000 {
0042                 compatible = "qcom,apq8064-slim", "qcom,slim";
0043                 reg = <0x28080000 0x2000>,
0044                 interrupts = <0 33 0>;
0045                 clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
0046                 clock-names = "iface", "core";
0047                 #address-cells = <2>;
0048                 #size-cell = <0>;
0049 
0050                 codec_ifd: ifd@0,0{
0051                         compatible = "slim217,60";
0052                         reg = <0 0>;
0053                 };
0054 
0055                 codec: wcd9310@1,0{
0056                         compatible = "slim217,60";
0057                         reg = <1 0>;
0058                         slim-ifc-dev  = <&codec_ifd>;
0059                 };
0060         };