ARM: EXYNOS: definition of system registers
Subsystems (2)
PATCH v2 1/4 ARM: EXYNOS: definition of system registers
This is definition of system registers for EXYNOS SoC.
--- arch/arm/cpu/armv7/exynos/Makefile | 2 +- arch/arm/cpu/armv7/exynos/system.c | 44 +++++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/cpu.h | 2 + arch/arm/include/asm/arch-exynos/system.h | 51 +++++++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 1 deletions(-) create mode 100644 arch/arm/cpu/armv7/exynos/system.c create mode 100644 arch/arm/include/asm/arch-exynos/system.h
arch/arm/cpu/armv7/exynos/Makefile +1 -1
@@ -22,7 +22,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(SOC).o -COBJS += clock.o soc.o +COBJS += clock.o soc.o system.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS))
arch/arm/cpu/armv7/exynos/system.c new file +44 -0
44 lines not on this page · raw message
arch/arm/include/asm/arch-exynos/cpu.h +2 -0
@@ -29,6 +29,7 @@/* EXYNOS4 */ #define EXYNOS4_GPIO_PART3_BASE 0x03860000#define EXYNOS4_PRO_ID 0x10000000 +#define EXYNOS4_SYSREG_BASE 0x10010000#define EXYNOS4_POWER_BASE 0x10020000#define EXYNOS4_SWRESET 0x10020400#define EXYNOS4_CLOCK_BASE 0x10030000
@@ -127,6 +128,7 @@ static inline unsigned int samsung_get_base_##device(void) \ SAMSUNG_BASE(adc, ADC_BASE) SAMSUNG_BASE(clock, CLOCK_BASE) +SAMSUNG_BASE(sysreg, SYSREG_BASE) SAMSUNG_BASE(fimd, FIMD_BASE) SAMSUNG_BASE(gpio_part1, GPIO_PART1_BASE)SAMSUNG_BASE (gpio_part2,GPIO_PART2_BASE )
arch/arm/include/asm/arch-exynos/system.h new file +51 -0
51 lines not on this page · raw message
Signature · 1 line
1.7.4.1
PATCH v2 1/4 ARM: EXYNOS: definition of system registers
Quoted 59 lines · Donghwa Lee
This is definition of system registers for EXYNOS SoC.
Signed-off-by Donghwa Lee <[email protected]>Signed-off-by Kyungmin Park <[email protected]>---
?arch/arm/cpu/armv7/exynos/Makefile ? ? ? ?| ? ?2 +- ?arch/arm/cpu/armv7/exynos/system.c ? ? ? ?| ? 44 +++++++++++++++++++++++++ ?arch/arm/include/asm/arch-exynos/cpu.h ? ?| ? ?2 + ?arch/arm/include/asm/arch-exynos/system.h | ? 51 +++++++++++++++++++++++++++++?4 files changed, 98 insertions(+), 1 deletions(-) ?create mode 100644
arch/arm/cpu/armv7/exynos/system.c?create mode 100644arch/arm/include/asm/arch-exynos/system.harch/arm/cpu/armv7/exynos/Makefile +0
-0@@ -22,7 +22,7 @@ include $(TOPDIR)/config.mk?LIB ? ?= $(obj)lib$(SOC).o
arch/arm/cpu/armv7/exynos/Makefile +1
-1-COBJS ?+= clock.o soc.o +COBJS ?+= clock.o soc.o system.o?SRCS ? := $(SOBJS:.o=.S) $(COBJS:.o=.c)
?OBJS ? := $(addprefix $(obj),$(COBJS) $(SOBJS))arch/arm/cpu/armv7/exynos/system.c new file +27
-0@@ -0,0 +1,44 @@ +/* +* Copyright (C) 2012 Samsung Electronics +* Donghwa Lee <[email protected]> +* +* 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> +
arch/arm/cpu/armv7/exynos/system.c line 37
Quoted 10 lines
arch/arm/cpu/armv7/exynos/system.c new file +10
-0+static unsigned long exynos4_set_system_display (void ) +{ + ? ? ? struct exynos4_sysreg *sysreg = + ? ? ? ? ? (struct exynos4_sysreg *)samsung_get_base_sysreg(); + ? ? ? unsigned int cfg = 0; + + ? ? ? /* system register path set */ + ? ? ? cfg = readl(&sysreg->display_ctrl); + ? ? ? cfg |= (1 << 1); + ? ? ? writel(cfg, &sysreg->display_ctrl);
you missing return value. maybe this function can be void function.
arch/arm/cpu/armv7/exynos/system.c
Quoted 6 lines
arch/arm/cpu/armv7/exynos/system.c new file +6
-0+} + +unsigned long set_system_display_ctrl (void ) +{ + ? ? ? if (cpu_is_exynos4()) + ? ? ? ? ? ? ? return exynos4_set_system_display();
need return here.
Quoted 69 lines
arch/arm/cpu/armv7/exynos/system.c new file +1
-0+}arch/arm/include/asm/arch-exynos/cpu.h +0
-0@@ -29,6 +29,7 @@?/* EXYNOS4 */
?#defineEXYNOS4_GPIO_PART3_BASE? ? ? ? ? ? ? ?0x03860000 ?#defineEXYNOS4_PRO_ID? ? ? ? ? ? ? ?0x10000000+#defineEXYNOS4_SYSREG_BASE? ? ? ? ? ?0x10010000 ?#defineEXYNOS4_POWER_BASE? ? ? ? ? ?0x10020000?#defineEXYNOS4_SWRESET? ? ? ? ? ? ? ? ? ? ? ?0x10020400 ?#defineEXYNOS4_CLOCK_BASE? ? ? ? ? ?0x10030000arch/arm/include/asm/arch-exynos/cpu.h +1
-0@@ -127,6 +128,7 @@ static inline unsigned int samsung_get_base_##device(void) ?\ ?SAMSUNG_BASE(adc, ADC_BASE) ?SAMSUNG_BASE(clock, CLOCK_BASE) +SAMSUNG_BASE(sysreg, SYSREG_BASE) ?SAMSUNG_BASE(fimd, FIMD_BASE) ?SAMSUNG_BASE(gpio_part1, GPIO_PART1_BASE) ?SAMSUNG_BASE(gpio_part2, GPIO_PART2_BASE)arch/arm/include/asm/arch-exynos/system.h new file +42
-0@@ -0,0 +1,51 @@ +/* +* (C) Copyright 2012 Samsung Electronics +* Donghwa Lee <[email protected]> +* +* 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;
arch/arm/include/asm/arch-exynos/system.h
Quoted 10 lines
arch/arm/include/asm/arch-exynos/system.h new file +9
-1+ ? ? ? unsigned int ? ?ispblk_cfg; + ? ? ? unsigned int ? ?usb20phy_cfg; + ? ? ? unsigned int ? ?mipi_dphy; + ? ? ? unsigned int ? ?dptx_dphy; + ? ? ? unsigned int ? ?phyclk_sel; +}; +#endif + +#endif /* _EXYNOS4_SYSTEM_H */ --
Thanks.
Minkyu Kang.
Signature · 2 lines
from. prom. www.promsoft.net