Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Odroid 3.13.y #56

Merged
merged 26 commits into from
Jul 15, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
f524dad
CHROMIUM: drm/exynos: add support for hdmi audio through alsa soc
Jan 29, 2013
8baf592
drm: remove the default DVI=true, and set hdmi audio plugin
hsnaves Jul 13, 2014
e4a62f8
ASoC: hdmi audio plugin is capable of using up to 8 channels.
hsnaves Jul 13, 2014
9c31693
clk: samsung: added callbacks for PM suspend and resume.
hsnaves Jul 13, 2014
3c28215
clk: samsung: adapted the code for the newly introduced PM callbacks.
hsnaves Jul 13, 2014
d032f3c
clk: samsung: added wait_locktime for PLL clocks.
hsnaves Jul 13, 2014
6a27266
exynos5410: added hdmi audio plugin to the DTS file, and renamed some…
hsnaves Jul 13, 2014
c127918
ASoC: exynos: Issues with the EPLL clock in daisy_max98095.
hsnaves Jul 13, 2014
1ee20c9
exynos5410: Changed the way to initialize clocks (using __clk_lookup …
hsnaves Jul 13, 2014
da37cef
clk: exynos5410: removed unused aliases in the clock definitions.
hsnaves Jul 13, 2014
7b4f014
clk: exynos5410: reorganizing the registers
hsnaves Jul 13, 2014
86a98ba
clk: exynos5410: added PLL register to PM suspend/resume.
hsnaves Jul 13, 2014
d9524dc
clk: exynos5410: Renamed more clocks from sclk_* to mout_*
hsnaves Jul 13, 2014
42fd6c5
clk: exynos5410: Renamed some more clocks.
hsnaves Jul 13, 2014
49f7787
clk: exynos5410: the system freezes after we add the new gate clocks.
hsnaves Jul 13, 2014
aaeed74
clk: exynos5410: with more clocks
hsnaves Jul 13, 2014
009c670
clk: exynos5410: added the last (empty) entry to each PLL clock table.
hsnaves Jul 13, 2014
42241fb
clk: exynos5410: EPLL still had a problem, which is now fixed.
hsnaves Jul 13, 2014
631d5d8
ASoC: exynos: audio seems to be working perfectly for the frequency 4…
hsnaves Jul 13, 2014
c2ef167
clk: exynos5410: added the problematic GATE clocks back, but now with…
hsnaves Jul 13, 2014
0d9df4b
ASoC: We don't need these three clocks anymore.
hsnaves Jul 13, 2014
d6ce42a
clk: exynos5410: Major cleaning up of the file
hsnaves Jul 13, 2014
77dbfdf
clk: exynos5410: Removed SCLK_PWM
hsnaves Jul 14, 2014
f948165
ASoC: HDMI audio is now working.
hsnaves Jul 14, 2014
866e9c1
clk: added extra features to DebugFS representation of the clock tree.
hsnaves Jul 14, 2014
3c519d4
exynos5410: added the sound driver to the default configuration.
hsnaves Jul 14, 2014
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
6 changes: 3 additions & 3 deletions arch/arm/boot/dts/exynos5410-odroidxu.dts
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@


i2s@03830000 {
status = "okay";
status = "okay";
};

sound {
Expand All @@ -549,8 +549,8 @@
samsung,i2s-controller = <&i2s0>;
samsung,audio-codec = <&max98090>;
card-name = "ODROID-I2S-98090";
clocks = <&clock CLK_FOUT_EPLL>, <&clock CLK_SCLK_EPLL>, <&clock CLK_MOUT_AUDIO0>,
<&clock CLK_SCLK_MAUDIO0>, <&clock_audss EXYNOS_MOUT_AUDSS>,
clocks = <&clock CLK_FOUT_EPLL>, <&clock CLK_MOUT_EPLL>, <&clock CLK_MOUT_MAU_AUDIO0>,
<&clock CLK_SCLK_MAU_AUDIO0>, <&clock_audss EXYNOS_MOUT_AUDSS>,
<&clock_audss EXYNOS_MOUT_I2S>;
clock-names = "fout_epll", "sclk_epll", "mout_audio0",
"sclk_audio0", "mout_audss", "mout_i2s";
Expand Down
30 changes: 17 additions & 13 deletions arch/arm/boot/dts/exynos5410.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,10 @@
clock-names = "hdmi", "sclk_hdmi", "div_hdmi_pixel",
"sclk_hdmiphy", "mout_hdmi";
phy = <&hdmiphy>;

hdmi-audio {
compatible = "samsung,exynos-hdmi-audio";
};
};

hdmiphy: hdmiphy@145D0000 {
Expand Down Expand Up @@ -386,7 +390,7 @@
reg = <0x12110000 0x100>;
interrupts = <0 71 0>;

clocks = <&clock CLK_USBH20>;
clocks = <&clock CLK_USB2>;
clock-names = "usbhost";
};

Expand All @@ -395,14 +399,14 @@
reg = <0x12120000 0x100>;
interrupts = <0 71 0>;

clocks = <&clock CLK_USBH20>;
clocks = <&clock CLK_USB2>;
clock-names = "usbhost";
};

usb2_phy: usbphy@12130000 {
compatible = "samsung,exynos5250-usb2phy";
reg = <0x12130000 0x100>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USBH20>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USB2>;
clock-names = "ext_xtal", "usbhost";
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -417,7 +421,7 @@
usb3_phy0: usbphy@12100000 {
compatible = "samsung,exynos5250-usb3phy";
reg = <0x12100000 0x100>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USBD300>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USBPHY300>;
clock-names = "ext_xtal", "usbdrd30";
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -432,7 +436,7 @@
usb3_phy1: usbphy@12500000 {
compatible = "samsung,exynos5250-usb3phy";
reg = <0x12500000 0x100>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USBD301>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USBPHY301>;
clock-names = "ext_xtal", "usbdrd30";
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -446,7 +450,7 @@

usb@12000000 {
compatible = "samsung,exynos5250-dwusb3";
clocks = <&clock CLK_USBD300>;
clocks = <&clock CLK_USBPHY300>;
clock-names = "usbdrd30";
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -462,7 +466,7 @@

usb@12400000 {
compatible = "samsung,exynos5250-dwusb3";
clocks = <&clock CLK_USBD301>;
clocks = <&clock CLK_USBPHY301>;
clock-names = "usbdrd30";
#address-cells = <1>;
#size-cells = <1>;
Expand Down Expand Up @@ -573,10 +577,10 @@
};

clock_audss: audss-clock-controller@3810000 {
compatible = "samsung,exynos5250-audss-clock"; /* Is it compatible with exynos5420 or exynos5250? */
compatible = "samsung,exynos5250-audss-clock";
reg = <0x03810000 0x0C>;
#clock-cells = <1>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_FOUT_EPLL>, <&clock CLK_SCLK_MAUDIO0>, <&clock CLK_SCLK_MAUPCM0>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_FOUT_EPLL>, <&clock CLK_SCLK_MAU_AUDIO0>, <&clock CLK_SCLK_MAU_PCM0>;
clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in";
};

Expand Down Expand Up @@ -611,6 +615,7 @@
#dma-channels = <8>;
#dma-requests = <32>;
};
*/

mdma0: mdma@10800000 {
compatible = "arm,pl330", "arm,primecell";
Expand All @@ -623,6 +628,7 @@
#dma-requests = <1>;
};

/*
mdma1: mdma@11C10000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x11C10000 0x1000>;
Expand All @@ -647,9 +653,6 @@
<&clock_audss EXYNOS_I2S_BUS>,
<&clock_audss EXYNOS_SCLK_I2S>;
clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
samsung,supports-6ch;
samsung,supports-rstclr;
samsung,supports-secdai;
samsung,idma-addr = <0x03000000>;
pinctrl-names = "default";
pinctrl-0 = <&i2s0_bus>;
Expand All @@ -669,6 +672,7 @@
pinctrl-0 = <&i2s1_bus>;
status = "disabled";
};
*/

i2s2: i2s@12D70000 {
compatible = "samsung,s5pv210-i2s";
Expand All @@ -681,5 +685,5 @@
pinctrl-names = "default";
pinctrl-0 = <&i2s2_bus>;
status = "disabled";
};*/
};
};
14 changes: 13 additions & 1 deletion arch/arm/configs/odroidxu_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_EXTRA_FIRMWARE="edid/1024x768.fw edid/1280x1024.fw edid/1280x720.fw edid/1920x1080.fw"
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=128
CONFIG_CONNECTOR=y
Expand All @@ -117,6 +118,7 @@ CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
CONFIG_NETDEVICES=y
Expand Down Expand Up @@ -203,6 +205,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_MAX77XXX=y
CONFIG_REGULATOR_S2MPS11=y
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_RC_DEVICES=y
Expand Down Expand Up @@ -247,6 +250,11 @@ CONFIG_DVB_USB_IT913X=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_MXL111SF=m
CONFIG_DVB_USB_RTL28XXU=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_SAMSUNG_S5P_G2D=m
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
CONFIG_DRM=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_EXYNOS=y
Expand All @@ -267,9 +275,12 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_VERBOSE=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_SAMSUNG=y
CONFIG_SND_SOC_SAMSUNG_HDMI_AUDIO=m
CONFIG_SND_SOC_SAMSUNG_HDMI_AUDIO=y
CONFIG_SND_SOC_SMDK_I2S_STUB=y
CONFIG_SND_SOC_EXYNOS_MAX98095=y
CONFIG_HIDRAW=y
Expand Down Expand Up @@ -361,6 +372,7 @@ CONFIG_STAGING=y
CONFIG_R8188EU=m
CONFIG_88EU_AP_MODE=y
CONFIG_COMMON_CLK_DEBUG=y
CONFIG_COMMON_CLK_DEBUG_EXTRA=y
CONFIG_PM_DEVFREQ=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
Expand Down
8 changes: 8 additions & 0 deletions drivers/clk/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ config COMMON_CLK_DEBUG
clk_flags, clk_prepare_count, clk_enable_count &
clk_notifier_count.

config COMMON_CLK_DEBUG_EXTRA
bool "Extra features for the clock tree DebugFS"
depends on COMMON_CLK_DEBUG
---help---
Adds one write-one file named change_rate to each
directory, allowing the function clk_set_rate to
be called.

config COMMON_CLK_WM831X
tristate "Clock driver for WM831x/2x PMICs"
depends on MFD_WM831X
Expand Down
16 changes: 16 additions & 0 deletions drivers/clk/clk.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,16 @@ static const struct file_operations clk_dump_fops = {
.release = single_release,
};

#if CONFIG_COMMON_CLK_DEBUG_EXTRA
static int debugfs_clk_set_rate(void *data, u64 val)
{
struct clk *clk = (struct clk *) data;
return clk_set_rate(clk, (u32) val);
}

DEFINE_SIMPLE_ATTRIBUTE(fops_clk_rate_wo, NULL, debugfs_clk_set_rate, "%llu\n");
#endif /* CONFIG_COMMON_CLK_DEBUG_EXTRA */

/* caller must hold prepare_lock */
static int clk_debug_create_one(struct clk *clk, struct dentry *pdentry)
{
Expand All @@ -248,6 +258,12 @@ static int clk_debug_create_one(struct clk *clk, struct dentry *pdentry)
if (!d)
goto err_out;

#if CONFIG_COMMON_CLK_DEBUG_EXTRA
d = debugfs_create_file("change_rate", S_IWUGO, clk->dentry, clk, &fops_clk_rate_wo);
if (!d)
goto err_out;
#endif

d = debugfs_create_x32("clk_flags", S_IRUGO, clk->dentry,
(u32 *)&clk->flags);
if (!d)
Expand Down
6 changes: 4 additions & 2 deletions drivers/clk/samsung/clk-exynos4.c
Original file line number Diff line number Diff line change
Expand Up @@ -1100,11 +1100,13 @@ static void __init exynos4_clk_init(struct device_node *np,
if (exynos4_soc == EXYNOS4210)
samsung_clk_init(np, reg_base, nr_clks,
exynos4_clk_regs, ARRAY_SIZE(exynos4_clk_regs),
exynos4210_clk_save, ARRAY_SIZE(exynos4210_clk_save));
exynos4210_clk_save, ARRAY_SIZE(exynos4210_clk_save),
NULL, NULL, NULL);
else
samsung_clk_init(np, reg_base, nr_clks,
exynos4_clk_regs, ARRAY_SIZE(exynos4_clk_regs),
exynos4x12_clk_save, ARRAY_SIZE(exynos4x12_clk_save));
exynos4x12_clk_save, ARRAY_SIZE(exynos4x12_clk_save),
NULL, NULL, NULL);

samsung_clk_of_register_fixed_ext(exynos4_fixed_rate_ext_clks,
ARRAY_SIZE(exynos4_fixed_rate_ext_clks),
Expand Down
2 changes: 1 addition & 1 deletion drivers/clk/samsung/clk-exynos5250.c
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ static void __init exynos5250_clk_init(struct device_node *np)

samsung_clk_init(np, reg_base, nr_clks,
exynos5250_clk_regs, ARRAY_SIZE(exynos5250_clk_regs),
NULL, 0);
NULL, 0, NULL, NULL, NULL);
samsung_clk_of_register_fixed_ext(exynos5250_fixed_rate_ext_clks,
ARRAY_SIZE(exynos5250_fixed_rate_ext_clks),
ext_clk_match);
Expand Down
Loading