From patchwork Mon Sep 30 11:20:54 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajay Kumar X-Patchwork-Id: 279111 X-Patchwork-Delegate: promsoft@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 28A302C00A0 for ; Mon, 30 Sep 2013 21:02:04 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id BC61B4A0F2; Mon, 30 Sep 2013 13:01:39 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VhaMZ66J9Kli; Mon, 30 Sep 2013 13:01:39 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 62A7E4A11E; Mon, 30 Sep 2013 13:00:50 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 4B9234A0F3 for ; Mon, 30 Sep 2013 13:00:28 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6zJXpxHWfXz1 for ; Mon, 30 Sep 2013 13:00:21 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by theia.denx.de (Postfix) with ESMTP id 6EB0E4A0E8 for ; Mon, 30 Sep 2013 13:00:10 +0200 (CEST) Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MTX00LYRQJKLE41@mailout1.samsung.com> for u-boot@lists.denx.de; Mon, 30 Sep 2013 19:59:58 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.122]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 67.2D.31253.EA959425; Mon, 30 Sep 2013 19:59:58 +0900 (KST) X-AuditID: cbfee690-b7f3b6d000007a15-bf-524959ae4940 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 54.09.09055.EA959425; Mon, 30 Sep 2013 19:59:58 +0900 (KST) Received: from chromeserver-PowerEdge-T410.sisodomain.com ([107.108.73.106]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MTX00J44QJN8020@mmp1.samsung.com>; Mon, 30 Sep 2013 19:59:58 +0900 (KST) From: Ajay Kumar To: u-boot@lists.denx.de, mk7.kang@samsung.com, dh09.lee@samsung.com Date: Mon, 30 Sep 2013 16:50:54 +0530 Message-id: <1380540055-469-6-git-send-email-ajaykumar.rs@samsung.com> X-Mailer: git-send-email 1.7.10.4 In-reply-to: <1380540055-469-1-git-send-email-ajaykumar.rs@samsung.com> References: <1380540055-469-1-git-send-email-ajaykumar.rs@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrALMWRmVeSWpSXmKPExsWyRsSkSnddpGeQwcb5BhbXz9tZTLo/gcWi 40gLo8XPSXNYLd7u7WR3YPWYOHEdo8fZOzsYPfq2rGIMYI7isklJzcksSy3St0vgyjiy5iVb wWnZisPbJrE1MDZKdDFyckgImEjs6ZzDBmGLSVy4tx7I5uIQEljKKNG5fTsbTNGdC4dYQGwh gUWMEh17gyDs2UwS795ag9hsAtoS26bfBKsREXCRWDOzhxHEZhbQlPjw+h4ziC0s4Cux8tl2 JhCbRUBVYmfbL3YQm1fATWLF+mZWiF2KEt3PJoDt5RRwl1gy9Rw7xC43ie+T5jBC1Hxnkzjb 5QIxR0Di22SQ2ziA4rISmw4wQ5RIShxccYNlAqPwAkaGVYyiqQXJBcVJ6UUmesWJucWleel6 yfm5mxiBoXv637MJOxjvHbA+xJgMNG4is5Rocj4w9PNK4g2NzYwsTE1MjY3MLc1IE1YS51Vv sQ4UEkhPLEnNTk0tSC2KLyrNSS0+xMjEwSnVwKj8mTE6mD/YfO7fu5GvdeM7vBX2TSs5HnXw yw61q/v9j/iv3xxj+WVRY6PvjUgx/g9hF1kOaSnuYp7v+EpojdH7rL79N/9Yf029N0Xpq2D+ afbJmh+MN9zxfazGs35Gwl97XVs25pdXWx/UFbiJiV7z2Mq28Km72Hz/zNMMB+Z8XPA5q7x4 UosSS3FGoqEWc1FxIgDm3uc4cwIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrHIsWRmVeSWpSXmKPExsVy+t9jAd11kZ5BBpsbNS2un7ezmHR/AotF x5EWRoufk+awWrzd28nuwOoxceI6Ro+zd3YwevRtWcUYwBzVwGiTkZqYklqkkJqXnJ+SmZdu q+QdHO8cb2pmYKhraGlhrqSQl5ibaqvk4hOg65aZA7RTSaEsMacUKBSQWFyspG+HaUJoiJuu BUxjhK5vSBBcj5EBGkhYw5hxZM1LtoLTshWHt01ia2BslOhi5OSQEDCRuHPhEAuELSZx4d56 NhBbSGARo0TH3iAIezaTxLu31iA2m4C2xLbpN8HqRQRcJNbM7GEEsZkFNCU+vL7HDGILC/hK rHy2nQnEZhFQldjZ9osdxOYVcJNYsb6ZFWKXokT3swlguzgF3CWWTD3HDrHLTeL7pDmMExh5 FzAyrGIUTS1ILihOSs811CtOzC0uzUvXS87P3cQIjo1nUjsYVzZYHGIU4GBU4uGdsNwjSIg1 say4MvcQowQHs5II7wQ3zyAh3pTEyqrUovz4otKc1OJDjMlAV01klhJNzgfGbV5JvKGxibmp samliYWJmSVpwkrivAdarQOFBNITS1KzU1MLUotgtjBxcEo1MLqVVly3Fu49aRduto19gf77 g4FJwil551fEuZz3yHVY7L9U08nxv8bk8xWxkjxXr68qStbkyXHb4eux2NRh09XA5jsX7rQv +ms4+29RbuD6M3sWbVgv/PRzkmeJkmedbOTrFCf+k8uqrVsPtmZVcZpOSFmg3ndr956nl6OX i9rsO/4pyUtoohJLcUaioRZzUXEiAEqUUwfRAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: inki.dae@samsung.com, sjg@chomium.org Subject: [U-Boot] [PATCH 5/6] smdk5420: Implement callbacks needed by exynos_fb driver X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Add callbacks to set up DP-HPD, backlight and LCD power on SMDK5420. Signed-off-by: Ajay Kumar Acked-by: Simon Glass --- board/samsung/smdk5420/smdk5420.c | 118 +++++++++++--------------------------- 1 file changed, 34 insertions(+), 84 deletions(-) diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index cf76455..3f29ce0 100644 --- a/board/samsung/smdk5420/smdk5420.c +++ b/board/samsung/smdk5420/smdk5420.c @@ -137,98 +137,48 @@ int board_mmc_init(bd_t *bis) #endif #ifdef CONFIG_LCD -void cfg_lcd_gpio(void) +void exynos_cfg_lcd_gpio(void) { - struct exynos5_gpio_part1 *gpio1 = - (struct exynos5_gpio_part1 *)samsung_get_base_gpio_part1(); + struct exynos5420_gpio_part2 *gpio2 = + (struct exynos5420_gpio_part2 *)samsung_get_base_gpio_part2(); - /* For Backlight */ + /* Set Hotplug detect for DP */ + s5p_gpio_cfg_pin(&gpio2->x0, 7, GPIO_FUNC(0x3)); +} + +void exynos_backlight_on(unsigned int onoff) +{ + struct exynos5420_gpio_part1 *gpio1 = + (struct exynos5420_gpio_part1 *)samsung_get_base_gpio_part1(); + + struct exynos5420_gpio_part2 *gpio2 = + (struct exynos5420_gpio_part2 *)samsung_get_base_gpio_part2(); + + /* For PWM */ s5p_gpio_cfg_pin(&gpio1->b2, 0, GPIO_OUTPUT); s5p_gpio_set_value(&gpio1->b2, 0, 1); - /* LCD power on */ - s5p_gpio_cfg_pin(&gpio1->x1, 5, GPIO_OUTPUT); - s5p_gpio_set_value(&gpio1->x1, 5, 1); - - /* Set Hotplug detect for DP */ - s5p_gpio_cfg_pin(&gpio1->x0, 7, GPIO_FUNC(0x3)); + /* BL_EN */ + s5p_gpio_cfg_pin(&gpio2->x1, 5, GPIO_OUTPUT); + s5p_gpio_set_value(&gpio2->x1, 5, 1); } -vidinfo_t panel_info = { - .vl_freq = 60, - .vl_col = 2560, - .vl_row = 1600, - .vl_width = 2560, - .vl_height = 1600, - .vl_clkp = CONFIG_SYS_LOW, - .vl_hsp = CONFIG_SYS_LOW, - .vl_vsp = CONFIG_SYS_LOW, - .vl_dp = CONFIG_SYS_LOW, - .vl_bpix = 4, /* LCD_BPP = 2^4, for output conosle on LCD */ - - /* wDP panel timing infomation */ - .vl_hspw = 32, - .vl_hbpd = 80, - .vl_hfpd = 48, - - .vl_vspw = 6, - .vl_vbpd = 37, - .vl_vfpd = 3, - .vl_cmd_allow_len = 0xf, - - .win_id = 3, - .cfg_gpio = cfg_lcd_gpio, - .backlight_on = NULL, - .lcd_power_on = NULL, - .reset_lcd = NULL, - .dual_lcd_enabled = 0, - - .init_delay = 0, - .power_on_delay = 0, - .reset_delay = 0, - .interface_mode = FIMD_RGB_INTERFACE, - .dp_enabled = 1, -}; - -static struct edp_device_info edp_info = { - .disp_info = { - .h_res = 2560, - .h_sync_width = 32, - .h_back_porch = 80, - .h_front_porch = 48, - .v_res = 1600, - .v_sync_width = 6, - .v_back_porch = 37, - .v_front_porch = 3, - .v_sync_rate = 60, - }, - .lt_info = { - .lt_status = DP_LT_NONE, - }, - .video_info = { - .master_mode = 0, - .bist_mode = DP_DISABLE, - .bist_pattern = NO_PATTERN, - .h_sync_polarity = 0, - .v_sync_polarity = 0, - .interlaced = 0, - .color_space = COLOR_RGB, - .dynamic_range = VESA, - .ycbcr_coeff = COLOR_YCBCR601, - .color_depth = COLOR_8, - }, -}; - -static struct exynos_dp_platform_data dp_platform_data = { - .phy_enable = set_dp_phy_ctrl, - .edp_dev_info = &edp_info, -}; - -void init_panel_info(vidinfo_t *vid) +void exynos_lcd_power_on(void) { - vid->rgb_mode = MODE_RGB_P, - - exynos_set_dp_platform_data(&dp_platform_data); + int pmic_bus, pmic_i2caddr, ldo38_reg, old_bus; + u8 value; + + /* enable VDD_28IO_DP: LDO38 should be at 2.8V */ + pmic_bus = 4; + pmic_i2caddr = 0x66; + ldo38_reg = 0x62; + value = 0x78; + + old_bus = i2c_get_bus_num(); + i2c_set_bus_num(pmic_bus); + if (i2c_write(pmic_i2caddr, ldo38_reg, 1, &value, 1)) + printf("i2c write fail. Failed to enable VDD_28IO_DP\n"); + i2c_set_bus_num(old_bus); } #endif