This is definitions of system registers and power mananagement registers for EXYNOS SoC. Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>master
parent
8f2fabe989
commit
283591f171
@ -0,0 +1,54 @@ |
||||
/*
|
||||
* Copyright (C) 2012 Samsung Electronics |
||||
* Donghwa Lee <dh09.lee@samsung.com> |
||||
* |
||||
* See file CREDITS for list of people who contributed to this |
||||
* project. |
||||
* |
||||
* This program is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU General Public License as |
||||
* published by the Free Software Foundation; either version 2 of |
||||
* the License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program; if not, write to the Free Software |
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
||||
* MA 02111-1307 USA |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <asm/io.h> |
||||
#include <asm/arch/power.h> |
||||
|
||||
static void exynos4_mipi_phy_control(unsigned int dev_index, |
||||
unsigned int enable) |
||||
{ |
||||
struct exynos4_power *pmu = |
||||
(struct exynos4_power *)samsung_get_base_power(); |
||||
unsigned int addr, cfg = 0; |
||||
|
||||
if (dev_index == 0) |
||||
addr = (unsigned int)&pmu->mipi_phy0_control; |
||||
else |
||||
addr = (unsigned int)&pmu->mipi_phy1_control; |
||||
|
||||
|
||||
cfg = readl(addr); |
||||
if (enable) |
||||
cfg |= (EXYNOS_MIPI_PHY_MRESETN | EXYNOS_MIPI_PHY_ENABLE); |
||||
else |
||||
cfg &= ~(EXYNOS_MIPI_PHY_MRESETN | EXYNOS_MIPI_PHY_ENABLE); |
||||
|
||||
writel(cfg, addr); |
||||
} |
||||
|
||||
void set_mipi_phy_ctrl(unsigned int dev_index, unsigned int enable) |
||||
{ |
||||
if (cpu_is_exynos4()) |
||||
exynos4_mipi_phy_control(dev_index, enable); |
||||
} |
@ -0,0 +1,48 @@ |
||||
/*
|
||||
* Copyright (C) 2012 Samsung Electronics |
||||
* Donghwa Lee <dh09.lee@samsung.com> |
||||
* |
||||
* See file CREDITS for list of people who contributed to this |
||||
* project. |
||||
* |
||||
* This program is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU General Public License as |
||||
* published by the Free Software Foundation; either version 2 of |
||||
* the License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program; if not, write to the Free Software |
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
||||
* MA 02111-1307 USA |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <asm/io.h> |
||||
#include <asm/arch/system.h> |
||||
|
||||
static void exynos4_set_system_display(void) |
||||
{ |
||||
struct exynos4_sysreg *sysreg = |
||||
(struct exynos4_sysreg *)samsung_get_base_sysreg(); |
||||
unsigned int cfg = 0; |
||||
|
||||
/*
|
||||
* system register path set |
||||
* 0: MIE/MDNIE |
||||
* 1: FIMD Bypass |
||||
*/ |
||||
cfg = readl(&sysreg->display_ctrl); |
||||
cfg |= (1 << 1); |
||||
writel(cfg, &sysreg->display_ctrl); |
||||
} |
||||
|
||||
void set_system_display_ctrl(void) |
||||
{ |
||||
if (cpu_is_exynos4()) |
||||
exynos4_set_system_display(); |
||||
} |
@ -0,0 +1,53 @@ |
||||
/*
|
||||
* (C) Copyright 2012 Samsung Electronics |
||||
* Donghwa Lee <dh09.lee@samsung.com> |
||||
* |
||||
* This program is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU General Public License as |
||||
* published by the Free Software Foundation; either version 2 of |
||||
* the License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program; if not, write to the Free Software |
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
||||
* MA 02111-1307 USA |
||||
* |
||||
*/ |
||||
|
||||
#ifndef __ASM_ARM_ARCH_SYSTEM_H_ |
||||
#define __ASM_ARM_ARCH_SYSTEM_H_ |
||||
|
||||
#ifndef __ASSEMBLY__ |
||||
struct exynos4_sysreg { |
||||
unsigned char res1[0x210]; |
||||
unsigned int display_ctrl; |
||||
unsigned int display_ctrl2; |
||||
unsigned int camera_control; |
||||
unsigned int audio_endian; |
||||
unsigned int jtag_con; |
||||
}; |
||||
|
||||
struct exynos5_sysreg { |
||||
unsigned char res1[0x214]; |
||||
unsigned int disp1blk_cfg; |
||||
unsigned int disp2blk_cfg; |
||||
unsigned int hdcp_e_fuse; |
||||
unsigned int gsclblk_cfg0; |
||||
unsigned int gsclblk_cfg1; |
||||
unsigned int reserved; |
||||
unsigned int ispblk_cfg; |
||||
unsigned int usb20phy_cfg; |
||||
unsigned int mipi_dphy; |
||||
unsigned int dptx_dphy; |
||||
unsigned int phyclk_sel; |
||||
}; |
||||
#endif |
||||
|
||||
void set_system_display_ctrl(void); |
||||
|
||||
#endif /* _EXYNOS4_SYSTEM_H */ |
Loading…
Reference in new issue