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.

AM3358: HDMI display issue

Part Number: AM3358
Other Parts Discussed in Thread: AM3352, TPS65910

Hi,

    I am working on AM3358 custom board based on am335x EVM 1.6A. 

i trying to enable HDMI disply port.   i am using SIL9022A HDMI Transceiver.  in /sys/class/drm/ only LVDS no HDMI device.  

SDK version: ti-processor-sdk-linux-am335x-evm-05.03.00.07

DTS file  below

/*
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * 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.
 */
/dts-v1/;

#include "am33xx.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>

/ {
	model = "TI AM335x EVM";
	compatible = "ti,am335x-evm", "ti,am33xx";

	cpus {
		cpu@0 {
			cpu0-supply = <&vdd1_reg>;
		};
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x10000000>; /* 256 MB */
	};

	chosen {
		stdout-path = &uart0;
	};

	vbat: fixedregulator0 {
		compatible = "regulator-fixed";
		regulator-name = "vbat";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
	};

	lis3_reg: fixedregulator1 {
		compatible = "regulator-fixed";
		regulator-name = "lis3_reg";
		regulator-boot-on;
	};

	wlan_en_reg: fixedregulator2 {
		compatible = "regulator-fixed";
		regulator-name = "wlan-en-regulator";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

		/* WLAN_EN GPIO for this board - Bank1, pin16 */
		gpio = <&gpio1 16 0>;

		/* WLAN card specific delay */
		startup-delay-us = <70000>;
		enable-active-high;
	};

	matrix_keypad: matrix_keypad0 {
		compatible = "gpio-matrix-keypad";
		debounce-delay-ms = <5>;
		col-scan-delay-us = <2>;

		row-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH		/* Bank1, pin25 */
			     &gpio1 26 GPIO_ACTIVE_HIGH		/* Bank1, pin26 */
			     &gpio1 27 GPIO_ACTIVE_HIGH>;	/* Bank1, pin27 */

		col-gpios = <&gpio1 21 GPIO_ACTIVE_HIGH		/* Bank1, pin21 */
			     &gpio1 22 GPIO_ACTIVE_HIGH>;	/* Bank1, pin22 */

		linux,keymap = <0x0000008b	/* MENU */
				0x0100009e	/* BACK */
				0x02000069	/* LEFT */
				0x0001006a	/* RIGHT */
				0x0101001c	/* ENTER */
				0x0201006c>;	/* DOWN */
	};

	gpio_keys: volume_keys0 {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;
		autorepeat;

		switch9 {
			label = "volume-up";
			linux,code = <115>;
			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
			wakeup-source;
		};

		switch10 {
			label = "volume-down";
			linux,code = <114>;
			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
			wakeup-source;
		};
	};

	lcd_bl: backlight {
		compatible = "pwm-backlight";
		pwms = <&ecap0 0 50000 0>;
		brightness-levels = <0 51 53 56 62 75 101 152 255>;
		default-brightness-level = <8>;
	};

	panel {
		compatible = "ti,tilcdc,panel";
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&lcd_pins_s0>;
		backlight = <&lcd_bl>;
		panel-info {
			ac-bias           = <255>;
			ac-bias-intrpt    = <0>;
			dma-burst-sz      = <16>;
			bpp               = <32>;
			fdd               = <0x80>;
			sync-edge         = <0>;
			sync-ctrl         = <1>;
			raster-order      = <0>;
			fifo-th           = <0>;
		};

		display-timings {
			800x480p62 {
				clock-frequency = <30000000>;
				hactive = <800>;
				vactive = <480>;
				hfront-porch = <39>;
				hback-porch = <39>;
				hsync-len = <47>;
				vback-porch = <29>;
				vfront-porch = <13>;
				vsync-len = <2>;
				hsync-active = <1>;
				vsync-active = <1>;
			};
		};
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "AM335x-EVM";
		simple-audio-card,widgets =
			"Headphone", "Headphone Jack",
			"Line", "Line In";
		simple-audio-card,routing =
			"Headphone Jack",	"HPLOUT",
			"Headphone Jack",	"HPROUT",
			"LINE1L",		"Line In",
			"LINE1R",		"Line In";
		simple-audio-card,format = "dsp_b";
		simple-audio-card,bitclock-master = <&sound_master>;
		simple-audio-card,frame-master = <&sound_master>;
		simple-audio-card,bitclock-inversion;

		simple-audio-card,cpu {
			sound-dai = <&mcasp1>;
		};

		sound_master: simple-audio-card,codec {
			sound-dai = <&tlv320aic3106>;
			system-clock-frequency = <12000000>;
		};
	};

	hdmi-out {
		compatible = "hdmi-connector";
		type = "a";

		port {
			hdmi_con: endpoint {
				remote-endpoint = <&sii9022a_out>;
			};
		};
	};
};

&am33xx_pinmux {
	pinctrl-names = "default";
	pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0 &clkout2_pin>;

	matrix_keypad_s0: matrix_keypad_s0 {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a5.gpio1_21 */
			AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a6.gpio1_22 */
			AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a9.gpio1_25 */
			AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a10.gpio1_26 */
			AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a11.gpio1_27 */
		>;
	};

	volume_keys_s0: volume_keys_s0 {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x950, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* spi0_sclk.gpio0_2 */
			AM33XX_IOPAD(0x954, PIN_INPUT_PULLDOWN | MUX_MODE7)	/* spi0_d0.gpio0_3 */
		>;
	};

	i2c0_pins: pinmux_i2c0_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
		>;
	};

	i2c1_pins: pinmux_i2c1_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x96c, PIN_INPUT | MUX_MODE3) /* (E17) uart0_rtsn.I2C1_SCL */
			AM33XX_IOPAD(0x968, PIN_INPUT | MUX_MODE3) /* (E18) uart0_ctsn.I2C1_SDA */
		>;
	};

	uart0_pins: pinmux_uart0_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
			AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
		>;
	};

	uart1_pins: pinmux_uart1_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x978, PIN_INPUT | MUX_MODE0)		/* uart1_ctsn.uart1_ctsn */
			AM33XX_IOPAD(0x97C, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_rtsn.uart1_rtsn */
			AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0)	/* uart1_rxd.uart1_rxd */
			AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart1_txd.uart1_txd */
		>;
	};

	clkout2_pin: pinmux_clkout2_pin {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* xdma_event_intr1.clkout2 */
		>;
	};

	ecap0_pins: backlight_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x964, MUX_MODE0)	/* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
		>;
	};

	cpsw_default: cpsw_default {
		pinctrl-single,pins = <
			/* Slave 1 */
			AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
			AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
			AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
			AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
			AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
			AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
			AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
			AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rgmii1_rclk */
			AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd3.rgmii1_rd3 */
			AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd2.rgmii1_rd2 */
			AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
			AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
		>;
	};

	cpsw_sleep: cpsw_sleep {
		pinctrl-single,pins = <
			/* Slave 1 reset value */
			AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
		>;
	};

	davinci_mdio_default: davinci_mdio_default {
		pinctrl-single,pins = <
			/* MDIO */
			AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
			AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
		>;
	};

	davinci_mdio_sleep: davinci_mdio_sleep {
		pinctrl-single,pins = <
			/* MDIO reset value */
			AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
		>;
	};

	mmc1_pins: pinmux_mmc1_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7)		/* spi0_cs1.gpio0_6 */
			AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat0.mmc0_dat0 */
			AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat1.mmc0_dat1 */
			AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat2.mmc0_dat2 */
			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3.mmc0_dat3 */
			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd.mmc0_cmd */
			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk.mmc0_clk */
			AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4)		/* mcasp0_aclkr.mmc0_sdwp */
		>;
	};

	mmc3_pins: pinmux_mmc3_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
			AM33XX_IOPAD(0x848, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
			AM33XX_IOPAD(0x84c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
			AM33XX_IOPAD(0x878, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
			AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
			AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
		>;
	};

	wlan_pins: pinmux_wlan_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a0.gpio1_16 */
			AM33XX_IOPAD(0x99c, PIN_INPUT | MUX_MODE7)		/* mcasp0_ahclkr.gpio3_17 */
			AM33XX_IOPAD(0x9ac, PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* mcasp0_ahclkx.gpio3_21 */
		>;
	};

	lcd_pins_s0: lcd_pins_s0 {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad8.lcd_data23 */
			AM33XX_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad9.lcd_data22 */
			AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad10.lcd_data21 */
			AM33XX_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad11.lcd_data20 */
			AM33XX_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad12.lcd_data19 */
			AM33XX_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad13.lcd_data18 */
			AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad14.lcd_data17 */
			AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1)		/* gpmc_ad15.lcd_data16 */
			AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data0.lcd_data0 */
			AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data1.lcd_data1 */
			AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data2.lcd_data2 */
			AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0)		/* lcd_data3.lcd_data3 */
			AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data4.lcd_data4 */
			AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data5.lcd_data5 */
			AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data6.lcd_data6 */
			AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0)		/* lcd_data7.lcd_data7 */
			AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data8.lcd_data8 */
			AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data9.lcd_data9 */
			AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data10.lcd_data10 */
			AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0)		/* lcd_data11.lcd_data11 */
			AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0)		/* lcd_data12.lcd_data12 */
			AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0)		/* lcd_data13.lcd_data13 */
			AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0)		/* lcd_data14.lcd_data14 */
			AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0)		/* lcd_data15.lcd_data15 */
			AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0)		/* lcd_vsync.lcd_vsync */
			AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0)		/* lcd_hsync.lcd_hsync */
			AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0)		/* lcd_pclk.lcd_pclk */
			AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0)		/* lcd_ac_bias_en.lcd_ac_bias_en */
		>;
	};

	mcasp1_pins: mcasp1_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
			AM33XX_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
		>;
	};

	mcasp1_pins_sleep: mcasp1_pins_sleep {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
		>;
	};

	dcan1_pins_default: dcan1_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
			AM33XX_IOPAD(0x96c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
		>;
	};

	emmc_pins: pinmux_emmc_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x94c, PIN_INPUT_PULLUP | MUX_MODE5) /* (M18) mdio_clk.mmc1_clk */
			AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | MUX_MODE5) /* (M17) mdio_data.mmc1_cmd */
			AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
			AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
			AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
			AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
			AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
			AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
			AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
			AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
		>;
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pins>;

	status = "okay";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_pins>;

	status = "okay";
};

&i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins>;

	status = "okay";
	clock-frequency = <400000>;

	tps: tps@2d {
		reg = <0x2d>;
	};
};

&usb {
	status = "okay";
};

&usb_ctrl_mod {
	status = "okay";
};

&usb0_phy {
	status = "okay";
};

&usb1_phy {
	status = "okay";
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
	dr_mode = "host";
};

&cppi41dma  {
	status = "okay";
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins>;

	status = "okay";
	clock-frequency = <100000>;
	lis331dlh: lis331dlh@18 {
		compatible = "st,lis331dlh", "st,lis3lv02d";
		reg = <0x18>;
		Vdd-supply = <&lis3_reg>;
		Vdd_IO-supply = <&lis3_reg>;

		st,click-single-x;
		st,click-single-y;
		st,click-single-z;
		st,click-thresh-x = <10>;
		st,click-thresh-y = <10>;
		st,click-thresh-z = <10>;
		st,irq1-click;
		st,irq2-click;
		st,wakeup-x-lo;
		st,wakeup-x-hi;
		st,wakeup-y-lo;
		st,wakeup-y-hi;
		st,wakeup-z-lo;
		st,wakeup-z-hi;
		st,min-limit-x = <120>;
		st,min-limit-y = <120>;
		st,min-limit-z = <140>;
		st,max-limit-x = <550>;
		st,max-limit-y = <550>;
		st,max-limit-z = <750>;
	};

	tsl2550: tsl2550@39 {
		compatible = "taos,tsl2550";
		reg = <0x39>;
	};

	tmp275: tmp275@48 {
		compatible = "ti,tmp275";
		reg = <0x48>;
	};

	tlv320aic3106: tlv320aic3106@1b {
		#sound-dai-cells = <0>;
		compatible = "ti,tlv320aic3106";
		reg = <0x1b>;
		status = "okay";

		/* Regulators */
		AVDD-supply = <&vaux2_reg>;
		IOVDD-supply = <&vaux2_reg>;
		DRVDD-supply = <&vaux2_reg>;
		DVDD-supply = <&vbat>;
	};
};

&i2c1 {
    sii9022: hdmi@39 {
            compatible = "sil,sii9022a";
            reg = <0x39>;
           // interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;

            ports {
                    #address-cells = <1>;
                    #size-cells = <0>;

                    port@0 {
                            reg = <1>;
                            sii9022a_out: endpoint {
                                    remote-endpoint = <&hdmi_con>;
                            };
                    };
            };
    };
};


&lcdc {
	status = "okay";
	
	blue-and-red-wiring = "crossed";
};

&elm {
	status = "okay";
};

&epwmss0 {
	status = "okay";

	ecap0: ecap@48300100 {
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&ecap0_pins>;
	};
};

#include "tps65910.dtsi"

&mcasp1 {
	#sound-dai-cells = <0>;
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&mcasp1_pins>;
	pinctrl-1 = <&mcasp1_pins_sleep>;

	status = "okay";

	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <2>;
	/* 4 serializers */
	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
		0 0 1 2
	>;
	tx-num-evt = <32>;
	rx-num-evt = <32>;
};

&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.26V with +/-4% tolerance */
			regulator-name = "vdd_mpu";
			regulator-min-microvolt = <912500>;
			regulator-max-microvolt = <1351500>;
			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;
		};
	};
};

&mac {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&cpsw_default>;
	pinctrl-1 = <&cpsw_sleep>;
	status = "okay";
	slaves = <1>;
};

&davinci_mdio {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&davinci_mdio_default>;
	pinctrl-1 = <&davinci_mdio_sleep>;
	status = "okay";
};

&cpsw_emac0 {
	phy_id = <&davinci_mdio>, <0>;
	phy-mode = "rgmii-txid";
};

&tscadc {
	status = "okay";
	tsc {
		ti,wires = <4>;
		ti,x-plate-resistance = <200>;
		ti,coordinate-readouts = <5>;
		ti,wire-config = <0x00 0x11 0x22 0x33>;
		ti,charge-delay = <0x400>;
	};

	adc {
		ti,adc-channels = <4 5 6 7>;
	};
};

&mmc1 {
	status = "okay";
	vmmc-supply = <&vmmc_reg>;
	bus-width = <4>;
	pinctrl-names = "default";
	pinctrl-0 = <&mmc1_pins>;
	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
};

&mmc2 {
	vmmc-supply = <&vmmc_reg>;
	pinctrl-names = "default";
	pinctrl-0 = <&emmc_pins>;
	bus-width = <8>;
	status = "okay";
};


&mmc3 {
	/* these are on the crossbar and are outlined in the
	   xbar-event-map element */
	dmas = <&edma_xbar 12 0 1
		&edma_xbar 13 0 2>;
	dma-names = "tx", "rx";
	status = "okay";
	vmmc-supply = <&wlan_en_reg>;
	bus-width = <4>;
	pinctrl-names = "default";
	pinctrl-0 = <&mmc3_pins &wlan_pins>;
	ti,non-removable;
	ti,needs-special-hs-handling;
	cap-power-off-card;
	keep-power-in-suspend;

	#address-cells = <1>;
	#size-cells = <0>;
	wlcore: wlcore@0 {
		compatible = "ti,wl1835";
		reg = <2>;
		interrupt-parent = <&gpio3>;
		interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
	};
};

&sham {
	status = "okay";
};

&aes {
	status = "okay";
};

&dcan1 {
	status = "disabled";	/* Enable only if Profile 1 is selected */
	pinctrl-names = "default";
	pinctrl-0 = <&dcan1_pins_default>;
};

&rtc {
	clocks = <&clk_32768_ck>, <&clkdiv32k_ick>;
	clock-names = "ext-clk", "int-clk";
	system-power-controller;
};

&wkup_m3_ipc {
	ti,scale-data-fw = "am335x-evm-scale-data.bin";
};

&pruss_soc_bus {
	status = "okay";

	pruss: pruss@0 {
		status = "okay";
	};
};

&sgx {
	status = "okay";
};

pls advise me how to enable HDMI port

Best Regards,

Jagadeesh

  • Hello Jagadeesh,

    Please refer to the following page.

    Regards,
    Krunal

  • Hi Krunal.

    After enabling sii9022A on DTB file kernal gets hungup while booting. without sii9022A configuration on DTB kernel working fine.

    pls conform the my device tree configuration for sii9022a is correct or not

    &lcdc {
              status = "okay";

               blue-and-red-wiring = "crossed";

               port {
                      lcdc_0: endpoint@0 {
                                        remote-endpoint = <&hdmi_0>;
                       };
               };
    };

    &i2c1{
               sii9022: sii9022@3b {
                                          compatible = "sil,sii9022";
                                         reg = <0x39>;

                                           pinctrl-names = "default", "off";
                                           pinctrl-0 = <&lcd_pins_s0>;

                                            #sound-dai-cells = <0>;

                                           ports {
                                                   port@0 {
                                                              hdmi_0: endpoint@0 {
                                                                                      remote-endpoint = <&lcdc_0>;
                                                               };
                                                    };
                                           };
                       };

    };

    board booting debug message below

    U-Boot SPL 2018.01-00569-g7b4e473-dirty (Oct 31 2019 - 16:09:26)
    Trying to boot from MMC1
    *** Warning - bad CRC, using default environment

    U-Boot 2018.01-g9d984f4548 (Apr 06 2019 - 07:42:30 +0000)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x EVM
    DRAM: 1 GiB
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0
    *** Warning - bad CRC, using default environment

    <ethaddr> not set. Validating first E-fuse MAC
    Net: Could not get PHY for cpsw: addr 0
    cpsw, usb_ether
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** Unable to read file boot.scr **
    ** Unable to read file uEnv.txt **
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    3867136 bytes read in 265 ms (13.9 MiB/s)
    38375 bytes read in 19 ms (1.9 MiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8fff3000, end 8ffff5e6 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.14.79-ge669d52447 (root@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #4 PREEMPT Wed Nov 6 18:19:9
    [ 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] OF: fdt: Machine model: TI AM335x EVM
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 48 MiB at 0xbd000000
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon)
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 260416
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID=7562a173-02 rw rootfstype=ext4 rootwait
    [ 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: 976308K/1048576K available (8192K kernel code, 319K rwdata, 2480K rodata, 1024K init, 267K bss, 23116K reserved, 49152K c)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc0900000 (9184 kB)
    [ 0.000000] .init : 0xc0c00000 - 0xc0d00000 (1024 kB)
    [ 0.000000] .data : 0xc0d00000 - 0xc0d4fc00 ( 319 kB)
    [ 0.000000] .bss : 0xc0d4fc00 - 0xc0d92954 ( 268 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Tasks RCU enabled.
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000014] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000032] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000043] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000193] timer_probe: no matching timers found
    [ 0.000381] Console: colour dummy device 80x30
    [ 0.000407] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000413] This ensures that you still see kernel messages. Please
    [ 0.000418] update your kernel commandline.
    [ 0.000449] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [ 0.089211] pid_max: default: 32768 minimum: 301
    [ 0.089382] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.089398] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.090104] CPU: Testing write buffer coherency: ok
    [ 0.090164] CPU0: Spectre v2: using BPIALL workaround
    [ 0.090785] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.090921] Hierarchical SRCU implementation.
    [ 0.091225] EFI services will not be available.
    [ 0.092484] devtmpfs: initialized
    [ 0.099568] random: get_random_u32 called from bucket_table_alloc+0x8c/0x1ac with crng_init=0
    [ 0.099986] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.100268] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.100291] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.103621] pinctrl core: initialized pinctrl subsystem
    [ 0.104285] DMI not present or invalid.
    [ 0.104677] NET: Registered protocol family 16
    [ 0.106569] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.119318] omap_hwmod: debugss: _wait_target_disable failed
    [ 0.171469] cpuidle: using governor ladder
    [ 0.171502] cpuidle: using governor menu
    [ 0.175347] OMAP GPIO hardware version 0.1
    [ 0.185234] No ATAGs?
    [ 0.185251] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.196772] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.200355] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring pre
    [ 0.200416] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring pre
    [ 0.200540] media: Linux media interface: v0.10
    [ 0.200600] Linux video capture interface: v2.00
    [ 0.200695] pps_core: LinuxPPS API ver. 1 registered
    [ 0.200703] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.200722] PTP clock support registered
    [ 0.200751] EDAC MC: Ver: 3.0.0
    [ 0.201171] dmi: Firmware registration failed.
    [ 0.201561] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.201879] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.202946] clocksource: Switched to clocksource timer1
    [ 0.210147] NET: Registered protocol family 2
    [ 0.210818] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.210892] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.210959] TCP: Hash tables configured (established 8192 bind 8192)
    [ 0.211069] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [ 0.211094] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [ 0.211238] NET: Registered protocol family 1
    [ 0.211646] RPC: Registered named UNIX socket transport module.
    [ 0.211661] RPC: Registered udp transport module.
    [ 0.211667] RPC: Registered tcp transport module.
    [ 0.211673] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.212490] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [ 0.212601] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 0.214109] workingset: timestamp_bits=14 max_order=18 bucket_order=4
    [ 0.217752] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.218516] NFS: Registering the id_resolver key type
    [ 0.218557] Key type id_resolver registered
    [ 0.218565] Key type id_legacy registered
    [ 0.218606] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.220429] bounce: pool size: 64 pages
    [ 0.220516] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [ 0.220528] io scheduler noop registered
    [ 0.220535] io scheduler deadline registered
    [ 0.220713] io scheduler cfq registered (default)
    [ 0.220723] io scheduler mq-deadline registered
    [ 0.220729] io scheduler kyber registered
    [ 0.221852] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [ 0.266747] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 0.269521] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [ 0.906677] console [ttyS0] enabled
    [ 0.911160] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a 8250
    [ 0.921691] omap_rng 48310000.rng: Random Number Generator ver. 20
    [ 0.940318] brd: module loaded
    [ 0.949267] loop: module loaded
    [ 0.954806] libphy: Fixed MDIO Bus: probed
    [ 1.033020] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 1.040720] davinci_mdio 4a101000.mdio: no live phy, scanning all
    [ 1.047262] davinci_mdio: probe of 4a101000.mdio failed with error -5
    [ 1.054444] cpsw 4a100000.ethernet: Detected MACID = 34:03:de:8e:f6:e8
    [ 1.061104] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [ 1.067538] cpsw 4a100000.ethernet: ALE Table size 1024
    [ 1.072818] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 1.081473] i2c /dev entries driver
    [ 1.085538] IR NEC protocol handler initialized
    [ 1.090093] IR RC5(x/sz) protocol handler initialized
    [ 1.095200] IR RC6 protocol handler initialized
    [ 1.099746] IR JVC protocol handler initialized
    [ 1.104302] IR Sony protocol handler initialized
    [ 1.108935] IR SANYO protocol handler initialized
    [ 1.113665] IR Sharp protocol handler initialized
    [ 1.118385] IR MCE Keyboard/mouse protocol handler initialized
    [ 1.124249] IR XMP protocol handler initialized
    [ 1.130209] cpuidle: enable-method property 'ti,am3352' found operations
    [ 1.137336] sdhci: Secure Digital Host Controller Interface driver
    [ 1.143581] sdhci: Copyright(c) Pierre Ossman
    [ 1.148504] omap_hsmmc 48060000.mmc: Got CD GPIO
    [ 1.303232] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 1.312780] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.324685] NET: Registered protocol family 10
    [ 1.330238] Segment Routing with IPv6
    [ 1.334115] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 1.340702] NET: Registered protocol family 17
    [ 1.345544] Key type dns_resolver registered
    [ 1.350022] omap_voltage_late_init: Voltage driver support not added
    [ 1.383173] tps65910 0-002d: No interrupt support, no core IRQ
    [ 1.390981] vrtc: supplied by vbat
    [ 1.398138] vio: supplied by vbat
    [ 1.402909] vdd1: supplied by vbat
    [ 1.408111] vdd2: supplied by vbat
    [ 1.414383] random: fast init done
    [ 1.418118] vdig1: supplied by vbat
    [ 1.422958] vdig2: supplied by vbat
    [ 1.427758] vpll: supplied by vbat
    [ 1.432478] vdac: supplied by vbat
    [ 1.437298] vaux1: supplied by vbat
    [ 1.442117] vaux2: supplied by vbat
    [ 1.446937] vaux33: supplied by vbat
    [ 1.451829] vmmc: supplied by vbat
    [ 1.456579] vbb: supplied by vbat
    [ 1.461219] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 1.468688] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
    [ 1.477817] omap_hsmmc 48060000.mmc: Got CD GPIO
    [ 1.610148] input: volume_keys0 as /devices/platform/volume_keys0/input/input0
    [ 1.623720] hctosys: unable to open rtc device (rtc0)
    [ 1.630681] lis3_reg: disabling
    [ 1.634367] wlan-en-regulator: disabling
    [ 1.638498] ALSA device list:
    [ 1.641479] No soundcards found.
    [ 1.645759] Waiting for root device PARTUUID=7562a173-02...
    [ 1.660787] mmc1: host does not support reading read-only switch, assuming write-enable
    [ 1.673831] mmc1: new high speed SDHC card at address e624
    [ 1.680029] mmcblk1: mmc1:e624 SU04G 3.69 GiB
    [ 1.688440] mmcblk1: p1 p2
    [ 1.694048] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    [ 1.702192] pgd = c0004000
    [ 1.705042] [00000000] *pgd=00000000
    [ 1.708645] Internal error: Oops: 5 [#1] PREEMPT ARM
    [ 1.713630] Modules linked in:
    [ 1.716704] CPU: 0 PID: 45 Comm: kworker/0:3 Not tainted 4.14.79-ge669d52447 #4
    [ 1.724042] Hardware name: Generic AM33XX (Flattened Device Tree)
    [ 1.730179] Workqueue: events dbs_work_handler
    [ 1.734642] task: eea63600 task.stack: eee3e000
    [ 1.739200] PC is at tilcdc_crtc_update_clk+0x18/0xa0
    [ 1.744276] LR is at cpufreq_transition+0x24/0x2c
    [ 1.748997] pc : [<c0535d4c>] lr : [<c0537774>] psr: 60000013
    [ 1.755288] sp : eee3fd78 ip : eee3fda0 fp : eee3fd9c
    [ 1.760532] r10: 00000000 r9 : ffffffff r8 : 00000000
    [ 1.765778] r7 : 00000001 r6 : eee3fe70 r5 : 00000000 r4 : 00000000
    [ 1.772330] r3 : c0537750 r2 : eee3fe70 r1 : 00000000 r0 : 00000000
    [ 1.778885] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
    [ 1.786049] Control: 10c5387d Table: 80004019 DAC: 00000051
    [ 1.791817] Process kworker/0:3 (pid: 45, stack limit = 0xeee3e208)
    [ 1.798110] Stack: (0xeee3fd78 to 0xeee40000)
    [ 1.802485] fd60: ffffffff 00000000
    [ 1.810701] fd80: eee3fe70 00000001 00000000 ffffffff eee3fdac eee3fda0 c0537774 c0535d40
    [ 1.818916] fda0: eee3fdd4 eee3fdb0 c01475cc c053775c c0d8b248 c0d8b23c 00000000 00000001
    [ 1.827132] fdc0: eee3fe70 ffffffff eee3fe0c eee3fdd8 c0147a00 c0147588 00000000 c01861ac
    [ 1.835347] fde0: 00000003 000f4240 eee3fe70 eee13300 000c3500 bc000000 0000039f 00000000
    [ 1.843563] fe00: eee3fe24 eee3fe10 c0147a3c c01479c0 00000000 000c3500 eee3fe4c eee3fe28
    [ 1.851780] fe20: c06556d0 c0147a28 eee3fe70 eee13300 00000000 00000003 00000000 000c3500
    [ 1.859995] fe40: eee3fe6c eee3fe50 c0655940 c0655608 eee13300 00000000 c0d8b234 00000003
    [ 1.868210] fe60: eee3feac eee3fe70 c0656094 c0655910 00000000 000927c0 000c3500 00000021
    [ 1.876426] fe80: c0d4fc70 eee15100 eee13300 00fb3880 011f1c00 eee15080 eee16440 c0d15280
    [ 1.884643] fea0: eee3fed4 eee3feb0 c0658b8c c0655f18 eee15130 00000000 eee15104 eee13300
    [ 1.892858] fec0: c0d4245c 00000000 eee3fefc eee3fed8 c06595a0 c0658ad8 eee15130 eee15980
    [ 1.901075] fee0: ef6d2100 00000000 c0d0ea80 00000000 eee3ff34 eee3ff00 c013fd2c c0659578
    [ 1.909290] ff00: ffffe000 c0d0ea94 00000008 eee15980 c0d0ea80 eee15998 ffffe000 c0d0ea94
    [ 1.917507] ff20: 00000008 c0d15280 eee3ff74 eee3ff38 c013fffc c013fb40 c0aa0144 00000000
    [ 1.925722] ff40: c0d4e82d c0d0ea80 c013ff78 eee0fac0 eee0fbc0 00000000 eee3e000 eee15980
    [ 1.933937] ff60: c013ff78 ee861e8c eee3ffac eee3ff78 c0145d7c c013ff84 eee0fad8 eee0fad8
    [ 1.942152] ff80: 00000000 eee0fbc0 c0145c20 00000000 00000000 00000000 00000000 00000000
    [ 1.950367] ffa0: 00000000 eee3ffb0 c0107d28 c0145c2c 00000000 00000000 00000000 00000000
    [ 1.958582] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 1.966796] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [ 1.975003] Backtrace:
    [ 1.977469] [<c0535d34>] (tilcdc_crtc_update_clk) from [<c0537774>] (cpufreq_transition+0x24/0x2c)
    [ 1.986470] r9:ffffffff r8:00000000 r7:00000001 r6:eee3fe70 r5:00000000 r4:ffffffff
    [ 1.994255] [<c0537750>] (cpufreq_transition) from [<c01475cc>] (notifier_call_chain+0x50/0x8c)
    [ 2.002996] [<c014757c>] (notifier_call_chain) from [<c0147a00>] (__srcu_notifier_call_chain+0x4c/0x68)
    [ 2.012432] r9:ffffffff r8:eee3fe70 r7:00000001 r6:00000000 r5:c0d8b23c r4:c0d8b248
    [ 2.020211] [<c01479b4>] (__srcu_notifier_call_chain) from [<c0147a3c>] (srcu_notifier_call_chain+0x20/0x28)
    [ 2.030083] r10:00000000 r9:0000039f r8:bc000000 r7:000c3500 r6:eee13300 r5:eee3fe70
    [ 2.037943] r4:000f4240
    [ 2.040490] [<c0147a1c>] (srcu_notifier_call_chain) from [<c06556d0>] (__cpufreq_notify_transition+0xd4/0x194)
    [ 2.050537] [<c06555fc>] (__cpufreq_notify_transition) from [<c0655940>] (cpufreq_freq_transition_end+0x3c/0xf8)
    [ 2.060758] r9:000c3500 r8:00000000 r7:00000003 r6:00000000 r5:eee13300 r4:eee3fe70
    [ 2.068536] [<c0655904>] (cpufreq_freq_transition_end) from [<c0656094>] (__cpufreq_driver_target+0x188/0x4b0)
    [ 2.078581] r7:00000003 r6:c0d8b234 r5:00000000 r4:eee13300
    [ 2.084268] [<c0655f0c>] (__cpufreq_driver_target) from [<c0658b8c>] (od_dbs_update+0xc0/0x16c)
    [ 2.093006] r10:c0d15280 r9:eee16440 r8:eee15080 r7:011f1c00 r6:00fb3880 r5:eee13300
    [ 2.100866] r4:eee15100
    [ 2.103413] [<c0658acc>] (od_dbs_update) from [<c06595a0>] (dbs_work_handler+0x34/0x58)
    [ 2.111453] r9:00000000 r8:c0d4245c r7:eee13300 r6:eee15104 r5:00000000 r4:eee15130
    [ 2.119238] [<c065956c>] (dbs_work_handler) from [<c013fd2c>] (process_one_work+0x1f8/0x444)
    [ 2.127714] r9:00000000 r8:c0d0ea80 r7:00000000 r6:ef6d2100 r5:eee15980 r4:eee15130
    [ 2.135493] [<c013fb34>] (process_one_work) from [<c013fffc>] (worker_thread+0x84/0x680)
    [ 2.143621] r10:c0d15280 r9:00000008 r8:c0d0ea94 r7:ffffe000 r6:eee15998 r5:c0d0ea80
    [ 2.151481] r4:eee15980
    [ 2.154033] [<c013ff78>] (worker_thread) from [<c0145d7c>] (kthread+0x15c/0x164)
    [ 2.161463] r10:ee861e8c r9:c013ff78 r8:eee15980 r7:eee3e000 r6:00000000 r5:eee0fbc0
    [ 2.169323] r4:eee0fac0
    [ 2.171878] [<c0145c20>] (kthread) from [<c0107d28>] (ret_from_fork+0x14/0x2c)
    [ 2.179132] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0145c20 2.186993] r4:eee0fbc0

    [ 2.189539] Code: e24cb004 e1a04000 e1a05000 e3a01000 (e4946014)
    [ 2.195830] ---[ end trace f522f439769980ee ]---

    Best Regards,

    Jagadeesh

  • Hello Jagadeesh,

    Please refer to the following thread as a reference.

    Regards,
    Krunal