Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1ac182d
copy-pasted some driver code from the internet.
ThijsWithaar Jun 29, 2013
28ade54
ahh!, it compiles.
ThijsWithaar Jun 29, 2013
884d231
low-level initialization functions
ThijsWithaar Jun 29, 2013
37fc68a
add intro to README
ThijsWithaar Jun 30, 2013
71c93c3
make it 'insmod' succesfully
ThijsWithaar Jun 30, 2013
2aabc89
define resources, maybe now it probes() ?
ThijsWithaar Jun 30, 2013
ddab47c
resources for exynos4
ThijsWithaar Jun 30, 2013
fa80111
fixup readme
ThijsWithaar Jun 30, 2013
d6aee2d
adapt file-organization to the rest of s5p
ThijsWithaar Jun 30, 2013
8c06a6e
some debug tracing
ThijsWithaar Jun 30, 2013
5fd9b96
not sure where regs-cec.h should go.
ThijsWithaar Jun 30, 2013
99b80bb
Hook up the cec-platform to the per-architecture registration.
ThijsWithaar Jun 30, 2013
6431be2
Fix one crash
ThijsWithaar Jun 30, 2013
89a97aa
Give probe() a chance of working.
ThijsWithaar Jun 30, 2013
5d0d3f5
Not sure what the clock is good for, disable it for now.
ThijsWithaar Jun 30, 2013
7b8d88b
more tracing
ThijsWithaar Jun 30, 2013
197a681
status update
ThijsWithaar Jun 30, 2013
e950e9a
found a clock in the android sources, let's use it
ThijsWithaar Jun 30, 2013
2e688b3
small fixes
ThijsWithaar Jun 30, 2013
a5cdef9
properly free the irq
ThijsWithaar Jun 30, 2013
8ed55e5
fix cleanup of mmio and irq's
ThijsWithaar Jun 30, 2013
e768be3
cleanup the diff w.r.t hardkernel's 3.8.y kernel
ThijsWithaar Jun 30, 2013
69c6fbd
update status
ThijsWithaar Jun 30, 2013
4aa36de
modify debug output
ThijsWithaar Jun 30, 2013
78e5f6a
add some debug prints
ThijsWithaar Jun 30, 2013
2012fa7
Fill in platform_data, so that the CEC GPIO-pins get properly set
ThijsWithaar Jun 30, 2013
02d365b
Set s5p-cec platform data on hkdk4412.
ThijsWithaar Jul 1, 2013
35ee5e8
Merge remote-tracking branch 'upstream/odroid-3.8.y' into odroid-3.8-cec
ThijsWithaar Jul 1, 2013
f0c0ea3
cleanup
ThijsWithaar Jul 1, 2013
785289f
status update
ThijsWithaar Jul 1, 2013
d58c60f
cleanup
ThijsWithaar Jul 1, 2013
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
Set s5p-cec platform data on hkdk4412.
Cleanup a bit
  • Loading branch information
ThijsWithaar committed Jul 1, 2013
commit 02d365b481c3c806546029d81a26f112f8a2f576
7 changes: 7 additions & 0 deletions arch/arm/mach-exynos/mach-hkdk4412.c
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,12 @@ static struct platform_device *hkdk4412_devices[] __initdata = {
#endif
};

#if defined(CONFIG_S5P_DEV_TV)
static struct s5p_platform_cec hdmi_cec_data __initdata = {

};
#endif

static void __init hkdk4412_map_io(void)
{
clk_xusbxti.rate = 24000000;
Expand Down Expand Up @@ -526,6 +532,7 @@ static void __init hkdk4412_machine_init(void)
s5p_tv_setup();
s5p_i2c_hdmiphy_set_platdata(NULL);
s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0);
s5p_hdmi_cec_set_platdata(&hdmi_cec_data);
#endif

s5p_fimd0_set_platdata(&hkdk4412_fb_pdata);
Expand Down
7 changes: 6 additions & 1 deletion arch/arm/mach-exynos/mach-smdk4x12.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,9 +253,11 @@ static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = {
.cols = 8,
};

#if defined(CONFIG_S5P_DEV_TV)
static struct s5p_platform_cec hdmi_cec_data __initdata = {

};
#endif

#ifdef CONFIG_DRM_EXYNOS_FIMD
static struct exynos_drm_fimd_pdata drm_fimd_pdata = {
Expand Down Expand Up @@ -343,12 +345,13 @@ static void __init smdk4x12_reserve(void)
s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20);
}

#if defined(CONFIG_S5P_DEV_TV)
void s5p_cec_cfg_gpio(struct platform_device *pdev)
{
printk(KERN_INFO "s5p_cec_cfg_gpio()\n");
s3c_gpio_cfgpin(HDMI_GPX(6), S3C_GPIO_SFN(0x3));
s3c_gpio_setpull(HDMI_GPX(6), S3C_GPIO_PULL_NONE);
}
#endif

static void __init smdk4x12_machine_init(void)
{
Expand Down Expand Up @@ -378,7 +381,9 @@ static void __init smdk4x12_machine_init(void)

s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata);

#if defined(CONFIG_S5P_DEV_TV)
s5p_hdmi_cec_set_platdata(&hdmi_cec_data);
#endif

#ifdef CONFIG_DRM_EXYNOS_FIMD
s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
Expand Down
31 changes: 16 additions & 15 deletions arch/arm/plat-samsung/devs.c
Original file line number Diff line number Diff line change
Expand Up @@ -808,21 +808,6 @@ void __init s5p_hdmi_set_platdata(struct i2c_board_info *hdmiphy_info,

#endif /* CONFIG_S5P_DEV_I2C_HDMIPHY */

void __init s5p_hdmi_cec_set_platdata(struct s5p_platform_cec *pd)
{
struct s5p_platform_cec *npd;

npd = kmemdup(pd, sizeof(struct s5p_platform_cec), GFP_KERNEL);
if (!npd)
printk(KERN_ERR "%s: no memory for platform data\n", __func__);
else {
if (!npd->cfg_gpio)
npd->cfg_gpio = s5p_cec_cfg_gpio;

s5p_device_cec.dev.platform_data = npd;
}
}


/* I2S */

Expand Down Expand Up @@ -1415,6 +1400,22 @@ struct platform_device s5p_device_mixer = {
.coherent_dma_mask = DMA_BIT_MASK(32),
}
};

void __init s5p_hdmi_cec_set_platdata(struct s5p_platform_cec *pd)
{
struct s5p_platform_cec *npd;
printk(KERN_INFO "s5p_hdmi_cec_set_platdata()\n");

npd = kmemdup(pd, sizeof(struct s5p_platform_cec), GFP_KERNEL);
if (!npd)
printk(KERN_ERR "%s: no memory for platform data\n", __func__);
else {
if (!npd->cfg_gpio)
npd->cfg_gpio = s5p_cec_cfg_gpio;

s5p_device_cec.dev.platform_data = npd;
}
}
#endif /* CONFIG_S5P_DEV_TV */

/* USB */
Expand Down
5 changes: 1 addition & 4 deletions drivers/media/platform/s5p-tv/cec_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,7 @@
#include <linux/interrupt.h>
#include <linux/clk.h>


struct s5p_platform_cec {
void (*cfg_gpio)(struct platform_device *pdev);
};
#include <plat/hdmi.h>

#include "cec_hw.h"

Expand Down