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.

AM335x custom project : CPU hangs

Hello,

We run into production with our custom AM335x board. Most of the produced cards works well, but we have some instability on someone.
Everything run well and after a random amount of time... (less that one hour). The Linux freez and the board doesn't work any more. Once the CPU freezed, the processor comes hot.

Some times we catch this kind of error :

[ 2580.675000] Unable to handle kernel paging request at virtual address 3f73143b
[ 2580.683189] Unable to handle kernel paging request at virtual address e1a04128
[ 2580.690787] pgd = c0004000
[ 2580.693630] [e1a04128] *pgd=00000000
[ 2580.697401] Internal error: Oops: 5 [#1] ARM
[ 2580.701898] Modules linked in: cdc_acm xt_tcpudp iptable_filter ip_tables x_tables usb_f_rndis u_ether libcomposite configfs fbtft musb_dsps musb_hdrc pwm_test(O) ti_am335x_adc kfifo_buf musb_am335x industrialio snd_soc_evm snd_soc_davinci_mcasp snd_soc_tlv320aic3x
[ 2580.726703] CPU: 0 PID: 0 Comm:  Tainted: G           O 3.14.49-ge9cd4cc819 #2
[ 2580.734311] task: e08c2002 ti: dc8dc000 task.ti: 53324000
[ 2580.740009] PC is at do_bad_area+0x34/0x8c
[ 2580.744322] LR is at 0x20080193
[ 2580.747632] pc : [<c00188fc>]    lr : [<20080193>]    psr: 20080193
[ 2580.747632] sp : dc8de050  ip : dc8de000  fp : dc8de074
[ 2580.759715] r10: 00000020  r9 : e1a04000  r8 : dc8de148
[ 2580.765210] r7 : e1a04128  r6 : e1a04128  r5 : 00000005  r4 : dc8de148
[ 2580.772076] r3 : dc8de050  r2 : dc8de148  r1 : 00000005  r0 : e1a04000
[ 2580.778944] Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
[ 2580.786538] Control: 10c5387d  Table: 9de94019  DAC: 00000015
[ 2580.792587] Process  (pid: 0, stack limit = 0x53324238)
[ 2580.798086] Stack: (0xdc8de050 to 0x53326000)
[ 2580.802665] Backtrace:
[ 2580.805260] [<c00188c8>] (do_bad_area) from [<c0611370>] (do_translation_fault+0x74/0xa8)
[ 2580.813868]  r7:e1a04128 r6:c0004000 r5:c0007868 r4:00000005
[ 2580.819856] [<c06112fc>] (do_translation_fault) from [<c00083bc>] (do_DataAbort+0x40/0xa0)
[ 2580.828553]  r6:c06112fc r5:00000005 r4:c088ebac r3:20080193
[ 2580.834537] [<c000837c>] (do_DataAbort) from [<c060f718>] (__dabt_svc+0x38/0x60)
[ 2580.842321] Exception stack(0xdc8de148 to 0xdc8de190)
[ 2580.847640] e140:                   e1a04000 00000005 dc8de288 dc8de190 dc8de288 00000005
[ 2580.856256] e160: e1a04128 e1a04128 dc8de288 e1a04000 00000020 dc8de1b4 dc8de000 dc8de190
[ 2580.864866] e180: 20080193 c00188fc 20080193 ffffffff
[ 2580.870170]  r8:dc8de288 r7:dc8de17c r6:ffffffff r5:20080193 r4:c00188fc
[ 2580.877255] [<c00188c8>] (do_bad_area) from [<c0611370>] (do_translation_fault+0x74/0xa8)
[ 2580.885851]  r7:e1a04128 r6:c0004000 r5:c0007868 r4:00000005

All boards are using the same configuration and the same image. This is very difficult to see what is the problem. All cards have been electrically checked.
I do a intensive RAM test on the defect boards, but every tests works... Very strange.

Has somebody an idea or a good starting point ?


BR

Steve

  • Hi,

    What Linux version are you using? Have you tuned the DDR interface as described here: processors.wiki.ti.com/.../AM335x_EMIF_Configuration_tips
  • Hello,

    We use linux-ti-staging 3.14.49-ge9cd4cc819. And we do the DDR tuning. Our prototypes and most of devices operate safely for months.

    The problem only appear on some devices, and this is difficult to detect it without long during test on a bench.

  • Hi,

    Initial comment from the software team that this is not an official TI release. You probably took it either from git.ti.com or yoctoproject. Official releases can be downloaded from www.ti.com/.../PROCESSOR-SDK-AM335X The download page for the official release that is closest to your version is software-dl.ti.com/.../index_FDS.html This is kernel v3.14.43. The software team will take a look at this however, and see if they can help. They will respond directly here.
  • Hi Steve,

    Are you running any application, when this error occurs? Are you using the same test conditions for all of your boards?
    It is worth investigating a memory corruption (i.e. a memory leak in your applications, if you use any when testing your hw or the corruption of internal kernel structures)...

    Can you share your boot log and your dts file?

    Best Regards,
    Yordan
  • Hello,

    Thank you for your support. Yes we use same software and same configuration. Our software is running when the problem arrives.

    Please find below the DTS and the bootlog

    /*
     * AM335x SDN-3030 board
     */
    
    /dts-v1/;
    
    #include "am33xx.dtsi"
    #include <dt-bindings/pwm/pwm.h>
    
    / {
    	model = "Swissdotnet AM335x SDN-3030";
    	compatible = "ti,am335x-sdn", "ti,am33xx";
    
    	cpus {
    		cpu@0 {
    			cpu0-supply = <&vdd1_reg>;
    		};
    	};
    
    	memory { // Swissdotnet, StJa, 2015.02.16 - to check
    		device_type = "memory";
    		reg = <0x80000000 0x80000000>; /* 2048 MB */
    	};
    
    	vbat: fixedregulator@0 {
    		compatible = "regulator-fixed";
    		regulator-name = "vbat";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-boot-on;
    	};
    
    	vtt_fixed: fixedregulator@3 {
    		compatible = "regulator-fixed";
    		regulator-name = "vtt";
    		regulator-min-microvolt = <1500000>;
    		regulator-max-microvolt = <1500000>;
    		gpio = <&gpio0 7 GPIO_ACTIVE_HIGH>;
    		regulator-always-on;
    		regulator-boot-on;
    		enable-active-high;
    	};
    
    	serial_mode_helper {
    		compatible = "bone-pinmux-helper";
    		status = "okay";
    		pinctrl-names = "rs232", "rs485";
    		pinctrl-0 = <&uart5_pins_232>;
    		pinctrl-1 = <&uart5_pins_485>;
    	};
    
    	leds {
    		pinctrl-names = "default", "sleep";
    		pinctrl-0 = <&user_leds_default>;
    		pinctrl-1 = <&user_leds_sleep>;
    
    		compatible = "gpio-leds";
    	
    		led@1 { // Swissdotnet, StJa, 2015.02.16 - to check
    			label = "sdn:green:usr0";
    			gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
    			default-state = "on";
    		};
    
    		led@2 { // Swissdotnet, StJa, 2015.02.16 - to check
    			label = "sdn:orange:usr1";
    			gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
    			default-state = "off";
    		};
    
    		led@3 { // Swissdotnet, StJa, 2015.02.16 - to check
    			label = "sdn:red:usr2";
    			gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
    			default-state = "off";
    		};
    
    		led@4 { // Swissdotnet, StJa, 2015.02.16 - to check
    			label = "sdn:blue:power";
    			gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
    			default-state = "off";
    		};
    
    	};
    
    	gpio_buttons: gpio_buttons@0 {
    		compatible = "gpio-keys";
    
    		switch@1 { // Swissdotnet, StJa, 2015.02.16
    			label = "button1";
    			debounce_interval = <50>;
    			linux,code = <0x1>;	// Key ESC
    			gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
    		};
    
    		switch@4 { // Swissdotnet, StJa, 2015.02.16 - to check
    			label = "button4";
    			debounce_interval = <50>;
    			linux,code = <0x15>;	// Key TAB
    			gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
    		};		
    	};
    
    	pwm_buzzer {
    		compatible      = "pwm_test";
    		pinctrl-names   = "default";
    		pinctrl-0       = <&pwm_buzzer>;
    		pwms		= <&ehrpwm2 0 500000 1>;
    		pwm-names	= "pwm_buzzer";
    		enabled		= <1>;
    		duty		= <0>;
    		status 		= "okay";
    	};
    
    	sound {
    		compatible = "ti,da830-evm-audio";
    		ti,model = "AM335x-EVMSK";
    		ti,audio-codec = <&tlv320aic3x>;
    		ti,mcasp-controller = <&mcasp1>;
    		ti,codec-clock-rate = <24000000>;
    		ti,audio-routing =
    			"Headphone Jack",	"HPLOUT",
    			"Headphone Jack",   "HPROUT",
    			"LINE1L",        	"Line In",
    			"LINE1R",        	"Line In";
    	};
    
    };
    
    &am33xx_pinmux {
    	pinctrl-names = "default"; 
    	pinctrl-0 = <&gpio_keys_s1 &gpio_keys_s4 &gpio_utils>;
    
    	user_leds_default: user_leds_default { // Swissdotnet, StJa, 2015.02.16 - to check
    		pinctrl-single,pins = <
    			0x30 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpio1_12 */
    			0x34 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpio1_13 */
    			0xa4 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpio2_7 */
    			0xb4 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpio2_11 */
    		>;
    	};
    
    	user_leds_sleep: user_leds_sleep { // Swissdotnet, StJa, 2015.02.16 - to check
    		pinctrl-single,pins = <
    			0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpio1_12 */
    			0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpio1_13 */
    			0xa4 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpio2_7 */
    			0xb4 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpio2_11 */
    		>;
    	};
    
    	pwm_buzzer: pinmux_pwm_buzzer_pins { // Swissdotnet, StJa, 2015.02.16 - to check
    		pinctrl-single,pins = <
    			0xa0  (MUX_MODE3)	/* gpio2_6 */
    		>; 
    	};
    
    	gpio_utils: gpio_utils {
    		pinctrl-single,pins = <
    
    			0x0b8 (PIN_OUTPUT | MUX_MODE7)	/* gpio2_12, relay 1 */
    			0x0bc (PIN_OUTPUT | MUX_MODE7)	/* gpio2_14, relay 2 */
    			0x0d0 (PIN_OUTPUT | MUX_MODE7)	/* gpio0_8,  relay 3 */
    			0x0d4 (PIN_OUTPUT | MUX_MODE7)	/* gpio0_9,  relay 4 */
    			0x0e4 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpio2_23, DI HOT */
    			0x0ec (PIN_OUTPUT | MUX_MODE7)	/* gpio2_25, DI Loadpulse */
    
    			0x020 (PIN_OUTPUT | MUX_MODE7)	/* gpio0_22, Serial RS232-485 */
    			0x024 (PIN_OUTPUT | MUX_MODE7)	/* gpio0_23, Serial RS485 Term */
    			0x028 (PIN_OUTPUT | MUX_MODE7)	/* gpio0_26, Serial RS485 Hall/full duplex */
    
    			0x088 (PIN_OUTPUT | MUX_MODE7)	/* gpio2_0,  Enable 12V output */
    
    			0x038 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpio1_14, PoE Power Enabled */
    
    			0x098 (PIN_OUTPUT | MUX_MODE7)	/* gpio2_4,  Enable GSM/WWAN module */
    			0x07c (PIN_OUTPUT | MUX_MODE7)	/* gpio1_29, GSM/WWAN module reset */
    			0x090 (PIN_OUTPUT | MUX_MODE7)	/* gpio2_2,  GSM/WWAN power disable */
    
    			0x0ac (PIN_OUTPUT | MUX_MODE7)	/* gpio2_9,  Extension board IO  */
    			0x0b0 (PIN_OUTPUT | MUX_MODE7)	/* gpio2_10, Extension board IO  */
    			0x198 (PIN_OUTPUT | MUX_MODE7)	/* gpio3_16,  Extension board IO  */
    
    			0x08c (PIN_OUTPUT | MUX_MODE7)	/* gpio2_1, Watchdog reset pin */			
    
    			0x03c (PIN_OUTPUT_PULLUP | MUX_MODE7)	/* gpio1_15, HMI Reset (default to 1) */
    
    			0x1b0 (PIN_INPUT_PULLUP | MUX_MODE7)	/* gpio0_19, HMI interrupt */
    
    			0x0e8 (PIN_OUTPUT | MUX_MODE7)	/* gpio2_24, Accel. interrupt 1 */
    			0x0e0 (PIN_OUTPUT | MUX_MODE7)	/* gpio2_22, Accel. interrupt 2 */
    
    			0x21c (PIN_OUTPUT | MUX_MODE7)  /* gpio0_18, Enable Ext 3.3.V */
    			0x09c (PIN_INPUT  | MUX_MODE7)	/* gpio2_5,  Extension board 3.3V enable */
    
    			0x1b4 (PIN_OUTPUT | MUX_MODE7)	/* EXT INT xdma_event_intr1.clkout2 */
    		>;
    	};
    
    
    	gpio_keys_s1: gpio_keys_s1 { // Swissdotnet, StJa, 2015.02.16 - to check
    		pinctrl-single,pins = <
    			0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpio0_27 */
    		>;
    	};
    
    	gpio_keys_s4: gpio_keys_s4 { // Swissdotnet, StJa, 2015.10.05 - to check
    		pinctrl-single,pins = <
    			0xa8 (PIN_INPUT_PULLUP | MUX_MODE7)	/* gpio2_8 */
    		>;
    	};	
    
    	i2c0_pins: pinmux_i2c0_pins {
    		pinctrl-single,pins = <
    			0x188 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda, ZCZ pin C17 */
    			0x18c (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl, ZCZ pin C16 */
    		>;
    	};
    
    	i2c1_pins: pinmux_i2c1_pins {
    		pinctrl-single,pins = <
    			0x180 (PIN_INPUT_PULLUP | MUX_MODE3)	/* i2c1_sda, ZCZ pin D16 */
    			0x184 (PIN_INPUT_PULLUP | MUX_MODE3)	/* i2c1_scl, ZCZ pin D15 */
    		>;
    	};
    
    	i2c2_pins: pinmux_i2c2_pins {
    		pinctrl-single,pins = <
    			0x178 (PIN_INPUT_PULLUP | MUX_MODE3)	/* i2c2_sda, ZCZ pin D18 */
    			0x17c (PIN_INPUT_PULLUP | MUX_MODE3)	/* i2c2_scl, ZCZ pin D17 */
    		>;
    	};
    
    	uart0_pins: pinmux_uart0_pins {
    		pinctrl-single,pins = <
    			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
    			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
    		>;
    	};
    
    	uart3_pins: pinmux_uart3_pins {
            pinctrl-single,pins = <
            	0x160 (PIN_INPUT  | MUX_MODE1)			/* uart3_rxd, ZCZ pin C15 */
                0x164 (PIN_OUTPUT | MUX_MODE1)			/* uart3_txd, ZCZ pin C18 */
                0x0c8 (PIN_INPUT_PULLDOWN | MUX_MODE6)	/* uart3_cts, ZCZ pin U3 */
                0x0cc (MUX_MODE6)						/* uart3_rts, ZCZ pin U4 */
            >;
    	};	
    
    	uart5_pins_485: uart5_pins_485 {
            pinctrl-single,pins = <
                0x0C4 0x24					/* P8_38 = lcd_data9.uart5_rxd | MODE4 44e108c0.0 */
                0x0C0 0x04					/* P8_37 = lcd_data8.uart5_txd | MODE4 */
                0x0d8 (PIN_INPUT_PULLDOWN | MUX_MODE7) 	/* P8_31 = uart5_ctsn | MODE7 */
                0x0dc (PIN_OUTPUT | MUX_MODE7)		/* P8_32 = uart5_rtsn | MODE7 */
            >;
    	};
    
    	uart5_pins_232: uart5_pins_232 {
            pinctrl-single,pins = <
                0x0C4 0x24	/* P8_38 = lcd_data9.uart5_rxd | MODE4 */
                0x0C0 0x04	/* P8_37 = lcd_data8.uart5_txd | MODE4 */
                0x0d8 0x36	/* P8_31 = uart5_ctsn | MODE6 */
                0x0dc 0x06	/* P8_32 = uart5_rtsn | MODE6 */
            >;
    	};
    
    	spi0_pins: spi0_pins {
            pinctrl-single,pins = <
    			0x150 (PIN_INPUT_PULLUP | MUX_MODE0)	/* spi0_sclk, ZCZ pin A17 */
    			0x154 (PIN_OUTPUT_PULLUP | MUX_MODE0) 	/* spi0_d0,   ZCZ pin B17 */
    			
    			0x158 (PIN_OUTPUT | MUX_MODE7)	/* spi0_d1,   ZCZ pin B16 */
    
    			0x15c (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* spi0_cs0,  ZCZ pin A16 */
            >;
        };
    
    	spi1_pins: spi1_pins {
    		pinctrl-single,pins = <
    			0x190 (PIN_INPUT_PULLUP | MUX_MODE3)	/* spi1_sclk, ZCZ pin A13 */
    			0x194 (PIN_INPUT_PULLUP | MUX_MODE3)	/* spi1_d0,   ZCZ pin B13 */
    			0x19c (PIN_OUTPUT_PULLUP | MUX_MODE3)	/* spi1_cs0,  ZCZ pin C12 */
    		>;
    	};	
    
    	mcasp1_pins: mcasp1_pins {
    		pinctrl-single,pins = <
    			0x1a0 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcasp1_aclkx,  ZCZ pin B12 */
    			0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3)  /* mcasp1_fsx,    ZCZ pin C13 */
    			0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcasp1_axr0,   ZCZ pin D13*/
    			0x1ac (PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* mcasp1_axr1,   ZCZ pin A14 */
    			0x144 (PIN_INPUT_PULLDOWN | MUX_MODE6)  /* mcasp1_ahclkx, ZCZ pin H18 */
    		>;
    	};
    
    	ecap2_pins_sleep: ecap2_pins_sleep {
    		pinctrl-single,pins = <
    			0x19c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mcasp0_ahclkr.ecap2_in_pwm2_out */
    		>;
    	};
    
    
    	cpsw_default: cpsw_default { // Swissdotnet, StJa, 2016.04.27
    		pinctrl-single,pins = <
    			/* Ethernet 0 - MII Mode */
    			0x110 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxerr */
    			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txen */
    			0x118 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxdv */
    			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd3 */
    			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd2 */
    			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd1 */
    			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd0 */
    			0x12c (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_txclk */
    			0x130 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxclk */
    			0x134 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd3 */
    			0x138 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd2 */
    			0x13c (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd1 */
    			0x140 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd0 */
    			0x108 (PIN_INPUT | MUX_MODE0)		/* mii1_col */
    			0x10c (PIN_INPUT | MUX_MODE0)		/* mii1_crs */
    
    		
    			/* Ethernet 1 - MII Mode */
    			0x74 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_rxerr */
    			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii2_txen */
    			0x44 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_rxdv */
    			0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii2_txd3 */
    			0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii2_txd2 */
    			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii2_txd1 */
    			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii2_txd0 */
    			0x58 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_txclk */
    			0x5c (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_rxclk */
    			0x60 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_rd3 */
    			0x64 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_rd2 */
    			0x68 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_rd1 */
    			0x6c (PIN_INPUT_PULLUP | MUX_MODE1)	/* mii2_rd0 */
    			0x78 (PIN_INPUT | MUX_MODE1)		/* mii2_col */
    			0x70 (PIN_INPUT | MUX_MODE1)		/* mii1_crs */
    		>;
    	};
    
    	cpsw_sleep: cpsw_sleep { // Swissdotnet, StJa, 2016.04.27 - to check
    		pinctrl-single,pins = <
    			/* Ethernet 0 - MII Mode - reset value*/
    			0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_rxerr */
    			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_txen */
    			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_rxdv */
    			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_txd3 */
    			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_txd2 */
    			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_txd1 */
    			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_txd0 */
    			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_txclk */
    			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_rxclk */
    			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_rxd3 */
    			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_rxd2 */
    			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_rxd1 */
    			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_rxd0 */
    			0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_col */
    			0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_crs */
    
    		
    			/* Ethernet 1 - MII Mode - reset value*/
    			0x74 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_rxerr */
    			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_txen */
    			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_rxdv */
    			0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_txd3 */
    			0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_txd2 */
    			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_txd1 */
    			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_txd0 */
    			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_txclk */
    			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_rxclk */
    			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_rd3 */
    			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_rd2 */
    			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_rd1 */
    			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_rd0 */
    			0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii2_col */
    			0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* mii1_crs */
    		>;
    	};
    
    	davinci_mdio_default: davinci_mdio_default {
    		pinctrl-single,pins = <
    			/* MDIO */
    			0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
    			0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
    		>;
    	};
    
    	davinci_mdio_sleep: davinci_mdio_sleep {
    		pinctrl-single,pins = <
    			/* MDIO reset value */
    			0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    			0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    		>;
    	};
    
    	mmc1_pins_default: pinmux_mmc1_pins { // Swissdotnet, StJa, 2015.02.16 - to check
    		pinctrl-single,pins = <
    			0x80 (PIN_INPUT_PULLUP | MUX_MODE2)	/* mmc1_clk, ZCZ pin U9 */
    			0x84 (PIN_INPUT_PULLUP | MUX_MODE2)	/* mmc1_cmd, ZCZ pin V9 */
    			0x00 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin U7 */
    			0x04 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin V7 */
    			0x08 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin R8 */
    			0x0C (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin T8 */
    			0x10 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin U8 */
    			0x14 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin V8 */
    			0x18 (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin R9 */
    			0x1C (PIN_INPUT_PULLUP | MUX_MODE1)	/* mmc1_dat0, ZCZ pin T9 */
    		>;
    	};
    };
    
    &uart0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart0_pins>;
    };
    
    &uart3 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart3_pins>;
    };
    
    &uart5 {
    	status = "okay";
    	pinctrl-names = "default"; 
    	pinctrl-0 = <&uart5_pins_232>;
    	rs485-rts-delay = <0 50>;
    	rts-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
    };
    
    &spi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&spi0_pins>;
     	ti,pindir-d0-out-d1-in = <1>;
    
    	spidev@0 {
    	    spi-max-frequency = <24000000>;
    	    reg = <0>;
    	    compatible = "spidev";
    	};
    	spidev@1 {
    	    spi-max-frequency = <24000000>;
    	    reg = <1>;
    	    compatible = "spidev";
    	};
    };
    
    &spi1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&spi1_pins>;
     
    	spidev@0 {
    	    spi-max-frequency = <24000000>;
    	    reg = <0>;
    	    compatible = "spidev";
    	};
    };
    
    &i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c0_pins>;
    
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tps: tps@2d {		
    		reg = <0x2d>;
    		interrupt-parent = <&intc>;
            interrupts = < 0 118 0x04 >;
    	};
    
    	tlv320aic3x: tlv320aic3x@18 { // Swissdotnet, StJa, 2015.02.16 - to check
    		compatible = "ti,tlv320aic3104";
    		reg = <0x18>;
    		status = "okay";
    		ai3x-micbias-vg = <2>;
    		/* Regulators */
    		AVDD-supply = <&vaux2_reg>;
    		IOVDD-supply = <&vaux2_reg>;
    		DRVDD-supply = <&vaux2_reg>;
    		DVDD-supply = <&vaux2_reg>;
    		HPVDD-supply = <&vaux2_reg>;
    		SPRVDD-supply = <&vaux2_reg>;
    		SPLVDD-supply = <&vaux2_reg>;
    	};
    
        eeprom: eeprom@50 {
            compatible = "at,24c32";
            reg = <0x50>;
        };	
    };
    
    &i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c1_pins>;
    
    	status = "okay";
    	clock-frequency = <400000>;
    };
    
    &i2c2 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c2_pins>;
    
    	status = "okay";
    	clock-frequency = <100000>;
    
    };
    
    &usb {
    	status = "okay";
    
    	control@44e10620 {
    		status = "okay";
    	};
    
    	usb-phy@47401300 {
    		status = "okay";
    	};
    
    	usb@47401000 {
    		status = "okay";
    	};
    
    	dma-controller@47402000  {
    		status = "okay";
    	};
    
    	usb-phy@47401b00 {
    		status = "okay";
    	};
    	usb@47401800 {
    		status = "okay";
    		dr_mode = "host";
    	};
    };
    
    &epwmss2 {
    	status = "okay";
    
    	/*ecap2: ecap@48304100 {
    		status = "okay";
    		pinctrl-names = "default", "sleep";
    		pinctrl-0 = <&ecap2_pins_default>;
    		pinctrl-1 = <&ecap2_pins_sleep>;
    	};*/
    };
    
    /* PWM used for the buzzer */
    &ehrpwm2 { // Swissdotnet, StJa, 2015.02.16 - to check
    	status = "okay";
    };
    
    &wkup_m3 {
    	ti,needs-vtt-toggle;
    	ti,vtt-gpio-pin = <7>;
    	ti,scale-data-fw = "am335x-evm-scale-data.bin";
    };
    
    #include "tps65910.dtsi"
    
    &tps {
    	vcc1-supply = <&vbat>;
    	vcc2-supply = <&vbat>;
    	vcc3-supply = <&vbat>;
    	vcc4-supply = <&vbat>;
    	vcc5-supply = <&vbat>;
    	vcc6-supply = <&vbat>;
    	vcc7-supply = <&vbat>;
    	vccio-supply = <&vbat>;
    
    	regulators {
    		vrtc_reg: regulator@0 {
    			regulator-always-on;
    		};
    
    		vio_reg: regulator@1 {
    			regulator-always-on;
    		};
    
    		vdd1_reg: regulator@2 {
    			/* VDD_MPU voltage limits 0.95V - 1.325V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1378000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd2_reg: regulator@3 {
    			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1150000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd3_reg: regulator@4 {
    			regulator-always-on;
    		};
    
    		vdig1_reg: regulator@5 {
    			regulator-always-on;
    		};
    
    		vdig2_reg: regulator@6 {
    			regulator-always-on;
    		};
    
    		vpll_reg: regulator@7 {
    			regulator-always-on;
    		};
    
    		vdac_reg: regulator@8 {
    			regulator-always-on;
    		};
    
    		vaux1_reg: regulator@9 {
    			regulator-always-on;
    		};
    
    		vaux2_reg: regulator@10 {
    			regulator-always-on;
    		};
    
    		vaux33_reg: regulator@11 {
    			regulator-always-on;
    		};
    
    		vmmc_reg: regulator@12 {
    			regulator-min-microvolt = <1800000>;
    			regulator-max-microvolt = <3300000>;
    			regulator-always-on;
    		};
    
    		vbb_reg: regulator@13 {
    			reg = <13>;
    			regulator-compatible = "vbb";
    			regulator-always-on;
    		};		
    
    	};
    };
    
    &mac {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&cpsw_default>;
    	pinctrl-1 = <&cpsw_sleep>;
    	dual_emac = <1>;
    };
    
    &davinci_mdio {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&davinci_mdio_default>;
    	pinctrl-1 = <&davinci_mdio_sleep>;
    };
    
    &cpsw_emac0 {
    	phy_id = <&davinci_mdio>, <0>;
    	phy-mode = "mii";
    	dual_emac_res_vlan = <1>;
    };
    
    &cpsw_emac1 {
    	phy_id = <&davinci_mdio>, <1>;
    	phy-mode = "mii";
    	dual_emac_res_vlan = <2>;
    };
    
    &mmc1 {
    	status = "okay";
    };
    
    &mmc2 {
    	vmmc-supply = <&vmmc_reg>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc1_pins_default>;
    	bus-width = <8>;
    	status = "okay";
    	ti,vcc-aux-disable-is-sleep;
    };
    
    &sham {
    	status = "okay";
    };
    
    &aes {
    	status = "okay";
    };
    
    &gpio0 {
    	ti,no-reset-on-init;
    };
    
    &mcasp1 {
    		pinctrl-names = "default";
    		pinctrl-0 = <&mcasp1_pins>;
    
    		status = "okay";
    
    		op-mode = <0>;          /* MCASP_IIS_MODE */
    		tdm-slots = <2>;
    		/* 4 serializers */
    		serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
    			2 1 0 0
    		>;
    		tx-num-evt = <32>;
    		rx-num-evt = <32>;
    };
    
    &tscadc { // Swissdotnet, StJa, 2015.02.16 - to check
    	status = "okay";
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    
    

    4475352 bytes read in 336 ms (12.7 MiB/s)
    34968 bytes read in 40 ms (853.5 KiB/s)
    Kernel image @ 0x82000000 [ 0x000000 - 0x4449d8 ]
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8fff4000, end 8ffff897 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.14.49-ge9cd4cc819 (swissdotnet@sdnvsrv12) (gcc version 4.9.2 (GCC) ) #2 Wed Aug 31 23:03:59 CEST 2016
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine model: Swissdotnet AM335x SDN-3030
    [    0.000000] cma: CMA: reserved 24 MiB at 9e000000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon )
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129792
    [    0.000000] Kernel command line: console=ttyO0,115200n8 usbcore.autosuspend=-1 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 484772K/523264K available (6199K kernel code, 291K rwdata, 2208K rodata, 267K init, 229K bss, 38492K reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc083e0d4   (8409 kB)
    [    0.000000]       .init : 0xc083f000 - 0xc0881f54   ( 268 kB)
    [    0.000000]       .data : 0xc0882000 - 0xc08cae68   ( 292 kB)
    [    0.000000]        .bss : 0xc08cae68 - 0xc0904640   ( 230 kB)
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000012] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
    [    0.000030] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000245] Console: colour dummy device 80x30
    [    0.000268] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [    0.089532] pid_max: default: 32768 minimum: 301
    [    0.089615] Security Framework initialized
    [    0.089661] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.089671] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.095581] CPU: Testing write buffer coherency: ok
    [    0.095907] Setting up static identity map for 0x80613430 - 0x80613488
    [    0.096681] devtmpfs: initialized
    [    0.098192] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.104056] omap_hwmod: tptc0 using broken dt data from edma
    [    0.104124] omap_hwmod: tptc1 using broken dt data from edma
    [    0.104182] omap_hwmod: tptc2 using broken dt data from edma
    [    0.108128] omap_hwmod: debugss: _wait_target_disable failed
    [    0.163022] pinctrl core: initialized pinctrl subsystem
    [    0.163866] regulator-dummy: no parameters
    [    0.165891] NET: Registered protocol family 16
    [    0.167583] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.169713] cpuidle: using governor ladder
    [    0.169728] cpuidle: using governor menu
    [    0.174807] syscon 44e10000.control_module: regmap [mem 0x44e10000-0x44e107fb] registered
    [    0.175973] platform 49000000.edma: alias fck already exists
    [    0.175993] platform 49000000.edma: alias fck already exists
    [    0.176005] platform 49000000.edma: alias fck already exists
    [    0.176930] OMAP GPIO hardware version 0.1
    [    0.189343] No ATAGs?
    [    0.189362] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.210179] bio: create slab <bio-0> at 0
    [    0.222947] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.223809] vbat: 5000 mV 
    [    0.224256] vtt: 1500 mV 
    [    0.226855] vgaarb: loaded
    [    0.227297] i2c-core: driver [palmas] using legacy suspend method
    [    0.227307] i2c-core: driver [palmas] using legacy resume method
    [    0.227902] SCSI subsystem initialized
    [    0.229093] usbcore: registered new interface driver usbfs
    [    0.229255] usbcore: registered new interface driver hub
    [    0.229414] usbcore: registered new device driver usb
    [    0.230290] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
    [    0.230316] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [    0.230339] omap_i2c 4802a000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c1_pins, deferring probe
    [    0.230351] platform 4802a000.i2c: Driver omap_i2c requests probe deferral
    [    0.230370] omap_i2c 4819c000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c2_pins, deferring probe
    [    0.230382] platform 4819c000.i2c: Driver omap_i2c requests probe deferral
    [    0.230710] pps_core: LinuxPPS API ver. 1 registered
    [    0.230720] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.230826] PTP clock support registered
    [    0.232406] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.233149] Advanced Linux Sound Architecture Driver Initialized.
    [    0.234487] Switched to clocksource timer1
    [    0.249892] NET: Registered protocol family 2
    [    0.250619] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.250663] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.250701] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.250756] TCP: reno registered
    [    0.250766] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.250781] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.250918] NET: Registered protocol family 1
    [    0.251249] RPC: Registered named UNIX socket transport module.
    [    0.251258] RPC: Registered udp transport module.
    [    0.251263] RPC: Registered tcp transport module.
    [    0.251269] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.252184] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
    [    0.254461] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.389848] VFS: Disk quotas dquot_6.5.2
    [    0.389904] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.390337] NFS: Registering the id_resolver key type
    [    0.390400] Key type id_resolver registered
    [    0.390408] Key type id_legacy registered
    [    0.390439] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    [    0.390581] msgmni has been set to 994
    [    0.391748] NET: Registered protocol family 38
    [    0.391779] io scheduler noop registered
    [    0.391787] io scheduler deadline registered
    [    0.391810] io scheduler cfq registered (default)
    [    0.393320] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.399013] omap_uart 44e09000.serial: no wakeirq for uart0
    [    0.399145] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
    [    1.065647] console [ttyO0] enabled
    [    1.069877] omap_uart 481a6000.serial: no wakeirq for uart0
    [    1.075903] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 60, base_baud = 3000000) is a OMAP UART3
    [    1.086066] omap_uart 481aa000.serial: no wakeirq for uart0
    [    1.092025] 481aa000.serial: ttyO5 at MMIO 0x481aa000 (irq = 62, base_baud = 3000000) is a OMAP UART5
    [    1.102936] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    1.110238] [drm] Initialized drm 1.1.0 20060810
    [    1.123829] brd: module loaded
    [    1.131544] loop: module loaded
    [    1.135376] (hci_tty): inside hci_tty_init
    [    1.140034] (hci_tty): allocated 249, 0
    [    1.147900] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.161106] PPP generic driver version 2.4.2
    [    1.166065] PPP BSD Compression module registered
    [    1.170997] PPP Deflate Compression module registered
    [    1.176499] usbcore: registered new interface driver asix
    [    1.182335] usbcore: registered new interface driver ax88179_178a
    [    1.188864] usbcore: registered new interface driver cdc_ether
    [    1.195148] usbcore: registered new interface driver smsc95xx
    [    1.201312] usbcore: registered new interface driver net1080
    [    1.207371] usbcore: registered new interface driver cdc_subset
    [    1.213715] usbcore: registered new interface driver zaurus
    [    1.219735] usbcore: registered new interface driver cdc_ncm
    [    1.226129] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.232972] ehci-pci: EHCI PCI platform driver
    [    1.237816] ehci-omap: OMAP-EHCI Host Controller driver
    [    1.243712] usbcore: registered new interface driver cdc_wdm
    [    1.249835] usbcore: registered new interface driver usb-storage
    [    1.257087] mousedev: PS/2 mouse device common for all mice
    [    1.265164] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [    1.272591] 44e3e000.rtc: already running
    [    1.277274] i2c /dev entries driver
    [    1.281057] Driver for 1-wire Dallas network protocol.
    [    1.288629] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.297170] omap_hsmmc 48060000.mmc: no pinctrl state for default mode
    [    1.304145] 48060000.mmc supply vmmc not found, using dummy regulator
    [    1.311296] omap_hsmmc 48060000.mmc: could not set regulator OCR (-22)
    [    1.354859] omap_hsmmc 481d8000.mmc: unable to get vmmc regulator -517
    [    1.361780] platform 481d8000.mmc: Driver omap_hsmmc requests probe deferral
    [    1.374360] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.381045] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    1.388416] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    1.396901] usbcore: registered new interface driver usbhid
    [    1.402746] usbhid: USB HID core driver
    [    1.407035] platform 44d00000.wkup_m3: Driver wkup_m3 requests probe deferral
    [    1.417213] oprofile: using arm/armv7
    [    1.421292] TCP: cubic registered
    [    1.424811] Initializing XFRM netlink socket
    [    1.429385] NET: Registered protocol family 10
    [    1.434810] sit: IPv6 over IPv4 tunneling driver
    [    1.440583] NET: Registered protocol family 17
    [    1.445364] NET: Registered protocol family 15
    [    1.450107] Key type dns_resolver registered
    [    1.455251] cpu cpu0: of_pm_voltdm_notifier_register: Failed to get cpu0 regulator/voltdm: -517
    [    1.464379] cpu cpu0: cpu0 clock notifier not ready, retry
    [    1.470241] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
    [    1.478585] PM: bootloader does not support rtc-only!
    [    1.483891] ThumbEE CPU extension supported.
    [    1.488492] Registering SWP/SWPB emulation handler
    [    1.494840] vbat: disabling
    [    1.497776] regulator-dummy: disabling
    [    1.509676] vrtc: 1800 mV 
    [    1.512764] vrtc: supplied by vbat
    [    1.517949] vio: at 1500 mV 
    [    1.521037] vio: supplied by vbat
    [    1.526216] vdd_mpu: 912 <--> 1375 mV at 1325 mV 
    [    1.531211] vdd_mpu: supplied by vbat
    [    1.536733] vdd_core: 912 <--> 1150 mV at 1137 mV 
    [    1.541814] vdd_core: supplied by vbat
    [    1.547007] vdd3: 5000 mV 
    [    1.551083] vdig1: at 1800 mV 
    [    1.554347] vdig1: supplied by vbat
    [    1.559310] vdig2: at 1800 mV 
    [    1.562574] vdig2: supplied by vbat
    [    1.567508] vpll: at 1800 mV 
    [    1.570674] vpll: supplied by vbat
    [    1.575500] vdac: at 1800 mV 
    [    1.578666] vdac: supplied by vbat
    [    1.583496] vaux1: at 1800 mV 
    [    1.586772] vaux1: supplied by vbat
    [    1.591681] vaux2: at 3300 mV 
    [    1.594955] vaux2: supplied by vbat
    [    1.599877] vaux33: at 3300 mV 
    [    1.603229] vaux33: supplied by vbat
    [    1.608260] vmmc: 1800 <--> 3300 mV at 3300 mV 
    [    1.613072] vmmc: supplied by vbat
    [    1.617836] vbb: at 3000 mV 
    [    1.621048] vbb: supplied by vbat
    [    1.633076] tps65910-rtc tps65910-rtc: rtc core: registered tps65910-rtc as rtc1
    [    1.642066] at24 0-0050: 4096 byte 24c32 EEPROM, writable, 1 bytes/write
    [    1.649192] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    1.656117] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
    [    1.662907] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    1.705052]  remoteproc0: wkup_m3 is available
    [    1.709759]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [    1.719176]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    1.731160]  remoteproc0: Direct firmware load failed with error -2
    [    1.737753]  remoteproc0: Falling back to user helper
    [    1.798448] mmc1: BKOPS_EN bit is not set
    [    1.804505] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.810901] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
    [    1.818775] libphy: 4a101000.mdio: probed
    [    1.823010] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
    [    1.832612] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver SMSC LAN8710/LAN8720
    [    1.842933] cpsw 4a100000.ethernet: Detected MACID = d0:39:72:49:f4:12
    [    1.851004] cpsw 4a100000.ethernet: cpsw: Detected MACID = d0:39:72:49:f4:14
    [    1.858875] mmc1: new high speed MMC card at address 0001
    [    1.866494] input: gpio_buttons@0 as /devices/gpio_buttons@0/input/input0
    [    1.874093] mmcblk0: mmc1:0001 MMC02G 1.78 GiB 
    [    1.879355] mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
    [    1.885873] mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
    [    1.894044] tps65910-rtc tps65910-rtc: setting system clock to 2016-10-04 17:49:08 UTC (1475603348)
    [    1.903652]  mmcblk0: p1 p2
    [    1.909207] ALSA device list:
    [    1.912330]   No soundcards found.
    [    1.918504]  mmcblk0boot1: unknown partition table
    [    1.925329]  mmcblk0boot0: unknown partition table
    [    1.935927] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
    [    1.943601] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
    [    2.185156] EXT4-fs (mmcblk0p2): orphan cleanup on readonly fs
    [    2.193265] EXT4-fs (mmcblk0p2): 1 truncate cleaned up
    [    2.198720] EXT4-fs (mmcblk0p2): recovery complete
    [    2.216768] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    2.225375] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
    [    2.233420] devtmpfs: mounted
    [    2.237020] Freeing unused kernel memory: 264K (c083f000 - c0881000)
    [    2.977932] udevd[877]: starting version 182
    [    3.208704]  remoteproc0: powering up wkup_m3
    [    3.213898]  remoteproc0: Booting fw image am335x-pm-firmware.elf, size 154211
    [    3.260093] tlv320aic3x-codec 0-0018: ASoC: DAPM unknown pin MONO_LOUT
    [    3.283204] PM: CM3 Firmware Version = 0x190
    [    3.304204] davinci_evm sound: tlv320aic3x-hifi <-> 4803c000.mcasp mapping ok
    [    3.312613]  remoteproc0: remote processor wkup_m3 is now up
    [    3.335522] 47401300.usb-phy supply vcc not found, using dummy regulator
    [    3.372656] 47401b00.usb-phy supply vcc not found, using dummy regulator
    [    4.112644] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
    [    4.148594] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
    [    4.187382] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    4.194581] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    4.202154] usb usb1: Product: MUSB HDRC host driver
    [    4.207369] usb usb1: Manufacturer: Linux 3.14.49-ge9cd4cc819 musb-hcd
    [    4.214211] usb usb1: SerialNumber: musb-hdrc.0.auto
    [    4.220696] hub 1-0:1.0: USB hub found
    [    4.224712] hub 1-0:1.0: 1 port detected
    [    4.233265] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [    4.239875] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
    [    4.248429] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [    4.255595] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    4.263167] usb usb2: Product: MUSB HDRC host driver
    [    4.268381] usb usb2: Manufacturer: Linux 3.14.49-ge9cd4cc819 musb-hcd
    [    4.275231] usb usb2: SerialNumber: musb-hdrc.1.auto
    [    4.283151] hub 2-0:1.0: USB hub found
    [    4.287189] hub 2-0:1.0: 1 port detected
    [    4.383979] fbtft_device:  missing module parameter: 'name'
    [    4.502850] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
    [    4.607138] random: dd urandom read with 113 bits of entropy available
    [    4.614680] musb-hdrc musb-hdrc.1.auto: otg: usb_otg_kick_fsm: invalid host/gadget device
    [    4.744673] usb 2-1: new high-speed USB device number 2 using musb-hdrc
    [    4.894810] usb 2-1: device v0424 p2513 is not supported
    [    4.900400] usb 2-1: New USB device found, idVendor=0424, idProduct=2513
    [    4.907449] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    4.962710] hub 2-1:1.0: USB hub found
    [    4.967263] hub 2-1:1.0: 3 ports detected
    [    5.374775] random: nonblocking pool is initialized
    [    8.665015] using random host ethernet address
    [    8.802034] ip_tables: (C) 2000-2006 Netfilter Core Team
    [    8.849209] net eth1: initializing cpsw version 1.12 (0)
    [    8.873947] pinctrl-single 44e10800.pinmux: pin 44e108c4.0 already requested by 481aa000.serial; cannot claim for serial_mode_helper
    [    8.886553] pinctrl-single 44e10800.pinmux: pin-49 (serial_mode_helper) status -22
    [    8.894508] pinctrl-single 44e10800.pinmux: could not request pin 49 (44e108c4.0) from group uart5_pins_485  on device pinctrl-single
    [    8.907101] bone-pinmux-helper serial_mode_helper: Error applying setting, reverse things back
    [    8.916150] bone-pinmux-helper serial_mode_helper: Failed to select state rs485
    [    8.945363] net eth1: phy found : id is : 0x7c0f1
    [    8.963209] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [    8.971112] usb0: HOST MAC 0a:41:0b:d8:aa:13
    [    8.981335] usb0: MAC 76:fd:f0:cf:24:c8
    [    8.995098] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_register_gadget: device not registered to otg core
    [    9.031695] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
    [    9.063293] net eth0: initializing cpsw version 1.12 (0)
    [    9.145629] net eth0: phy found : id is : 0x7c0f1
    [    9.156800] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [    9.563498] configfs-gadget gadget: high-speed config #1: Configuration
    [    9.570615] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
    [    9.674644] usb 2-1.2: new high-speed USB device number 3 using musb-hdrc
    [    9.796123] usb 2-1.2: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 255, changing to 11
    [    9.808054] usb 2-1.2: device v058b p0041 is not supported
    [    9.813847] usb 2-1.2: New USB device found, idVendor=058b, idProduct=0041
    [    9.821154] usb 2-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    9.876441] cdc_acm 2-1.2:1.0: This device cannot do calls on its own. It is not a modem.
    [    9.890469] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
    [   10.819733] pwm_test pwm_buzzer: pwm_config() failed setting period
    [   10.881843] usbcore: registered new interface driver cdc_acm
    [   10.887881] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    [   10.973365] usb 2-1.2: USB disconnect, device number 3
    [   11.028963] pwm_test pwm_buzzer: pwm_config() failed setting period
    [   11.224969] usb 2-1.2: new high-speed USB device number 4 using musb-hdrc
    [   11.643403] pwm_test pwm_buzzer: pwm_config() failed setting period
    [   12.766692] pwm_test pwm_buzzer: pwm_config() failed setting period
    [   12.975704] pwm_test pwm_buzzer: pwm_config() failed setting period
    [   13.584737] pwm_test pwm_buzzer: pwm_config() failed setting period
    [   16.354719] usb 2-1.2: unable to read config index 0 descriptor/start: -110
    [   16.362071] usb 2-1.2: can't read configurations, error -110
    [   16.464841] usb 2-1.2: new high-speed USB device number 5 using musb-hdrc
    

    We have now 3 boards doing that on 30 pcs.

    BR and thank you very well for your help !

  • Hello,

    We hit on something today... it seems that the crash are related with the HWRND (/dev/random). This will explain why the freez occurs more often if we use our HTTPs server on the board. We use the hw OMAP Random Number Generator support. 

    We will test more things tomorrow and try to deactivate it in the kernel drivers. The strange thing is why 10% of the boards have a problem with it ! 

    BR

    Steve