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.

Keystone 2 Ethernet configuration

Expert 1010 points

Other Parts Discussed in Thread: 66AK2E05

On our custom board with a 66AK2E05 Soc, we have the following architecture:

- Port 0 to 3 are MAC to PHY: external connections

- Port 4 is MAC to MAC: this one is connected to a second identical 66AK2e05 Soc (SGMII4 to SGMII4)

Based on the configuration for eval board, we changed the k2e-net.dtsi to have port 2 and 3 with the right Interface. The 4 ports with MAC to PHY seem to work properly since the link is getting ready when I am connecting the Ethernet cable and we can ping them with a host Computer but the MAC to MAC (default setting) does not react at all.

What do we need to check and change to make this system work?

Here the change I made in k2e-net.dtsi:

mdio: mdio@24200f00 {
	compatible	= "ti,davinci_mdio";
	#address-cells	= <1>;
	#size-cells	= <0>;
	reg		= <0x24200f00 0x100>;
	bus_freq	= <2500000>;
	clocks		= <&clkcpgmac>;
	clock-names	= "fck";
	phy0: phy@0 {
		compatible = "marvell,88e1510";
		reg = <0>;
	};
	phy1: phy@1 {
		compatible = "marvell,88e1510";
		reg = <1>;
	};
	phy2: phy@2 {
		compatible = "marvell,88e1510";
		reg = <2>;
	};
	phy3: phy@3 {
		compatible = "marvell,88e1510";
		reg = <3>;
	};
};

and by netcp:

slaves {
			slave0 {
				label		= "slave0";
				link-interface	= <1>;
				phy-handle      = <&phy0>;
			};
			slave1 {
				label		= "slave1";
				link-interface	= <1>;
				phy-handle      = <&phy1>;
			};
			slave2 {
				label		= "slave2";
				link-interface	= <1>;
				phy-handle      = <&phy2>;
			};
			slave3 {
				label		= "slave3";
				link-interface	= <1>;
				phy-handle      = <&phy3>;
			};
			slave4 {
				label		= "slave4";
				link-interface	= <2>;
			};
			slave5 {
				label		= "slave5";
				link-interface	= <2>;
			};
			slave6 {
				label		= "slave6";
				link-interface	= <2>;
			};
			slave7 {
				label		= "slave7";
				link-interface	= <2>;
			};
		};

I am using MCSDK 3.1.4 (03.01.04.07) and u-boot is the default code for evm for NAND boot.

  • Your dts seems to be good.

    Can you try like this code (MAC to MAC with auto negotiate) ?

    slaves {
    slave0 {
    label = "slave0";
    link-interface = <1>;
    phy-handle = <&phy0>;
    };
    slave1 {
    label = "slave1";
    link-interface = <1>;
    phy-handle = <&phy1>;
    };
    slave2 {
    label = "slave2";
    link-interface = <1>;
    phy-handle = <&phy2>;
    };
    slave3 {
    label = "slave3";
    link-interface = <1>;
    phy-handle = <&phy3>;
    };
    slave4 {
    label = "slave4";
    link-interface = <0>;
    };
    slave5 {
    label = "slave5";
    link-interface = <0>;
    };
    slave6 {
    label = "slave6";
    link-interface = <0>;
    };
    slave7 {
    label = "slave7";
    link-interface = <0>;
    };
    };

    processors.wiki.ti.com/.../MCSDK_UG_Chapter_Exploring
  • I have tried this configuration and it is also not working.

    For more details, I joined the first version of the dtsi file before I changed it according to your advice.

    I also joined the bootup log if needed.

    It may be an hardware problem but how can I know? I want to be sure that I configure properly the interface before looking at it.

    /*
     * Copyright 2014 Texas Instruments, Inc.
     *
     * Keystone 2 K2E SoC network node
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    
    mdio: mdio@24200f00 {
    	compatible	= "ti,davinci_mdio";
    	#address-cells	= <1>;
    	#size-cells	= <0>;
    	reg		= <0x24200f00 0x100>;
    	bus_freq	= <2500000>;
    	clocks		= <&clkcpgmac>;
    	clock-names	= "fck";
    	phy0: phy@0 {
    		compatible = "marvell,88e1510";
    		reg = <0>;
    	};
    	phy1: phy@1 {
    		compatible = "marvell,88e1510";
    		reg = <1>;
    	};
    	phy2: phy@2 {
    		compatible = "marvell,88e1510";
    		reg = <2>;
    	};
    	phy3: phy@3 {
    		compatible = "marvell,88e1510";
    		reg = <3>;
    	};
    };
    
    netcp {
    	reg = <0x24000000 0xf00
    		0x2620110 0x8>;
    	compatible = "ti,keystone-netcp";
    	clocks = <&paclk13>, <&clkcpgmac>, <&chipclk12>;
    	clock-names = "clk_pa", "clk_cpgmac", "cpsw_cpts_rft_clk";
    	dma-coherent;
    	streaming-regs = <0x24000500 0x40>;
    
    	interfaces {
    		interface0: interface-0 {
    			rx-channel = "netrx0";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <1>;
    			/* local-mac-address = [02 18 31 7e 3e 6e]; */
    		};
    		interface1: interface-1 {
    			rx-channel = "netrx1";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <0>;
    			/*local-mac-address = [02 18 31 7e 3e 6f];*/
    		};
    		interface2: interface-2 {
    			rx-channel = "netrx2";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <0>;
    			/*local-mac-address = [02 18 31 7e 3e 7e]; */
    		};
    		interface3: interface-3 {
    			rx-channel = "netrx3";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <0>;
    			/*local-mac-address = [02 18 31 7e 3e 7f]; */
    		};
    		interface4: interface-4 {
    			rx-channel = "netrx4";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <0>;
    			/* local-mac-address = [02 18 31 7e 3e 80]; */
    		};
    		interface5: interface-5 {
    			rx-channel = "netrx5";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <0>;
    			/* local-mac-address = [02 18 31 7e 3e 81]; */
    		};
    		interface6: interface-6 {
    			rx-channel = "netrx6";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <0>;
    			/*local-mac-address = [02 18 31 7e 3e 82]; */
    		};
    		interface7: interface-7 {
    			rx-channel = "netrx7";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1536 4096 0 0>;
    			efuse-mac = <0>;
    			/*local-mac-address = [02 18 31 7e 3e 83]; */
    		};
    	};
    
    	cpsw: cpsw@24200000 {
    		cpsw-ss-reg = <0x24200000 0x40000>;
    		label = "keystone-cpsw2";
    
    		intf_tx_queues = <7>;
    
    		sgmii_module_ofs  = <0x100>;
    		switch_module_ofs = <0x20000>;
    		host_port_reg_ofs = <0x21000>;
    		slave_reg_ofs	  = <0x22000>;
    		hw_stats_reg_ofs  = <0x3a000>;
    		cpts_reg_ofs	  = <0x3d000>;
    		ale_reg_ofs	  = <0x3e000>;
    
    		num_slaves  = <8>;
    
    		ale_ageout  = <30>;
    		ale_entries = <1024>;
    		ale_ports   = <9>; /* num_slaves + 1 */
    
    		cpts_rftclk_sel = <0>;
    		/*cpts_rftclk_freq = <399360000>;*/
    		cpts_ts_comp_length = <3>;
    		cpts_ts_comp_polarity = <1>;  /* 1 - assert high */
    		/* cpts_clock_mult = <5000>; */
    		/* cpts_clock_shift = <10>; */
    		/* cpts_clock_div = <3>; */
    		/* force_no_hwtstamp; */
    
    		multi-interface;
    		num-interfaces = <8>;
    		slaves-per-interface = <1>;
    
    		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>;
    			};
    			interface-4 {
    				slave_port = <4>;
    				tx-channel = "nettx4";
    				tx_queue_depth = <32>;
    			};
    			interface-5 {
    				slave_port = <5>;
    				tx-channel = "nettx5";
    				tx_queue_depth = <32>;
    			};
    			interface-6 {
    				slave_port = <6>;
    				tx-channel = "nettx6";
    				tx_queue_depth = <32>;
    			};
    			interface-7 {
    				slave_port = <7>;
    				tx-channel = "nettx7";
    				tx_queue_depth = <32>;
    			};
    		};
    
    		slaves {
    			slave0 {
    				label		= "slave0";
    				link-interface	= <1>;
    				phy-handle      = <&phy0>;
    			};
    			slave1 {
    				label		= "slave1";
    				link-interface	= <1>;
    				phy-handle      = <&phy1>;
    			};
    			slave2 {
    				label		= "slave2";
    				link-interface	= <1>;
    				phy-handle      = <&phy2>;
    			};
    			slave3 {
    				label		= "slave3";
    				link-interface	= <1>;
    				phy-handle      = <&phy3>;
    			};
    			slave4 {
    				label		= "slave4";
    				link-interface	= <2>;
    			};
    			slave5 {
    				label		= "slave5";
    				link-interface	= <2>;
    			};
    			slave6 {
    				label		= "slave6";
    				link-interface	= <2>;
    			};
    			slave7 {
    				label		= "slave7";
    				link-interface	= <2>;
    			};
    		};
    
    		serdeses {
    			serdes-at-probe	   = <1>;
    
    			serdes0 {
    				regs		   = <0x0232a000 0x2000>;
    				refclk-khz	   = <156250>;
    				link-rate-kbps	   = <1250000>;
    				phy-type	   = "sgmii";
    				max-lanes	   = <4>;
    				/*debug;*/
    				/*rx-force-enable;*/
    				lane0 {
    					/*disable;*/
    					/*loopback;*/
    					control-rate	= <2>; /* quart */
    					rx-start	= <7 5>;
    					rx-force	= <1 1>;
    					tx-coeff	= <0 0 0 12 4>;
    						       /* c1 c2 cm att vreg */
    				};
    				lane1 {
    					/*disable;*/
    					/*loopback;*/
    					control-rate	= <2>; /* quart */
    					rx-start	= <7 5>;
    					rx-force	= <1 1>;
    					tx-coeff	= <0 0 0 12 4>;
    						       /* c1 c2 cm att vreg */
    				};
    			};
    
    			serdes1 {
    				regs		   = <0x02324000 0x2000>;
    				refclk-khz	   = <156250>;
    				link-rate-kbps	   = <1250000>;
    				phy-type	   = "sgmii";
    				max-lanes	   = <4>;
    				/*debug;*/
    				/*rx-force-enable;*/
    				lane0 {
    					disable;
    					/*loopback;*/
    					control-rate	= <2>; /* quart */
    					rx-start	= <7 5>;
    					rx-force	= <1 1>;
    					tx-coeff	= <0 0 0 12 4>;
    						       /* c1 c2 cm att vreg */
    				};
    				lane1 {
    					disable;
    					/*loopback;*/
    					control-rate	= <2>; /* quart */
    					rx-start	= <7 5>;
    					rx-force	= <1 1>;
    					tx-coeff	= <0 0 0 12 4>;
    						       /* c1 c2 cm att vreg */
    				};
    			};
    		};
    	};
    
    	pa: pa@24000000 {
    		label = "keystone-pa2";
    		reg_base                = <0x24000000>;
    		checksum-offload        = <1>; /* 1 - HW offload */
    		txhook-order            = <10>;
    		txhook-softcsum         = <40>;
    		rxhook-order            = <10>;
    
    		tx_cmd_queue_depth      = <64>;
    		tx_data_queue_depth     = <1024>;
    		rx_pool_depth           = <64>;
    		rx_buffer_size          = <128>;
    		lut-ranges              = <0 43 248 255>;
    		/* mark_mcast_match	= <0x12345a00 0xffffff00>; */
    		firmware		= 
    				"keystone/pa_in0_pdsp0.fw",	/*  0 */
    				"keystone/pa_in0_pdsp1.fw",	/*  1 */
    				"keystone/pa_in1_pdsp0.fw",	/*  2 */
    				"keystone/pa_in1_pdsp1.fw",	/*  3 */
    				"keystone/pa_in2_pdsp0.fw",	/*  4 */
    				"keystone/pa_in3_pdsp0.fw",	/*  5 */
    				"keystone/pa_in4_pdsp0.fw",	/*  6 */
    				"keystone/pa_in4_pdsp1.fw",	/*  7 */
    				"keystone/pa_post_pdsp0.fw",	/*  8 */
    				"keystone/pa_post_pdsp1.fw",	/*  9 */
    				"keystone/pa_eg0_pdsp0.fw",	/* 10 */
    				"keystone/pa_eg0_pdsp1.fw",	/* 11 */
    				"keystone/pa_eg0_pdsp2.fw",	/* 12 */
    				"keystone/pa_eg1_pdsp0.fw",	/* 13 */
    				"keystone/pa_eg2_pdsp0.fw";	/* 14 */
    	};
    
    	sa: sa@24080000 {
    		label = "keystone-sa";
    		multi-interface;
    		interface-0;
    		interface-1;
    		/* Optional: Specify NATT port for fragmentation detection */
    		natt-port = <0>;
    		tx_queue_depth = <32>;
    		netcp_ver = <1>;	/* 0: NETCP v1.0, 1: NSS 1.0 */
    	};
    
    	qos: qos@0 {
    		label = "keystone-qos";
    		multi-interface;
    
    		interface-0 {
    			chan-0 {
    				tx-channel = "qos-bypass-0";
    				tx_queue_depth = <1024>;
    			};
    			chan-1 {
    				tx-channel = "qos0";
    				tx_queue_depth = <64>;
    			};
    			chan-2 {
    				tx-channel = "qos1";
    				tx_queue_depth = <64>;
    			};
    			chan-3 {
    				tx-channel = "qos2";
    				tx_queue_depth = <64>;
    			};
    			chan-4 {
    				tx-channel = "qos3";
    				tx_queue_depth = <64>;
    			};
    			chan-5 {
    				tx-channel = "qos4";
    				tx_queue_depth = <64>;
    			};
    			chan-6 {
    				tx-channel = "qos5";
    				tx_queue_depth = <64>;
    			};
    		};
    		interface-1 {
    			chan-0 {
    				tx-channel = "qos-bypass-1";
    				tx_queue_depth = <1024>;
    			};
    			chan-1 {
    				tx-channel = "qos6";
    				tx_queue_depth = <64>;
    			};
    			chan-2 {
    				tx-channel = "qos7";
    				tx_queue_depth = <64>;
    			};
    			chan-3 {
    				tx-channel = "qos8";
    				tx_queue_depth = <64>;
    			};
    			chan-4 {
    				tx-channel = "qos9";
    				tx_queue_depth = <64>;
    			};
    			chan-5 {
    				tx-channel = "qos10";
    				tx_queue_depth = <64>;
    			};
    			chan-6 {
    				tx-channel = "qos11";
    				tx_queue_depth = <64>;
    			};
    		};
    	};
    };
    
    mdiox0: mdiox {
    	compatible = "virtual,mdio-gpio";
    	#address-cells = <1>;
    	#size-cells = <0>;
    	status = "disabled";
    	gpios = <&gpio0 2 0x2		/* mdc */
    		 &gpio0 0 0x2>;		/* mdio */
    
    	phyx0: phyx@0 {
    		compatible = "Marvell,88x2242", "ethernet-phy-ieee802.3-c45";
    		reg = <0>;
    	};
    	phyx1: phyx@1 {
    		compatible = "Marvell,88x2242", "ethernet-phy-ieee802.3-c45";
    		reg = <1>;
    	};
    };
    
    netcpx: netcp@2f00000 {
    	#address-cells = <1>;
    	#size-cells = <1>;
    	reg = <0x2f00000 0xa0600>;
    	compatible = "ti,keystone-netcp";
    	dma-coherent;
    	status = "disabled";
    
    	clocks = <&clkxge>;
    	clock-names = "clk_xge";
    
    	interfaces {
    		interface-0 {
    			rx-channel = "xgerx0";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1500 4096 0 0>;
    			/*local-mac-address = [02 18 31 7e 3e 5e];*/
    		};
    		interface-1 {
    			rx-channel = "xgerx1";
    			rx-queue-depth = <128 128 0 0>;
    			rx-buffer-size = <1500 4096 0 0>;
    			/*local-mac-address = [02 18 31 7e 3e 5f];*/
    		};
    	};
    
    	cpswx: cpswx@2f00000 {
    		reg = <0x2f00000 0xa0600>;
    		label = "keystone-cpswx";
    
    		intf_tx_queues = <1>;
    
    		sgmii_module_ofs  = <0x100>;
    		pcsr_module_ofs   = <0x600>;
    		switch_module_ofs = <0x1000>;
    		host_port_reg_ofs = <0x1034>;
    		slave_reg_ofs	  = <0x1064>;
    		sliver_reg_ofs	  = <0x1400>;
    		hw_stats_reg_ofs  = <0x1800>;
    		ale_reg_ofs	  = <0x1700>;
    
    		host_port  = <0>;
    		num_slaves  = <2>;
    		ale_ageout  = <30>;
    		ale_entries = <1024>;
    		ale_ports   = <3>;
    
    		multi-interface;
    		num-interfaces = <2>;
    		slaves-per-interface = <1>;
    
    		interfaces {
    			interface-0 {
    				slave_port = <0>;
    				tx-channel = "xgetx0";
    				tx_queue_depth = <128>;
    			};
    			interface-1 {
    				slave_port = <1>;
    				tx-channel = "xgetx1";
    				tx_queue_depth = <128>;
    			};
    		};
    
    		slaves {
    			slave0 {
    				label		= "slave0";
    				link-interface	= <10>;	/* XGMII_LINK_MAC_PHY */
    				phy-handle	= <&phyx0>;
    			};
    			slave1 {
    				label		= "slave1";
    				link-interface	= <10>;	/* SGMII_LINK_MAC_PHY */
    				phy-handle	= <&phyx1>;
    			};
    		};
    
    		serdeses {
    			serdes-at-probe	   = <1>;
    			serdes0 {
    				regs		   = <0x0231e000 0x2000>;
    				refclk-khz	   = <156250>;
    				link-rate-kbps	   = <10312500>;
    				phy-type	   = "xge";
    				max-lanes	   = <2>;
    				/*debug;*/
    
    				/*rx-force-enable;*/
    				lane0 {
    					/*disable;*/
    					/*loopback;*/
    					rx-start	= <7 5>;
    					rx-force	= <1 1>;
    					tx-coeff	= <2 0 0 12 4>;
    						       /* c1 c2 cm att vreg */
    					control-rate	= <0>; /* full */
    				};
    				lane1 {
    					/*disable;*/
    					/*loopback;*/
    					rx-start	= <7 5>;
    					rx-force	= <1 1>;
    					tx-coeff	= <2 0 0 12 4>;
    						       /* c1 c2 cm att vreg */
    					control-rate	= <0>; /* full */
    				};
    
    				firmware {
    					status = "disabled";
    					lane0 {
    						status = "disabled";
    						lane = <0>;
    						rate = <0>; /* 0 = default
    							       1 = 1g
    							       2 = 10g */
    						autonegotiate;
    						/*tx_pause;*/
    						/*rx_pause;*/
    						10g_train;
    						/*fec;*/
    					};
    					lane1 {
    						status = "disabled";
    						lane = <1>;
    						rate = <0>; /* 0 = default
    							       1 = 1g
    							       2 = 10g */
    						autonegotiate;
    						/*tx_pause;*/
    						/*rx_pause;*/
    						10g_train;
    						/*fec;*/
    					};
    				};
    			};
    		};
    	};
    };
    
    

    U-Boot 2013.01 (Mar 31 2016 - 15:56:04)
    
    I2C:   ready
    SPD csum OK; in SPD: 2C 10; computed 0000002C 10
    DDR3A Speed will be configured for 1600 Operation.
    Detected SO-DIMM [9965526-017.A00LF ]
    Power-on reset was not the last reset to occur !
    DRAM: 4 GiB
    
    Reseting entire DDR3 memory to 0 ...
    DRAM:  2 GiB
    NAND:  512 MiB
    Net:   K2E_EMAC0, K2E_EMAC1, K2E_EMAC2, K2E_EMAC3, K2E_EMAC4, K2E_EMAC5, K2E_EMAC6, K2E_EMAC7, K2E_XMAC0, K2E_XMAC1
    Hit any key to stop autoboot:  3  2  1  0 
    Creating 1 MTD partitions on "nand0":
    0x000000180000-0x000020000000 : "mtd=2"
    UBI: attaching mtd1 to ubi0
    UBI: physical eraseblock size:   131072 bytes (128 KiB)
    UBI: logical eraseblock size:    126976 bytes
    UBI: smallest flash I/O unit:    2048
    UBI: VID header offset:          2048 (aligned 2048)
    UBI: data offset:                4096
    UBI: attached mtd1 to ubi0
    UBI: MTD device name:            "mtd=2"
    UBI: MTD device size:            510 MiB
    UBI: number of good PEBs:        4080
    UBI: number of bad PEBs:         4
    UBI: max. allowed volumes:       128
    UBI: wear-leveling threshold:    4096
    UBI: number of internal volumes: 1
    UBI: number of user volumes:     5
    UBI: available PEBs:             0
    UBI: total number of reserved PEBs: 4080
    UBI: number of PEBs reserved for bad PEB handling: 40
    UBI: max/mean erase counter: 2/0
    UBIFS: mounted UBI device 0, volume 0, name "boot"
    UBIFS: mounted read-only
    UBIFS: file system size:   9269248 bytes (9052 KiB, 8 MiB, 73 LEBs)
    UBIFS: journal size:       1650688 bytes (1612 KiB, 1 MiB, 13 LEBs)
    UBIFS: media format:       w4/r0 (latest is w4/r0)
    UBIFS: default compressor: LZO
    UBIFS: reserved for root:  0 bytes (0 KiB)
    Loading file 'securedb.key.bin' to addr 0x0c000000 with size 28 (0x0000001c)...
    Done
    Loading file 'k2e-evm.dtb' to addr 0x87000000 with size 46281 (0x0000b4c9)...
    Done
    Loading file 'skern-k2e-evm.bin' to addr 0x0c140000 with size 45056 (0x0000b000)...
    Done
    Loading file 'uImage-keystone-evm.bin' to addr 0x88000000 with size 4083176 (0x003e4de8)...
    Done
    ## installed monitor, freq [208333333], status 0
    ## Booting kernel from Legacy Image at 88000000 ...
       Image Name:   Linux-3.10.72-gca334de
       Created:      2015-09-30   7:51:42 UTC
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    4083112 Bytes = 3.9 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
    ## Flattened Device Tree blob at 87000000
       Booting using the fdt blob at 0x87000000
       Loading Kernel Image ... OK
    OK
       Using Device Tree in place at 87000000, end 8700e4c8
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.10.72-gca334de (gtbldadm@ubuntu-12) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 SMP Wed Sep 30 03:51:28 EDT 2015
    [    0.000000] CPU: ARMv7 Processor [412fc0f4] revision 4 (ARMv7), cr=30c7387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] Machine: KeyStone2, model: Texas Instruments Keystone 2 SoC
    [    0.000000] switching to high address space at 0x800000000
    [    0.000000] cma: CMA: reserved 16 MiB at 2e800000
    [    0.000000] Memory policy: ECC disabled, Data cache writealloc
    [    0.000000] PERCPU: Embedded 8 pages/cpu @c2845000 s11264 r8192 d13312 u32768
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 915984
    [    0.000000] Kernel command line: console=ttyS0,115200n8 rootwait=1 rootfstype=ubifs root=ubi0:rootfs rootflags=sync rw ubi.mtd=2,2048
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 1536MB 2048MB = 3584MB total
    [    0.000000] Memory: 3615472k/3615472k available, 54544k reserved, 2891776K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0733c1c   (7344 kB)
    [    0.000000]       .init : 0xc0734000 - 0xc0786c00   ( 331 kB)
    [    0.000000]       .data : 0xc0788000 - 0xc07ea618   ( 394 kB)
    [    0.000000]        .bss : 0xc07ea618 - 0xc081c2bc   ( 200 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000] Hierarchical RCU implementation.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] ipc irq: irqchip registered, range 512-539
    [    0.000000] Main PLL clk (1250000000 Hz), parent (100000000 Hz),postdiv = 2, mult = 24, prediv = 0
    [    0.000000] Generic PLL clk (1000000000 Hz), parent (100000000 Hz),postdiv = 2, mult = 19, prediv = 0
    [    0.000000] Generic PLL clk (400000000 Hz), parent (100000000 Hz),postdiv = 4, mult = 15, prediv = 0
    [    0.000000] Architected local timer running at 208.33MHz (phys).
    [    0.000000] Switching to timer-based delay loop
    [    0.000000] sched_clock: ARM arch timer >56 bits at 208333kHz, resolution 614/128ns
    [    0.000000] keystone timer clock @208333333 MHz
    [    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
    [    0.000000] Console: colour dummy device 80x30
    [16276.931952] Calibrating delay loop (skipped), value calculated using timer frequency.. 416.66 BogoMIPS (lpj=2083333)
    [16276.931961] pid_max: default: 4096 minimum: 301
    [16276.932089] Mount-cache hash table entries: 512
    [16276.939308] CPU: Testing write buffer coherency: ok
    [16276.939471] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [16276.939480] psci: probing function IDs from device-tree
    [16276.939493] Setting up static identity map for 0xc05117a0 - 0xc05117f8
    [16276.944598] CPU1: Booted secondary processor
    [16276.944622] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [16276.949483] CPU2: Booted secondary processor
    [16276.949509] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
    [16276.954360] CPU3: Booted secondary processor
    [16276.954386] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
    [16276.954458] Brought up 4 CPUs
    [16276.954476] SMP: Total of 4 processors activated (1666.66 BogoMIPS).
    [16276.954480] CPU: All CPU(s) started in SVC mode.
    [16276.955064] devtmpfs: initialized
    [16276.967195] NET: Registered protocol family 16
    [16276.968049] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [16276.978523] No ATAGs?
    [16276.978539] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [16276.978545] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [16276.988078] bio: create slab <bio-0> at 0
    [16276.988443] keystone-pcie: keystone_pcie_rc_init - start
    [16276.988463] keystone2_pcie_serdes_setup for domain 0
    [16276.990578] keystone2_pcie_serdes_setup done domain 0, en_link_train = 1
    [16276.990605] keystone-pcie: MEM 0x0000000050000000..0x000000005fffffff -> 0x0000000050000000 
    [16276.990614] keystone-pcie: IO 0x0000000023250000..0x0000000023253fff -> 0x0000000000000000
    [16276.990642] keystone-pcie: pcie - number of legacy irqs = 4
    [16276.990683] keystone-pcie: pcie - number of MSI host irqs = 8, msi_irqs = 32
    [16277.091978] keystone-pcie: Doing PCI Setup...Done
    [16277.091983] keystone-pcie: Starting PCI scan, nr 0...
    [16277.092100] PCI host bridge to bus 0000:00
    [16277.092110] pci_bus 0000:00: root bus resource [mem 0x50000000-0x5fffffff]
    [16277.092116] pci_bus 0000:00: root bus resource [io  0x0000-0x3fff]
    [16277.092123] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
    [16277.092163] PCI: bus0: Fast back to back transfers enabled
    [16277.092177] keystone-pcie: Ending PCI scan...
    [16277.092184] keystone-pcie: keystone_pcie_rc_init - end
    [16277.092241] keystone-pcie: keystone_pcie_rc_init - start
    [16277.092258] keystone2_pcie_serdes_setup for domain 1
    [16277.094373] keystone2_pcie_serdes_setup done domain 1, en_link_train = 1
    [16277.094399] keystone-pcie: MEM 0x0000000060000000..0x000000006fffffff -> 0x0000000060000000 
    [16277.094407] keystone-pcie: IO 0x0000000023260000..0x0000000023263fff -> 0x0000000000004000
    [16277.094434] keystone-pcie: pcie - number of legacy irqs = 4
    [16277.094474] keystone-pcie: pcie - number of MSI host irqs = 8, msi_irqs = 32
    [16277.201942] keystone-pcie: Doing PCI Setup...Done
    [16277.201947] keystone-pcie: Starting PCI scan, nr 0...
    [16277.202067] PCI host bridge to bus 0001:00
    [16277.202076] pci_bus 0001:00: root bus resource [mem 0x60000000-0x6fffffff]
    [16277.202082] pci_bus 0001:00: root bus resource [io  0x4000-0x7fff]
    [16277.202089] pci_bus 0001:00: No busn resource found for root bus, will use [bus 00-ff]
    [16277.202126] PCI: bus0: Fast back to back transfers enabled
    [16277.202141] keystone-pcie: Ending PCI scan...
    [16277.202145] keystone-pcie: keystone_pcie_rc_init - end
    [16277.202348] vgaarb: loaded
    [16277.202633] SCSI subsystem initialized
    [16277.203183] usbcore: registered new interface driver usbfs
    [16277.203263] usbcore: registered new interface driver hub
    [16277.203354] usbcore: registered new device driver usb
    [16277.204377] pps_core: LinuxPPS API ver. 1 registered
    [16277.204383] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [16277.204439] PTP clock support registered
    [16277.204570] keystone-hwqueue hwqueue.36: qmgr start queue 0, number of queues 8192
    [16277.204646] keystone-hwqueue hwqueue.36: added qmgr start queue 0, num of queues 8192, reg_peek f0040000, reg_status f0006000, reg_config f0008000, reg_region f000a000, reg_push f0080000, reg_pop f00c0000
    [16277.205341] keystone-hwqueue hwqueue.36: qos: sched port @8096, drop sched @8000
    [16277.206286] keystone-hwqueue hwqueue.36: qos: sched port @6496, drop sched @6400
    [16277.207179] keystone-hwqueue hwqueue.36: added pool pool-rio: 128 descriptors of size 256
    [16277.207189] keystone-hwqueue hwqueue.36: added pool pool-xge: 1024 descriptors of size 128
    [16277.207197] keystone-hwqueue hwqueue.36: added pool pool-crypto: 1024 descriptors of size 128
    [16277.207205] keystone-hwqueue hwqueue.36: added pool pool-net: 15360 descriptors of size 128
    [16277.207213] keystone-hwqueue hwqueue.36: added pool pool-udma: 240 descriptors of size 256
    [16277.208184] keystone-hwqueue hwqueue.36: registered queues 0-8191
    [16277.208447] keystone-hwqueue hwqueue.36: qos version 0x200010b, magic valid
    [16277.208927] keystone-hwqueue hwqueue.36: qos version 0x200010b, magic valid
    [16277.212920] keystone-pktdma 2a08000.pktdma: registered 4 logical channels, flows 32, tx chans: 32, rx chans: 32, loopback
    [16277.217383] keystone-pktdma 24186000.pktdma: registered 44 logical channels, flows 128, tx chans: 21, rx chans: 91
    [16277.217867] keystone-pktdma 2fa1000.pktdma: registered 4 logical channels, flows 32, tx chans: 16, rx chans: 16
    [16277.217991] Switching to clocksource arch_sys_counter
    [16277.234863] NET: Registered protocol family 2
    [16277.235322] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
    [16277.235428] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [16277.235532] TCP: Hash tables configured (established 8192 bind 8192)
    [16277.235577] TCP: reno registered
    [16277.235585] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [16277.235608] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [16277.235776] NET: Registered protocol family 1
    [16277.235928] RPC: Registered named UNIX socket transport module.
    [16277.235933] RPC: Registered udp transport module.
    [16277.235937] RPC: Registered tcp transport module.
    [16277.235941] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [16277.236300] hw perfevents: enabled with ARMv7 Cortex-A15 PMU driver, 7 counters available
    [16277.307938] bounce pool size: 64 pages
    [16277.314611] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
    [16277.314766] NTFS driver 2.1.30 [Flags: R/O].
    [16277.314984] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    [16277.315259] msgmni has been set to 1445
    [16277.316098] NET: Registered protocol family 38
    [16277.316269] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    [16277.316275] io scheduler noop registered
    [16277.316280] io scheduler deadline registered
    [16277.316385] io scheduler cfq registered (default)
    [16277.317098] keystone-udma udma0.37: registered udma device udma0
    [16277.368801] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [16277.370179] 2530c00.serial: ttyS0 at MMIO 0x2530c00 (irq = 309) is a 16550A
    [16278.264535] console [ttyS0] enabled
    [16278.268584] 2531000.serial: ttyS1 at MMIO 0x2531000 (irq = 312) is a 16550A
    [16278.278315] loop: module loaded
    [16278.281560] at24 0-0050: 131072 byte 24c1024 EEPROM, writable, 1 bytes/write
    [16278.290935] Generic platform RAM MTD, (c) 2004 Simtec Electronics
    [16278.297844] ONFI param page 0 valid
    [16278.301321] ONFI flash detected
    [16278.304453] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xac (Micron MT29F4G08ABBDAHC), 512MiB, page size: 2048, OOB size: 64
    [16278.316061] Bad block table found at page 262080, version 0x01
    [16278.322275] Bad block table found at page 262016, version 0x01
    [16278.328350] 3 ofpart partitions found on MTD device 30000000.nand
    [16278.334428] Creating 3 MTD partitions on "30000000.nand":
    [16278.339819] 0x000000000000-0x000000100000 : "u-boot"
    [16278.345346] 0x000000100000-0x000000180000 : "params"
    [16278.350846] 0x000000180000-0x000020000000 : "ubifs"
    [16278.356415] davinci_nand 30000000.nand: controller rev. 2.5
    [16278.362547] spi_davinci 21000400.spi: master is unqueued, this is deprecated
    [16278.369826] m25p80 spi32766.0: found mr25h256, expected n25q128
    [16278.375735] m25p80 spi32766.0: mr25h256 (32 Kbytes)
    [16278.380615] 2 ofpart partitions found on MTD device spi32766.0
    [16278.386432] Creating 2 MTD partitions on "spi32766.0":
    [16278.391562] 0x000000000000-0x000000080000 : "u-boot-spl"
    [16278.396860] mtd: partition "u-boot-spl" extends beyond the end of device "spi32766.0" -- size truncated to 0x8000
    [16278.407676] 0x000000080000-0x000001000000 : "test"
    [16278.412453] mtd: partition "test" is out of reach -- disabled
    [16278.419030] spi_davinci 21000400.spi: Controller at 0xf00b6400
    [16278.425126] spi_davinci 21000600.spi: master is unqueued, this is deprecated
    [16278.432167] spi_davinci 21000600.spi: Controller at 0xf00b8600
    [16278.438271] spi_davinci 21000800.spi: master is unqueued, this is deprecated
    [16278.445306] spi_davinci 21000800.spi: Controller at 0xf00ba800
    [16278.452102] tun: Universal TUN/TAP device driver, 1.6
    [16278.457140] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
    [16278.507188] davinci_mdio 24200f00.mdio: davinci mdio revision 1.7
    [16278.513266] libphy: 24200f00.mdio: probed
    [16278.518318] davinci_mdio 24200f00.mdio: phy[0]: device 24200f00.mdio:00, driver unknown
    [16278.526307] davinci_mdio 24200f00.mdio: phy[1]: device 24200f00.mdio:01, driver unknown
    [16278.534302] davinci_mdio 24200f00.mdio: phy[2]: device 24200f00.mdio:02, driver unknown
    [16278.542294] davinci_mdio 24200f00.mdio: phy[3]: device 24200f00.mdio:03, driver unknown
    [16278.550612] keystone-netcp 24000000.netcp: number of serdeses 2
    [16278.556528] keystone-netcp 24000000.netcp: Missing cpts_clock_mult property in the DT.
    [16278.564439] keystone-netcp 24000000.netcp: Missing cpts_clock_shift property in the DT.
    [16278.572433] keystone-netcp 24000000.netcp: Missing cpts_clock_div property in the DT.
    [16278.581192] keystone-netcp 24000000.netcp: cpsw serdes 0 config done lanes(mask) 0x3
    [16278.589638] keystone-netcp 24000000.netcp: cpsw serdes 1 config done lanes(mask) 0x0
    [16278.598164] keystone-netcp 24000000.netcp: Created interface "eth0"
    [16278.604423] keystone-netcp 24000000.netcp: dma_chan_name nettx0
    [16278.611061] keystone-netcp 24000000.netcp: Created interface "eth1"
    [16278.617325] keystone-netcp 24000000.netcp: dma_chan_name nettx1
    [16278.623949] keystone-netcp 24000000.netcp: Created interface "eth2"
    [16278.630216] keystone-netcp 24000000.netcp: dma_chan_name nettx2
    [16278.636845] keystone-netcp 24000000.netcp: Created interface "eth3"
    [16278.643112] keystone-netcp 24000000.netcp: dma_chan_name nettx3
    [16278.649747] keystone-netcp 24000000.netcp: Created interface "eth4"
    [16278.656006] keystone-netcp 24000000.netcp: dma_chan_name nettx4
    [16278.662657] keystone-netcp 24000000.netcp: Created interface "eth5"
    [16278.668925] keystone-netcp 24000000.netcp: dma_chan_name nettx5
    [16278.675567] keystone-netcp 24000000.netcp: Created interface "eth6"
    [16278.681835] keystone-netcp 24000000.netcp: dma_chan_name nettx6
    [16278.688497] keystone-netcp 24000000.netcp: Created interface "eth7"
    [16278.694756] keystone-netcp 24000000.netcp: dma_chan_name nettx7
    [16278.700950] keystone-netcp 24000000.netcp: pdsp 0 firmware: keystone/pa_in0_pdsp0.fw
    [16278.708687] keystone-netcp 24000000.netcp: pdsp 1 firmware: keystone/pa_in0_pdsp1.fw
    [16278.716416] keystone-netcp 24000000.netcp: pdsp 2 firmware: keystone/pa_in1_pdsp0.fw
    [16278.724150] keystone-netcp 24000000.netcp: pdsp 3 firmware: keystone/pa_in1_pdsp1.fw
    [16278.731883] keystone-netcp 24000000.netcp: pdsp 4 firmware: keystone/pa_in2_pdsp0.fw
    [16278.739616] keystone-netcp 24000000.netcp: pdsp 5 firmware: keystone/pa_in3_pdsp0.fw
    [16278.747349] keystone-netcp 24000000.netcp: pdsp 6 firmware: keystone/pa_in4_pdsp0.fw
    [16278.755077] keystone-netcp 24000000.netcp: pdsp 7 firmware: keystone/pa_in4_pdsp1.fw
    [16278.762811] keystone-netcp 24000000.netcp: pdsp 8 firmware: keystone/pa_post_pdsp0.fw
    [16278.770634] keystone-netcp 24000000.netcp: pdsp 9 firmware: keystone/pa_post_pdsp1.fw
    [16278.778455] keystone-netcp 24000000.netcp: pdsp 10 firmware: keystone/pa_eg0_pdsp0.fw
    [16278.786270] keystone-netcp 24000000.netcp: pdsp 11 firmware: keystone/pa_eg0_pdsp1.fw
    [16278.794090] keystone-netcp 24000000.netcp: pdsp 12 firmware: keystone/pa_eg0_pdsp2.fw
    [16278.801911] keystone-netcp 24000000.netcp: pdsp 13 firmware: keystone/pa_eg1_pdsp0.fw
    [16278.809731] keystone-netcp 24000000.netcp: pdsp 14 firmware: keystone/pa_eg2_pdsp0.fw
    [16278.817982] keystone-netcp 24000000.netcp: could not find interface 2 node in device tree
    [16278.826145] keystone-netcp 24000000.netcp: Attach of module keystone-qos declined with -19
    [16278.834401] keystone-netcp 24000000.netcp: could not find interface 3 node in device tree
    [16278.842567] keystone-netcp 24000000.netcp: Attach of module keystone-qos declined with -19
    [16278.850822] keystone-netcp 24000000.netcp: could not find interface 4 node in device tree
    [16278.858989] keystone-netcp 24000000.netcp: Attach of module keystone-qos declined with -19
    [16278.867243] keystone-netcp 24000000.netcp: could not find interface 5 node in device tree
    [16278.875404] keystone-netcp 24000000.netcp: Attach of module keystone-qos declined with -19
    [16278.883662] keystone-netcp 24000000.netcp: could not find interface 6 node in device tree
    [16278.891829] keystone-netcp 24000000.netcp: Attach of module keystone-qos declined with -19
    [16278.900084] keystone-netcp 24000000.netcp: could not find interface 7 node in device tree
    [16278.908251] keystone-netcp 24000000.netcp: Attach of module keystone-qos declined with -19
    [16278.916512] keystone-netcp 24000000.netcp: Attach of module keystone-sa declined with -19
    [16278.924681] keystone-netcp 24000000.netcp: Attach of module keystone-sa declined with -19
    [16278.932848] keystone-netcp 24000000.netcp: Attach of module keystone-sa declined with -19
    [16278.941015] keystone-netcp 24000000.netcp: Attach of module keystone-sa declined with -19
    [16278.949182] keystone-netcp 24000000.netcp: Attach of module keystone-sa declined with -19
    [16278.957349] keystone-netcp 24000000.netcp: Attach of module keystone-sa declined with -19
    [16278.966386] dwc3 2690000.dwc3: no usb2 phy configured
    [16278.971440] platform 2690000.dwc3: Driver dwc3 requests probe deferral
    [16278.978196] dwc3 25010000.dwc3: no usb2 phy configured
    [16278.983330] platform 25010000.dwc3: Driver dwc3 requests probe deferral
    [16278.990317] usbcore: registered new interface driver usb-storage
    [16278.996703] mousedev: PS/2 mouse device common for all mice
    [16279.002455] i2c /dev entries driver
    [16279.006517] watchdog 22f0080.wdt: heartbeat 60 sec
    [16279.013125] keystone-crypto 24080000.crypto: crypto accelerator enabled
    [16279.020025] usbcore: registered new interface driver usbhid
    [16279.025583] usbhid: USB HID core driver
    [16279.029714]  remoteproc0: 2620844.dsp0 is available
    [16279.034579]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [16279.043527]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [16279.053879]  remoteproc0: no firmware found
    [16279.058169] rproc-user 2620844.dsp0: registered misc device dsp0
    [16279.064181] rproc-user dspmem.38: kick gpio
    [16279.068470] rproc-user dspmem.38: registered misc device dspmem
    [16279.074656] oprofile: using arm/armv7-ca15
    [16279.078852] ipip: IPv4 over IPv4 tunneling driver
    [16279.083894] gre: GRE over IPv4 demultiplexor driver
    [16279.088770] ip_gre: GRE over IPv4 tunneling driver
    [16279.094225] TCP: cubic registered
    [16279.097537] Initializing XFRM netlink socket
    [16279.102193] NET: Registered protocol family 10
    [16279.107770] NET: Registered protocol family 17
    [16279.112214] NET: Registered protocol family 15
    [16279.116688] Bridge firewalling registered
    [16279.120698] 8021q: 802.1Q VLAN Support v1.8
    [16279.126486] sctp: Hash tables configured (established 65536 bind 65536)
    [16279.133292] NET: Registered protocol family 41
    [16279.137848] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [16279.145504] Registering SWP/SWPB emulation handler
    [16279.352110] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [16279.357604] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [16279.365728] xhci-hcd xhci-hcd.0.auto: irq 184, io mem 0x02690000
    [16279.371793] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [16279.378576] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [16279.385781] usb usb1: Product: xHCI Host Controller
    [16279.390651] usb usb1: Manufacturer: Linux 3.10.72-gca334de xhci-hcd
    [16279.396909] usb usb1: SerialNumber: xhci-hcd.0.auto
    [16279.402171] hub 1-0:1.0: USB hub found
    [16279.405915] hub 1-0:1.0: 1 port detected
    [16279.410028] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [16279.415506] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [16279.423230] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [16279.430012] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [16279.437224] usb usb2: Product: xHCI Host Controller
    [16279.442089] usb usb2: Manufacturer: Linux 3.10.72-gca334de xhci-hcd
    [16279.448347] usb usb2: SerialNumber: xhci-hcd.0.auto
    [16279.453571] hub 2-0:1.0: USB hub found
    [16279.457325] hub 2-0:1.0: 1 port detected
    [16279.662413] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [16279.667915] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
    [16279.676019] xhci-hcd xhci-hcd.1.auto: irq 446, io mem 0x25010000
    [16279.682072] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
    [16279.688855] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [16279.696060] usb usb3: Product: xHCI Host Controller
    [16279.700931] usb usb3: Manufacturer: Linux 3.10.72-gca334de xhci-hcd
    [16279.707190] usb usb3: SerialNumber: xhci-hcd.1.auto
    [16279.712409] hub 3-0:1.0: USB hub found
    [16279.716153] hub 3-0:1.0: 1 port detected
    [16279.720233] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [16279.725710] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
    [16279.733442] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003
    [16279.740224] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [16279.747436] usb usb4: Product: xHCI Host Controller
    [16279.752301] usb usb4: Manufacturer: Linux 3.10.72-gca334de xhci-hcd
    [16279.758561] usb usb4: SerialNumber: xhci-hcd.1.auto
    [16279.763851] hub 4-0:1.0: USB hub found
    [16279.767619] hub 4-0:1.0: 1 port detected
    [16279.771984] UBI: attaching mtd2 to ubi0
    [16279.886310] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [16279.906716] usb 1-1: New USB device found, idVendor=0451, idProduct=8142
    [16279.913421] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [16279.920563] usb 1-1: SerialNumber: DF0B08599C0C
    [16279.935190] hub 1-1:1.0: USB hub found
    [16279.939018] hub 1-1:1.0: 4 ports detected
    [16280.445951] usb 3-1: new high-speed USB device number 2 using xhci-hcd
    [16280.466328] usb 3-1: New USB device found, idVendor=0451, idProduct=8142
    [16280.473016] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [16280.480166] usb 3-1: SerialNumber: BF0B08599C0C
    [16280.501228] hub 3-1:1.0: USB hub found
    [16280.505026] hub 3-1:1.0: 4 ports detected
    [16280.615872] usb 1-1.3: new full-speed USB device number 3 using xhci-hcd
    [16280.637346] usb 1-1.3: New USB device found, idVendor=0483, idProduct=5740
    [16280.644211] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [16280.651538] usb 1-1.3: Product: STM32 Virtual ComPort
    [16280.656613] usb 1-1.3: Manufacturer: STMicroelectronics
    [16280.661836] usb 1-1.3: SerialNumber: 00000000001A
    [16280.745774] usb 1-1.4: new high-speed USB device number 4 using xhci-hcd
    [16280.766142] usb 1-1.4: New USB device found, idVendor=0451, idProduct=8142
    [16280.773021] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [16280.780346] usb 1-1.4: SerialNumber: 9F0B08599C0C
    [16280.798615] hub 1-1.4:1.0: USB hub found
    [16280.802584] hub 1-1.4:1.0: 4 ports detected
    [16281.366373] UBI: scanning is finished
    [16281.376802] UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 40, need 76
    [16281.389253] UBI: attached mtd2 (name "ubifs", size 510 MiB) to ubi0
    [16281.395513] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
    [16281.402285] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
    [16281.408975] UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
    [16281.415838] UBI: good PEBs: 4080, bad PEBs: 4, corrupted PEBs: 0
    [16281.421829] UBI: user volume: 5, internal volumes: 1, max. volumes count: 128
    [16281.428953] UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 802536635
    [16281.437897] UBI: available PEBs: 0, total reserved PEBs: 4080, PEBs reserved for bad PEB handling: 40
    [16281.447110] UBI: background thread "ubi_bgt0d" started, PID 1365
    [16281.453666] UBIFS: parse sync
    [16281.457116] UBIFS: background thread "ubifs_bgt0_2" started, PID 1368
    [16281.481340] UBIFS: recovery needed
    [16281.652871] UBIFS: recovery completed
    [16281.656586] UBIFS: mounted UBI device 0, volume 2, name "rootfs"
    [16281.662579] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
    [16281.671701] UBIFS: FS size: 468795392 bytes (447 MiB, 3692 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
    [16281.681599] UBIFS: reserved for root: 0 bytes (0 KiB)
    [16281.686643] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 9A608203-D9BB-435B-8B24-7F33D12D3904, small LPT model
    [16281.697598] VFS: Mounted root (ubifs filesystem) on device 0:12.
    [16281.705008] devtmpfs: mounted
    [16281.708109] Freeing unused kernel memory: 328K (c0734000 - c0786000)
    
    INIT: version 2.88 booting
    
    Starting udev
    [16282.275364] udevd[1394]: starting version 182
    [16282.461879] uio_module_drv mpax.4: registered misc device mpax
    [16282.475715] uio_module_drv edma3.5: registered misc device edma3
    [16282.492280] uio_module_drv secmgr.6: registered misc device secmgr
    [16282.505211] uio_module_drv qmss.7: registered misc device qmss
    [16282.522308] CMEMK module: built on Sep 30 2015 at 03:32:53
    [16282.527823]   Reference Linux version 3.10.72
    [16282.549509] no physical memory specified
    [16282.553441] cmemk initialized
    [16282.560238] uio_module_drv hyperlink0.41: registered misc device hyperlink0
    [16282.569632] uio_module_drv srss.42: registered misc device srss
    Starting Bootlog daemon: bootlogd.
    
    net.ipv4.conf.default.rp_filter = 1
    
    net.ipv4.conf.all.rp_filter = 1
    
    Wed Sep 30 08:05:00 UTC 2015
    
    
    INIT: Entering runlevel: 5
    
    
    Configuring network interfaces... [16283.130164] keystone-netcp 24000000.netcp: initializing cpsw version 1.0 (7) SGMII identification value 0x4ee5
    [16283.140289] keystone-netcp 24000000.netcp: Created a cpsw ale engine
    [16283.149645] keystone-netcp 24000000.netcp: phy found: id is: 0x24200f00.mdio:00
    [16283.254853] pps pps0: new PPS source ptp0
    [16283.258868] cpts rftclk rate(625000000 HZ),mult(4096),shift(9),div(5)
    [16283.265762] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 0 Firmware Version 0x03000105
    [16283.274540] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 1 Firmware Version 0x03000105
    [16283.283309] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 2 Firmware Version 0x03000105
    [16283.292084] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 3 Firmware Version 0x03000105
    [16283.300861] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 4 Firmware Version 0x03000105
    [16283.309635] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 5 Firmware Version 0x03000105
    [16283.318409] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 6 Firmware Version 0x03000105
    [16283.327183] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 7 Firmware Version 0x03000105
    [16283.335957] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 8 Firmware Version 0x03000105
    [16283.344735] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 9 Firmware Version 0x03000105
    [16283.353503] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 10 Firmware Version 0x03000105
    [16283.362461] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 11 Firmware Version 0x03000105
    [16283.371322] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 12 Firmware Version 0x03000105
    [16283.380182] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 13 Firmware Version 0x03000105
    [16283.389042] keystone-netcp 24000000.netcp: Packet Accelerator PDSP 14 Firmware Version 0x03000105
    [16283.664166] net eth0: netcp device eth0 opened
    [16283.670815] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [16283.676652] 8021q: adding VLAN 0 to HW filter on device eth0
    udhcpc (v1.22.1) started
    
    Sending discover...
    
    [16285.143161] libphy: 24200f00.mdio:00 - Link is Down
    Sending discover...
    
    Sending discover...
    
    No lease, forking to background
    
    done.
    
    Starting system message bus: dbus.
    
    Starting Dropbear SSH server: dropbear.
    
    cppi library link established for device : k2e
    
    hyplnk library link established for device : k2e
    
    PA library link established for device : k2e
    
    qmss library link established for device : k2e
    
    Starting mpmsrv daemon.
    
    platform: k2e-evm
    
    Starting softhsm daemon.
    
    Starting telnet daemon.
    
    Starting tiipclad daemon
    
    GateMP is not supported for this device
    
    
    
    Opened log file: lad.txt
    
    
    
    numProcessors = 2 id = 0 baseId = 0
    
    
    
    Spawned daemon: /usr/bin/lad_66ak2e
    
    
    
    .
    
    Starting rpcbind daemon...done.
    
    creating NFS state directory: done
    
    starting statd: done
    
    Starting thttpd.
    
    Starting Lighttpd Web Server: lighttpd.
    
    2015-09-30 08:05:11: (/home/gtbldadm/yocto/mcsdk-3_01_04_07/oe-layersetup-mcsdk/build/arago-tmp-external-linaro-toolchain/work/cortexa15t2hf-vfp-neon-linux-gnueabi/lighttpd/1.4.33-r1/lighttpd-1.4.33/src/log.c.166) server started 
    
    * starting FTP Server: vsftpd... done.
    
     
    
     
    
    #>>>>> LCD 12
    
    IP Address:
    
    
    
    Enabling thermal zones...
    
    /etc/rc5.d/S98thermal-zone-init: line 7: /sys/class/thermal/thermal_zone*/mode: No such file or directory
    
    ***************************************************************
    
    ***************************************************************
    
    NOTICE: This file system contains the following GPLv3 packages:
    
    	autoconf
    
    	binutils
    
    	cpp-symlinks
    
    	cpp
    
    	g++-symlinks
    
    	g++
    
    	gawk-common
    
    	gawk
    
    	gcc-symlinks
    
    	gcc
    
    	gdb
    
    	gdbserver
    
    	libgmp10
    
    	libmpc3
    
    	libmpfr4
    
    	make
    
    
    
    If you do not wish to distribute GPLv3 components please remove
    
    the above packages prior to distribution.  This can be done using
    
    the opkg remove command.  i.e.:
    
        opkg remove <package>
    
    Where <package> is the name printed in the list above
    
    
    
    NOTE: If the package is a dependency of another package you
    
          will be notified of the dependent packages.  You should
    
          use the --force-removal-of-dependent-packages option to
    
          also remove the dependent packages as well
    
    ***************************************************************
    
    ***************************************************************
    
    Stopping Bootlog daemon: bootlogd.
    
    
     _____                    _____           _         _   
    
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
    
                  |___|                    |___|            
    
    
    
    Arago Project http://arago-project.org k2e-evm /dev/ttyS0
    
    
    
    Arago 2015.05 k2e-evm /dev/ttyS0
    
    
    
    k2e-evm login: root
    root@k2e-evm:~# ifconfig eth4 up
    [16700.005106] keystone-netcp 24000000.netcp: initializing cpsw version 1.0 (7) SGMII identification value 0x4ee5
    [16702.161514] net eth4: netcp device eth4 opened
    [16702.166724] IPv6: ADDRCONF(NETDEV_UP): eth4: link is not ready
    [16702.172556] 8021q: adding VLAN 0 to HW filter on device eth4
    root@k2e-evm:~# 

  • I have some doubt after reading spruhz3a.

    At the moment I am not using any piece of code to initialize any SGMII Register. Contrary to SGMII to PHY which is working out of the box after starting Linux kernel, can it be that this particular link needs extra initialisation after boot up. Even if the device tree was set to SGMII to SGMII Connection?

    Page 93 from spruhz3a document:

    SGMII to SGMII with Forced Link Configuration
    This section describes how to configure an SGMII device to connect with another SGMII device with a
    forced link. in Figure 2-11 shows an example of this configuration.
    Figure 2-11. SGMII Master to SGMII Master with Forced Link Configuration
    When connecting two SGMII devices with forced link, both SGMII devices must be configured as masters.
    The procedure for setting the SGMII in master mode with forced link is shown below:
    Step 1. Setup the SGMII:
    (a) Set the SGMII_MR_ADV_ABILITY register
    SPRUHZ3A–August 2014–Revised April 2015 Architecture 93
    Submit Documentation Feedback
    Copyright © 2014–2015, Texas Instruments Incorporated
    Management Data Input/Output (MDIO) Architecture www.ti.com
    SGMII_MR_ADV_ABILITY &= 0xFFFF0000; /* Clear the register contents */
    SGMII_MR_ADV_ABILITY |= 0x00009801; /* Full duplex gigabit configuration */
    (b) Set the device in master mode without auto-negotiation by setting the MASTER bit in the
    SGMII_CONTROL register:
    SGMII_CONTROL |= 0x00000020; /* Master Mode, no auto-negotiation */
    Step 2. Poll the LINK bit in the SGMII_STATUS register to determine when the link is up.
    Step 3. In the MAC module, the user must set the EXT_EN bit in the Pn_MAC_CTL register to allow
    the speed and duplex mode to be set by the signals from the SGMII

  • The SGMII port 4 has been verified by hardware group using bare metal code, but it is not one of the test cases in Linux Kernel group. The infomation from hardware group is that there are 2 ways of doing mac-to-mac. The forced speed requires control register on both side being set to 0x20 and adv_alility to 0x9801 (1gbe full duplex) as document described. The other way is master-slave, one side being set to 0x01/0x01 and the other side being 0x21/0x9801.

    We are trying to get the set up using mac-to-mac and are looking into kernel to see any possible cause.

    Rex

  • Did you have time to test?

    In the meantime I checked the cpsw2 driver in kernel corresponding to MCSDK 3.1.4 (03.01.04.07).
    The configuration seems to fit with the description above.


    Is it possible that this driver is not supporting 9-port Switch but only 5-port Switch?

  • I am also having troubles getting SGMII port 4 to work in SGMII to SGMII mode. Has your Linux kernel group verified that configuration meanwhile? Would appreciate to get an answer soon so that we know if that problem is software related or not. Thanks.
  • Hi, Silvio,

    What we see is Linux kernel thought the port is up, but ping does not go through. The port has only been verified using TI RTOS, not linux kernel. We are investigating this issue now.

    Rex

  • Hi Rex

    Any news on that one? Thanks.

    Regards

    Silvio
  • Hi Silvio,
    I´m in contact with the sw supporter of your end customer and cover that offline.

    Regards,
    Bernd
  • Hi,

    We can only verify the attched patches on MCSDK 3.1.4.7 in which Ethernet ports work on the RTM BoC with 4 PHY ports. The ping works fine on all these 4 ports. We thought we have a RTM-RTM back-to-back connector to test MAC_MAC_FORCED configuration (SGMII-to-SGMII) but later realized that the connector does not have SGMII implemented. Therefore, we cannot verify the MAC_MAC configuration. However, the same MAC_MAC configuration is verified on AMC-AMC back-to-back connector. That is eth2 and 3 ports.

     

    Attached are the patches which works for eth4-7 with PHYs on RTM BoC. To have SGMII-SGMII connection, the phy-handle in slave nodes should be removed and link-interface be changed to <2> (MAC_MAC_FORCED). We expect the same configuration working for AMC should work for RTM.

    eth4_7_patch.zip

  • Hi,
    we tried this patch and it improved the way Ports 0 to 3 are working but we still have the same problem on port 4 (fifth port) with MAC to MAC connection. The receiver part (RX) on the port 4 doesn't seem to work properly in driver.
    We made an attempt with SGMII0 to SGMII0 for MAC to MAC and it worked.
  • Hi, dpa,

    In addition to verify using the PHY at port 5-8 (MAC_PHY <1>), we also verified these ports configured as MAC_PHY_NO_MDIO <4> which is similar to MAC_MAC configuration. Without extra hardware, we can't test further, but all indications show that MAC-MAC should work on port 5-8.

    Rex

  • Hi Rex Chang,

    Based on the solution found for another thread (), I tried to configured properly the port4 of both System connected with SGMII4 MAc to MAC:

    serdes1 { 
    regs = <0x02324000 0x2000>;
    refclk-khz = <156250>;
    link-rate-kbps = <1250000>;
    phy-type = "sgmii";
    max-lanes = <4>;
    /*debug;*/
    /*rx-force-enable;*/
    lane0 {
    
              /*disable;*/
    
              /*loopback;*/
    
              control-rate    = <2>; /* quart */
    
              rx-start        = <7 5>;
    
              rx-force        = <1 1>;
    
              tx-coeff        = <0 0 0 12 4>;
    
                                  /* c1 c2 cm att vreg */
    
            };
    lane1 {
    
              disable;
    
              /*loopback;*/
    
              control-rate    = <2>; /* quart */
    
              rx-start        = <7 5>;
    
              rx-force        = <1 1>;
    
              tx-coeff        = <0 0 0 12 4>;
    
                                  /* c1 c2 cm att vreg */
    
            };
    
    };

    I supposed that SGMII0TXN4, SGMII0TXP4, SGMII0RXN4, SGMII0RXP4 Pins correspond to lane 0 of serdes 1 module in the device tree. It seems to correspond with the register address. It is really disturbing that SGMII0TXN4, SGMII0TXP4, SGMII0RXN4, SGMII0RXP4 are indeed related to SGMII1 and not to SGMII0.

    With this configuration, a ping still do not work. No carrier.

    Did we miss something else?

  • Hi, dpa,

    You should not disable the lane statue in serdes1. There are 2 serdes on K2E and each is 4 lanes. The 4 lanes on serdes0 correspond to eth0-3, and the other 4 lanes on serdes1 are to eth4-7. eth0/1 go to on board PHYs on the EVM, 2/3 go to AMC connector. eth4-7 go to RTM. I don't see lane 2 and 3 defined. Please refer to the patch provided earlier for those configuration.

    Rex

  • Hi Rex Chang,
    We finally managed to make it work with a combination of a device tree changed and the part of the patch that you suggested earlier in this thread. Thanks for this.

    Regarding disabling lane1 on serdes1, I do not see why I should not be able to disable it. lane1 of serdes1 is SGMII5 and we do not use it on our custom board. In our solution we have just removed the lane1 from the device tree but I think it shoul dwork by disabling it also.