Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
377cf9c
ODROID-X: hkdk4412: Add new hardware based on Exynos4412
Jul 30, 2012
f55cc8b
ARM: EXYNOS: Enable multiple cores on Exynos4
Jul 24, 2012
75c46fc
ARM: EXYNOS: Add gpio functions for Exynos4412
Jul 13, 2012
6a590ab
ARM: EXYNOS: Add USB HSIC device
Jul 28, 2012
b9df846
USB: misc: Add USB3503 High-Speed Hub Controller
Jul 27, 2012
c391264
ODROID-X: usb: Add USB3503 platform device
Jul 29, 2012
d56d9ef
ODROID-X: lcd: ADD LG LP101WH1 LCD
Jul 27, 2012
5827ac1
ODROID-X: lcd: Remove vertical lines of LP101WH1
Aug 6, 2012
4dcbdb2
ODROID-X: Add power-off callback
Jul 29, 2012
35497c6
ODROID-X: power: Add power POWERKEY event
Aug 5, 2012
6c33b79
Revert "PM / Domains: Allow device callbacks to be added at any time"
Aug 1, 2012
4c2b709
Revert "PM / Domains: Add device domain data reference counter"
Jul 29, 2012
1c9e121
s5p-tv: hdmi: Hack for fixing system-hang during S2RAM
trbehera Mar 15, 2012
55533d6
media: s5p-tv: Add audio support
trbehera May 2, 2012
29fc034
media: s5p-tv: Enable HDMI mode to support audio output
trbehera May 2, 2012
4075c17
HACK: media: s5p-tv: Temporary HDMI color hack
Apr 27, 2012
9f81f21
s5p-tv: Fix compiler warning in mixer_video.c file
Apr 3, 2012
0c4ff03
media: s5p-hdmi: add support for frame buffer emulator
mszyprow Mar 28, 2011
320b774
media: s5p-tv: Set 1080p output as default preset
trbehera Jun 20, 2012
4e7390d
media: vb2: add frame buffer emulator for video output devices
mszyprow Mar 29, 2011
32a9451
video: s3c-fb: Add device tree support
Mar 30, 2012
c86bfde
video: s3c-fb: Fix compile error/warning if CONFIG_OF is not selected
Aug 2, 2012
0b458a7
video: s3c-fb: Add Overlay Support
May 3, 2012
ca69f13
video: s3c-fb: Implement release function
May 4, 2012
4192e50
video: s3c-fb: Add open functionality
May 11, 2012
99113a2
ARM: SAMSUNG: Add API to set platform data for s5p-tv driver
trbehera Apr 5, 2012
81182db
ARM: EXYNOS: Add HDMIPHY I2C adaptor
Jul 27, 2012
716575f
ODROID-X: hdmi: Add HDMI platform device
Aug 6, 2012
392533c
ODROID-X: hdmi: Add HDMI driver for Exynos4212
Aug 6, 2012
d376a5d
ODROID-X: hdmi: Change HDMIPHY PLL config table
Aug 6, 2012
2c9dda2
ODROID-X: config: Add odroidx_defconfig
Jul 27, 2012
3b0da99
ODROIDX: board: Change regulator's visual names
Aug 12, 2012
244f1d8
ODROID-X: hsmmc: Remove unnecessary HSMMC3
Aug 12, 2012
e80dad8
ODROID-X: hsmmc: Remove hsmmc3 platform data
Aug 13, 2012
3ed84a5
mmc: dw_mmc: lookup for optional biu and ciu clocks
Jul 17, 2012
3d07c66
ODROID-X: dw_mmc: Exynos4 speicific code change
Aug 12, 2012
1a8a0cf
ARM: EXYNOS: Add DWMCI device
Aug 12, 2012
3efa0e5
ODROID-X: board: Add eMMC device support
Aug 13, 2012
4cc4db2
ODROID-X: config: Enable eMMC kernel config
Aug 13, 2012
bfc181d
ODROID-X: config: Enable Exynos4 CPU_FREQ driver
Aug 12, 2012
da91bde
ARM: EXYNOS: Remove unnecessary clock 'sclk_dwmmc'.
Aug 13, 2012
782a45c
ARM: EXYNOS: Add audio I2S clock control
Aug 13, 2012
3417d71
ASoC: Add max98090 CODEC driver
Aug 11, 2012
264d9fd
ASoC: HKDK: Add audio layer for ODROID
Aug 11, 2012
aaae637
ODROID-X: board: Add MAX98090 audio codec device
Aug 13, 2012
1b15681
ODROID-X: config: Enables MAX98090 audio codec
Aug 13, 2012
69957fb
Merge remote-tracking branch 'origin/odroidx-next' into odroidx-v3.6-rc2
Aug 17, 2012
aba5097
ODROID-X: config: Build config based on Linux 3.6-rc2
Aug 17, 2012
3e485be
ODROID-X: config: Remove Tickless System option
Aug 18, 2012
6dcac11
ODROID-X: config: Change DWMMC driver to be loadable
Aug 18, 2012
0a74022
Merge branch 'master' into github_odroidx-next
Aug 24, 2012
9f3eb6a
ODROIDX: config: Build config based on Linux 3.6-rc3
Aug 24, 2012
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
ARM: EXYNOS: Add USB HSIC device
This patch support to control USB HSIC of EXYNOS4,
edited based on Samsung's GT-i9100 ICS Opensource Update7.

Change-Id: Ifba33c6a5166abf3644794eee6abe528bd71f521
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
  • Loading branch information
Dongjin Kim committed Aug 6, 2012
commit 6a590abbb4cfb886b8d484ccf405a812181c42eb
5 changes: 5 additions & 0 deletions arch/arm/mach-exynos/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,11 @@ static struct map_desc exynos4_iodesc[] __initdata = {
.pfn = __phys_to_pfn(EXYNOS4_PA_L2CC),
.length = SZ_4K,
.type = MT_DEVICE,
}, {
.virtual = (unsigned long)S5P_VA_GPIO2,
.pfn = __phys_to_pfn(EXYNOS4_PA_GPIO2),
.length = SZ_4K,
.type = MT_DEVICE,
}, {
.virtual = (unsigned long)S5P_VA_DMC0,
.pfn = __phys_to_pfn(EXYNOS4_PA_DMC0),
Expand Down
12 changes: 12 additions & 0 deletions arch/arm/mach-exynos/include/mach/regs-pmu.h
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,15 @@
#define S5P_PMU_LCD1_CONF S5P_PMUREG(0x3CA0)

/* Only for EXYNOS4x12 */
#define S5P_USB_PHY_CONTROL S5P_PMUREG(0x0704)
#define S5P_USB_PHY_ENABLE (0x1 << 0)

#define S5P_HSIC_1_PHY_CONTROL S5P_PMUREG(0x0708)
#define S5P_HSIC_1_PHY_ENABLE (0x1 << 0)

#define S5P_HSIC_2_PHY_CONTROL S5P_PMUREG(0x070C)
#define S5P_HSIC_2_PHY_ENABLE (0x1 << 0)

#define S5P_ISP_ARM_LOWPWR S5P_PMUREG(0x1050)
#define S5P_DIS_IRQ_ISP_ARM_LOCAL_LOWPWR S5P_PMUREG(0x1054)
#define S5P_DIS_IRQ_ISP_ARM_CENTRAL_LOWPWR S5P_PMUREG(0x1058)
Expand Down Expand Up @@ -242,6 +251,9 @@

#define EXYNOS5_SYS_WDTRESET (1 << 20)

#define EXYNOS5_USBDEV_PHY_CONTROL S5P_PMUREG(0x0704)
#define EXYNOS5_USBHOST_PHY_CONTROL S5P_PMUREG(0x0708)

#define EXYNOS5_ARM_CORE0_SYS_PWR_REG S5P_PMUREG(0x1000)
#define EXYNOS5_DIS_IRQ_ARM_CORE0_LOCAL_SYS_PWR_REG S5P_PMUREG(0x1004)
#define EXYNOS5_DIS_IRQ_ARM_CORE0_CENTRAL_SYS_PWR_REG S5P_PMUREG(0x1008)
Expand Down
97 changes: 97 additions & 0 deletions arch/arm/mach-exynos/include/mach/regs-usb-phy.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,43 @@
#define EXYNOS4210_CLKSEL_12M (0x2 << 0)
#define EXYNOS4210_CLKSEL_24M (0x3 << 0)

#define EXYNOS4210_HSIC1_NORMAL_MASK (0x3 << 11)
#define EXYNOS4210_HSIC1_SLEEP (1 << 12)
#define EXYNOS4210_HSIC1_FORCE_SUSPEND (1 << 11)
#define EXYNOS4210_HSIC0_NORMAL_MASK (0x3 << 9)
#define EXYNOS4210_HSIC0_SLEEP (1 << 10)
#define EXYNOS4210_HSIC0_FORCE_SUSPEND (1 << 9)

#define EXYNOS4210_HOST_LINK_PORT_SWRST_MASK (0xf << 6)
#define EXYNOS4210_HOST_LINK_PORT2_SWRST (1 << 9)
#define EXYNOS4210_HOST_LINK_PORT1_SWRST (1 << 8)
#define EXYNOS4210_HOST_LINK_PORT0_SWRST (1 << 7)
#define EXYNOS4210_HOST_LINK_ALL_SWRST (1 << 6)
#define EXYNOS4210_PHY1_SWRST_MASK (0x7 << 3)
#define EXYNOS4210_PHY1_HSIC_SWRST (1 << 5)
#define EXYNOS4210_PHY1_STD_SWRST (1 << 4)
#define EXYNOS4210_PHY1_ALL_SWRST (1 << 3)

#define EXYNOS4X12_HSIC1_NORMAL_MASK (0x7 << 12)
#define EXYNOS4X12_HSIC1_SLEEP (1 << 14)
#define EXYNOS4X12_HSIC1_ANALOG_POWERDOWN (1 << 13)
#define EXYNOS4X12_HSIC1_FORCE_SUSPEND (1 << 12)
#define EXYNOS4X12_HSIC0_NORMAL_MASK (0x7 << 9)
#define EXYNOS4X12_HSIC0_SLEEP (1 << 11)
#define EXYNOS4X12_HSIC0_ANALOG_POWERDOWN (1 << 10)
#define EXYNOS4X12_HSIC0_FORCE_SUSPEND (1 << 9)

#define EXYNOS4X12_HOST_LINK_PORT_SWRST_MASK (0xf << 7)
#define EXYNOS4X12_HOST_LINK_PORT2_SWRST (1 << 10)
#define EXYNOS4X12_HOST_LINK_PORT1_SWRST (1 << 9)
#define EXYNOS4X12_HOST_LINK_PORT0_SWRST (1 << 8)
#define EXYNOS4X12_HOST_LINK_ALL_SWRST (1 << 7)
#define EXYNOS4X12_PHY1_SWRST_MASK (0xf << 3)
#define EXYNOS4X12_PHY1_HSIC1_SWRST (1 << 6)
#define EXYNOS4X12_PHY1_HSIC0_SWRST (1 << 5)
#define EXYNOS4X12_PHY1_SWRST (1 << 4)
#define EXYNOS4X12_HOST_PHY_SWRST (1 << 3)

#define EXYNOS4X12_CLKSEL_MASK (0x7 << 0)
#define EXYNOS4X12_CLKSEL_9600K (0x0 << 0)
#define EXYNOS4X12_CLKSEL_10M (0x1 << 0)
Expand Down Expand Up @@ -71,4 +108,64 @@
#define EXYNOS4_PHY1CON EXYNOS4_HSOTG_PHYREG(0x34)
#define FPENABLEN (1 << 0)

/* For Exynos5 */
#define EXYNOS5_PHY_HOST_CTRL0 EXYNOS4_HSOTG_PHYREG(0x00)
#define HOST_CTRL0_PHYSWRSTALL (0x1 << 31)
#define HOST_CTRL0_REFCLKSEL(val) (val << 19)
#define EXYNOS5_CLKSEL_50M (0x7)
#define EXYNOS5_CLKSEL_24M (0x5)
#define EXYNOS5_CLKSEL_20M (0x4)
#define EXYNOS5_CLKSEL_19200K (0x3)
#define EXYNOS5_CLKSEL_12M (0x2)
#define EXYNOS5_CLKSEL_10M (0x1)
#define EXYNOS5_CLKSEL_9600K (0x0)
#define HOST_CTRL0_CLKSEL_SHIFT (16)
#define HOST_CTRL0_FSEL_MASK (0x7 << 16)

#define HOST_CTRL0_COMMONON_N (0x1 << 9)
#define HOST_CTRL0_SIDDQ (0x1 << 6)
#define HOST_CTRL0_FORCESLEEP (0x1 << 5)
#define HOST_CTRL0_FORCESUSPEND (0x1 << 4)
#define HOST_CTRL0_WORDINTERFACE (0x1 << 3)
#define HOST_CTRL0_UTMISWRST (0x1 << 2)
#define HOST_CTRL0_LINKSWRST (0x1 << 1)
#define HOST_CTRL0_PHYSWRST (0x1 << 0)

#define EXYNOS5_PHY_HOST_TUNE0 EXYNOS4_HSOTG_PHYREG(0x04)
#define EXYNOS5_PHY_HOST_TEST0 EXYNOS4_HSOTG_PHYREG(0x08)

#define EXYNOS5_PHY_HSIC_CTRL1 EXYNOS4_HSOTG_PHYREG(0x10)
#define EXYNOS5_PHY_HSIC_CTRL2 EXYNOS4_HSOTG_PHYREG(0x20)
#define HSIC_CTRL_REFCLKSEL(val) ((val&0x3) << 23)
#define HSIC_CTRL_REFCLKDIV(val) ((val&0x7f) << 16)
#define HSIC_CTRL_SIDDQ (0x1 << 6)
#define HSIC_CTRL_FORCESLEEP (0x1 << 5)
#define HSIC_CTRL_FORCESUSPEND (0x1 << 4)
#define HSIC_CTRL_WORDINTERFACE (0x1 << 3)
#define HSIC_CTRL_UTMISWRST (0x1 << 2)
#define HSIC_CTRL_PHYSWRST (0x1 << 0)

#define EXYNOS5_PHY_HOST_EHCICTRL EXYNOS4_HSOTG_PHYREG(0x30)
#define EHCICTRL_ENAINCRXALIGN (0x1 << 29)
#define EHCICTRL_ENAINCR4 (0x1 << 28)
#define EHCICTRL_ENAINCR8 (0x1 << 27)
#define EHCICTRL_ENAINCR16 (0x1 << 26)

#define EXYNOS5_PHY_HOST_OHCICTRL EXYNOS4_HSOTG_PHYREG(0x34)

#define EXYNOS5_PHY_OTG_SYS EXYNOS4_HSOTG_PHYREG(0x38)
#define OTG_SYS_PHYLINK_SW_RESET (0x1 << 14)
#define OTG_SYS_LINK_SW_RST_UOTG (0x1 << 13)
#define OTG_SYS_PHY0_SW_RST (0x1 << 12)
#define OTG_SYS_REF_CLK_SEL(val) ((val&0x3) << 9)
#define OTG_SYS_REF_CLK_SEL_MASK (0x3 << 9)
#define OTG_SYS_IP_PULLUP_UOTG (0x1 << 8)
#define OTG_SYS_COMMON_ON (0x1 << 7)
#define OTG_SYS_CLKSEL_SHIFT (4)
#define OTG_SYS_CTRL0_FSEL_MASK (0x7 << 4)
#define OTG_SYS_FORCE_SLEEP (0x1 << 3)
#define OTG_SYS_OTGDISABLE (0x1 << 2)
#define OTG_SYS_SIDDQ_UOTG (0x1 << 1)
#define OTG_SYS_FORCE_SUSPEND (0x1 << 0)

#endif /* __PLAT_S5P_REGS_USB_PHY_H */
Loading