title: Linux Device Tree (DTS): i2c device on USB-I2C bridge
body: <p>I have an i2c device (touch controller). Usually I would add it to the .dts file like this when it is connected to the SoC i2c master (a tegra chip in my case):</p>
  
  <pre><code>    i2c@7000c000 {
              st1332: touchscreen@55 {
                      compatible = "sitronix,st1232";
                      reg = &lt;0x55&gt;;
                      interrupt-parent = &lt;&amp;gpio&gt;;
                      interrupts = &lt;189 IRQ_TYPE_EDGE_FALLING&gt;;
              };       
      };
  </code></pre>
  
  <p>With the i2c controler <code>i2c@7000c000</code> being defined in the SoC's .dtsi file:</p>
  
  <pre><code>    i2c1: i2c@7000c000 {
              #address-cells = &lt;1&gt;;
              #size-cells = &lt;0&gt;;
              compatible = "nvidia,tegra124-i2c";
              reg = &lt;0x0 0x7000c000 0x0 0x100&gt;;
              interrupts = &lt;0 38 0x04&gt;;
              scl-gpio = &lt;&amp;gpio 20 0&gt;; /* gpio PC4 */
              sda-gpio = &lt;&amp;gpio 21 0&gt;; /* gpio PC5 */
              nvidia,memory-clients = &lt;14&gt;;
              status = "okay";
              clock-frequency = &lt;400000&gt;;
      };
  </code></pre>
  
  <p><strong>However, I don't want to connect the touch controller to one of the i2c masters from the SoC. Instead I have it connected to a cp2112 USB to i2c bridge.</strong></p>
  
  <p>The cp2112 driver works fine: I can use commands such as <code>i2cget</code> to access it from the command line. But how do I add it to the .dts file so that the touch controller driver will talk to it?</p>
  
  <p>Because USB devices are enumerated automatically, I don't have a node in my .dts file that I can use as parent for the touch controller node. I would assume that I need to create a placeholder node in the .dts file under the usb controller (<code>xusb@70090000</code> in my case), that is then associated with the enumerated USB device by the kernel, and move the touch controller into this node, but I don't know how to do that. What would such a node for a USB device look like? Or is there a completely different solution to the problem?</p>
  
  <p>I am running Linux 3.10.40 with a backported version of hid-cp2112 from Linux v4.1.0-rc5.</p>