> +or > + /* > + An Opencore based I2C node in FU540-C000 chip from SiFive > + This chip has a hardware erratum for broken IRQ > + so it's recommended not to define interrupt in the device node > + */ > + i2c@10030000 { > + compatible = "sifive,i2c0","sifive,fu540-c000-i2c"; The most specific compatible comes first. You also need to be forward thinking. The next revision of the silicon could have the bug fixed. You can then use plain "sifive,i2c0" to indicate just polling is needed, not bug workaround. But for that to work, you need "sifive,fu540-c000-i2c" first. Andrew