struct device *dev = rsnd_priv_to_dev(priv);
        struct rsnd_mod *mod = rsnd_io_to_mod_ssi(io);
        struct rsnd_ssi *ssi;
+       struct device_node *remote_node = of_graph_get_port_parent(remote_ep);
+
+       /* support Gen3 only */
+       if (!rsnd_is_gen3(priv))
+               return;
 
        if (!mod)
                return;
 
        ssi  = rsnd_mod_to_ssi(mod);
 
-       if (strstr(remote_ep->full_name, "hdmi0")) {
+       /* HDMI0 */
+       if (strstr(remote_node->full_name, "hdmi@fead0000")) {
                rsnd_flags_set(ssi, RSND_SSI_HDMI0);
                dev_dbg(dev, "%s[%d] connected to HDMI0\n",
                         rsnd_mod_name(mod), rsnd_mod_id(mod));
        }
 
-       if (strstr(remote_ep->full_name, "hdmi1")) {
+       /* HDMI1 */
+       if (strstr(remote_node->full_name, "hdmi@feae0000")) {
                rsnd_flags_set(ssi, RSND_SSI_HDMI1);
                dev_dbg(dev, "%s[%d] connected to HDMI1\n",
                        rsnd_mod_name(mod), rsnd_mod_id(mod));