This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TCI6638: cpsw as simple switch

Hi there,

I've got a TCI6638 on a custom board and want to get the cpsw to work as a simple switch.

I've tried changing the evm dts as follows, but can not get a ping on all ethernet ports (only port 0)

            cpsw: cpsw@2090000 {
                label = "keystone-cpsw";
                serdes_at_probe = <1>;

                intf_tx_queues = <7>;

                sgmii_module_ofs  = <0x100>;
                sgmii_module34_ofs  = <0x400>;
                switch_module_ofs = <0x800>;
                host_port_reg_ofs = <0x834>;
                slave_reg_ofs      = <0x860>;
                sliver_reg_ofs      = <0x900>;
                slave23_reg_ofs      = <0xa00>;
                hw_stats_reg_ofs  = <0xb00>;
                cpts_reg_ofs      = <0xd00>;
                ale_reg_ofs      = <0xe00>;

                num_slaves  = <4>;
                ale_ageout  = <30>;
                ale_entries = <1024>;
                ale_ports   = <5>;

                cpts_rftclk_sel = <0>;
                /*cpts_rftclk_freq = <399360000>;*/
                cpts_ts_comp_length = <3>;
                cpts_clock_mult = <5000>;
                cpts_clock_shift = <10>;
                cpts_clock_div = <3>;
                /* force_no_hwtstamp; */
                /*
                multi-interface;
                num-interfaces = <4>;
                slaves-per-interface = <1>;
                */
                num-interfaces = <1>;
                slaves-per-interface = <4>;

                interfaces {
                    interface-0 {
                        slave_port = <0>;
                        tx-channel = "nettx0";
                        tx_queue_depth = <32>;
                    };
                    interface-1 {
                        slave_port = <1>;
                        tx-channel = "nettx1";
                        tx_queue_depth = <32>;
                    };
                    interface-2 {
                        slave_port = <2>;
                        tx-channel = "nettx2";
                        tx_queue_depth = <32>;
                    };
                    interface-3 {
                        slave_port = <3>;
                        tx-channel = "nettx3";
                        tx_queue_depth = <32>;
                    };
                };

                slaves {
                    slave0 {
                        label        = "slave0";
                        link-interface    = <0>;
                    };
                    slave1 {
                        label        = "slave1";
                        link-interface    = <0>;
                    };
                    slave2 {
                        label        = "slave2";
                        link-interface    = <2>;
                    };
                    slave3 {
                        label        = "slave3";
                        link-interface    = <2>;
                    };
                };
            };