1*4882a593SmuzhiyunSLIM(Serial Low Power Interchip Media Bus) bus 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSLIMbus is a 2-wire bus, and is used to communicate with peripheral 4*4882a593Smuzhiyuncomponents like audio-codec. 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunRequired property for SLIMbus controller node: 7*4882a593Smuzhiyun- compatible - name of SLIMbus controller 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunChild nodes: 10*4882a593SmuzhiyunEvery SLIMbus controller node can contain zero or more child nodes 11*4882a593Smuzhiyunrepresenting slave devices on the bus. Every SLIMbus slave device is 12*4882a593Smuzhiyununiquely determined by the enumeration address containing 4 fields: 13*4882a593SmuzhiyunManufacturer ID, Product code, Device index, and Instance value for 14*4882a593Smuzhiyunthe device. 15*4882a593SmuzhiyunIf child node is not present and it is instantiated after device 16*4882a593Smuzhiyundiscovery (slave device reporting itself present). 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunIn some cases it may be necessary to describe non-probeable device 19*4882a593Smuzhiyundetails such as non-standard ways of powering up a device. In 20*4882a593Smuzhiyunsuch cases, child nodes for those devices will be present as 21*4882a593Smuzhiyunslaves of the SLIMbus controller, as detailed below. 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunRequired property for SLIMbus child node if it is present: 24*4882a593Smuzhiyun- reg - Should be ('Device index', 'Instance ID') from SLIMbus 25*4882a593Smuzhiyun Enumeration Address. 26*4882a593Smuzhiyun Device Index Uniquely identifies multiple Devices within 27*4882a593Smuzhiyun a single Component. 28*4882a593Smuzhiyun Instance ID Is for the cases where multiple Devices of the 29*4882a593Smuzhiyun same type or Class are attached to the bus. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun- compatible -"slimMID,PID". The textual representation of Manufacturer ID, 32*4882a593Smuzhiyun Product Code, shall be in lower case hexadecimal with leading 33*4882a593Smuzhiyun zeroes suppressed 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunOptional property for SLIMbus child node if it is present: 36*4882a593Smuzhiyun- slim-ifc-dev - Should be phandle to SLIMBus Interface device. 37*4882a593Smuzhiyun Required for devices which deal with streams. 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunSLIMbus example for Qualcomm's slimbus manager component: 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun slim@28080000 { 42*4882a593Smuzhiyun compatible = "qcom,apq8064-slim", "qcom,slim"; 43*4882a593Smuzhiyun reg = <0x28080000 0x2000>, 44*4882a593Smuzhiyun interrupts = <0 33 0>; 45*4882a593Smuzhiyun clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>; 46*4882a593Smuzhiyun clock-names = "iface", "core"; 47*4882a593Smuzhiyun #address-cells = <2>; 48*4882a593Smuzhiyun #size-cell = <0>; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun codec_ifd: ifd@0,0{ 51*4882a593Smuzhiyun compatible = "slim217,60"; 52*4882a593Smuzhiyun reg = <0 0>; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun codec: wcd9310@1,0{ 56*4882a593Smuzhiyun compatible = "slim217,60"; 57*4882a593Smuzhiyun reg = <1 0>; 58*4882a593Smuzhiyun slim-ifc-dev = <&codec_ifd>; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun }; 61