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 #54

Merged
merged 64 commits into from
Jul 6, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
d7da785
Fixed the GPIO pins for the RGB LED's (the heartbeat should be
hsnaves Jun 11, 2014
b37889f
Exynos5410: PWM0 now working
hsnaves Jun 11, 2014
a4d7c7c
Added the EPLL and IPLL clocks.
hsnaves Jun 13, 2014
a5a6c8c
clk-exynos5410: Added the EPLL and IPLL clocks.
hsnaves Jun 13, 2014
420117b
DRM: exynos_hdmiphy: copied tweak from 3.4.y (by Hakjoo Kim) branch
hsnaves Jun 19, 2014
03eb452
Merge branch 'odroid-3.13.y' of https:/hsnaves/linux into…
hsnaves Jun 20, 2014
62f26e8
CHROMIUM: ASoC: samsung: add daisy_max98095.c board
Jun 11, 2012
f73288b
CHROMIUM: ASoC: samsung: HP detect plumbing for snow
Jul 19, 2012
291bb87
CHROMIUM: ASoC: samsung: Route clocks to i2s.
dgreid Jul 26, 2012
bb8ac82
CHROMIUM: ASoC: samsung: daisy_max98095 is a platform driver.
dgreid Aug 3, 2012
c751d21
CHROMIUM: ALSA: ASoC: Get snow hp/mic detect GPIOs from device tree.
dgreid Aug 8, 2012
069d75c
CHROMIUM: ASOC: Samsung: Change MAX98095 MCLK input clk
padmav16 Aug 16, 2012
6e89550
CHROMIUM: ASoC: samsung: Spring is using max98095 codec
vpalatin Nov 16, 2012
e633b6b
CHROMIUM: ASoC: Samsung: change the clock instance name
Dec 18, 2012
91f1c1a
CHROMIUM: ASoC: Samsung: I2s Instance 0 Platform name changed
Dec 18, 2012
db2cd9c
CHROMIUM: ASoC: Samsung: remove __devinit, __devexit annotations
sribconnect Jan 18, 2013
9851b8a
CHROMIUM: ALSA: ASoC: daisy - Poll gpio jacks after resume.
dgreid Sep 25, 2012
de21ebe
CHROMIUM: alsa/soc: adding support for hdmi audio to i2s card
Jan 30, 2013
2c8413f
sound: soc: exynos: Don't set jack_cb until jack is initialized
atseanpaul May 30, 2013
583c30e
CHROMIUM: ASoC: samsung: remove unused platform device
padmav16 May 17, 2013
3392b87
ASoC: max98090: add DT binding document for MAX98090 CODEC
nvswarren Dec 4, 2013
e954cd5
ASoC: hdmi-codec: Add devicetree binding with documentation
Dec 20, 2013
bfbdfe1
CHROMIUM: exynos: dts: Start sound section for daisy/snow.
dgreid Aug 3, 2012
bbc11fd
CHROMIUM: ASoC: samsung: Pass DAI link info from device tree
padmav16 May 17, 2013
aa17d9c
CHROMIUM: ASoC: samsung: Change the audio clks according to CCF
padmav16 May 20, 2013
9e734e9
CHROMIUM: ASoC: samsung: add support for Pit with max98090
abrestic Jun 6, 2013
a4a06ff
CHROMIUM: ASoC: samsung: initialize pll and audio bus clock rate
abrestic Jun 6, 2013
7c6233f
TEMP: CHROMIUM: ASoC: samsung: reparent mout_i2s for suspend/resume
abrestic Jun 11, 2013
be7351a
ASoC: samsung: fix missing return statement warning
abrestic May 14, 2013
253c4c0
ASoC: samsung: check return value of clk_set_parent()
abrestic May 14, 2013
664f229
ASoC: samsung: unregister card on probe failure
abrestic Jun 12, 2013
3c44f94
CHROMIUM: ASoC: samsung: enable MAX98089 support for Spring
vpalatin Aug 16, 2013
35597b3
[HACK] To make the previous commit work.
hsnaves Jun 30, 2014
0d6001f
CHROMIUM: alsa/soc: report hpd status after cold boot
Sep 17, 2013
f54d1e5
ASoC: samsung: Stop checking for particular boards in daisy_max98095.
Sep 20, 2013
20f5651
ASoC: samsung: Allow specifying the card name in the device tree
dianders Oct 1, 2013
a509f6e
ASoC: samsung: Add max98091 to daisy_max98095.c
Jan 28, 2014
f4210e8
ASoC: daisy_max98095: Removed unused include file, and fixed
hsnaves Jun 30, 2014
801e197
ASoC: dasy_max98095: fixed mispelling.
hsnaves Jun 30, 2014
e8edfd4
CHROMIUM: alsa/soc: ignore dvi mode bit when phy is unstable
Sep 17, 2013
0c482a6
CHROMIUM: alsa/soc: fix the bps conversion from enum to value
Jun 17, 2013
64bcb99
CHROMIUM: alsa/soc: increase wait count for hdmi poweron
Jun 17, 2013
2f3b156
CHROMIUM: alsa/soc: skip checking hdmi power status on unplug
Jun 17, 2013
fcb3d5f
CHROMIUM: alsa/soc: check phy status before configuring audio registers
Sep 17, 2013
1cf6d0d
CHROMIUM: ASoC: samsung - make hdmi_audio ignore non-playback requests.
Sep 16, 2013
b9364a3
CHROMIUM: ALSA: ASoC: exynos hdmi - disable audio in DVI mode
y-novikov May 9, 2013
715f5bb
alsa/soc: add pm callbacks to hdmi audio driver
Dec 2, 2013
b7eeaf9
CHROMIUM: alsa/soc: do not set AUI transmit when setting up infoframe
crdbehr Jan 9, 2014
80016c5
CHROMIUM: ALSA: ASoC: soc-jack - export gpio detect.
dgreid Sep 25, 2012
0b3d28f
clk: exynos5410: adding the clocks for the sound subsystem.
hsnaves Jul 1, 2014
c4568b6
clk: exynos5410: Adding clocks for the DMA
hsnaves Jul 1, 2014
aeedf43
clk: exynos5410: added the I2S1 and I2S2 clocks.
hsnaves Jul 1, 2014
2b65e59
clk: exynos5410: changed the fixed clock fin_pll.
hsnaves Jul 2, 2014
9fed435
[PATCH] ARM: EXYNOS: Update secondary boot addr for secure mode
hsnaves Jul 2, 2014
5f11b28
clk: uart3: fixed the issue with the orphan div_uart3 clock
hsnaves Jul 2, 2014
9f99708
usb-dwc3: exynos5410: order of the usb-phy was wrong.
hsnaves Jul 2, 2014
2bfc603
power: asv: exynos5410: added "chipid" clock to the ASV.
hsnaves Jul 2, 2014
ccf7aa6
usb: dwc3: exynos5410: problem with the configuration.
hsnaves Jul 2, 2014
bd4cbbc
power: asv: fixed bug with the chipid clock.
hsnaves Jul 2, 2014
d647dd4
clk: exynos-audss: convert to platform device
abrestic Sep 25, 2013
f514b3d
clk: exynos-audss: allow input clocks to be specified in device tree
abrestic Sep 25, 2013
8427df2
clk: exynos-audss: add support for Exynos 5420
abrestic Sep 25, 2013
1a8bffc
exynos5410: fixed the "asynchronous external abort" failure due
hsnaves Jul 5, 2014
6c08d00
exynos5410: added the daisy-max98095 sound card to default configurat…
hsnaves Jul 6, 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
39 changes: 35 additions & 4 deletions Documentation/devicetree/bindings/clock/clk-exynos-audss.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,29 @@ Required Properties:

- compatible: should be one of the following:
- "samsung,exynos4210-audss-clock" - controller compatible with all Exynos4 SoCs.
- "samsung,exynos5250-audss-clock" - controller compatible with all Exynos5 SoCs.

- "samsung,exynos5250-audss-clock" - controller compatible with Exynos5250
SoCs.
- "samsung,exynos5420-audss-clock" - controller compatible with Exynos5420
SoCs.
- reg: physical base address and length of the controller's register set.

- #clock-cells: should be 1.

- clocks:
- pll_ref: Fixed rate PLL reference clock, parent of mout_audss. "fin_pll"
is used if not specified.
- pll_in: Input PLL to the AudioSS block, parent of mout_audss. "fout_epll"
is used if not specified.
- cdclk: External i2s clock, parent of mout_i2s. "cdclk0" is used if not
specified.
- sclk_audio: Audio bus clock, parent of mout_i2s. "sclk_audio0" is used if
not specified.
- sclk_pcm_in: PCM clock, parent of sclk_pcm. "sclk_pcm0" is used if not
specified.

- clock-names: Aliases for the above clocks. They should be "pll_ref",
"pll_in", "cdclk", "sclk_audio", and "sclk_pcm_in" respectively.

The following is the list of clocks generated by the controller. Each clock is
assigned an identifier and client nodes use this identifier to specify the
clock which they consume. Some of the clocks are available only on a particular
Expand All @@ -34,16 +51,30 @@ i2s_bus 6
sclk_i2s 7
pcm_bus 8
sclk_pcm 9
adma 10 Exynos5420

Example 1: An example of a clock controller node using the default input
clock names is listed below.

clock_audss: audss-clock-controller@3810000 {
compatible = "samsung,exynos5250-audss-clock";
reg = <0x03810000 0x0C>;
#clock-cells = <1>;
};

Example 1: An example of a clock controller node is listed below.
Example 2: An example of a clock controller node with the input clocks
specified.

clock_audss: audss-clock-controller@3810000 {
compatible = "samsung,exynos5250-audss-clock";
reg = <0x03810000 0x0C>;
#clock-cells = <1>;
clocks = <&clock 1>, <&clock 7>, <&clock 138>, <&clock 160>,
<&ext_i2s_clk>;
clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in", "cdclk";
};

Example 2: I2S controller node that consumes the clock generated by the clock
Example 3: I2S controller node that consumes the clock generated by the clock
controller. Refer to the standard clock bindings for information
about 'clocks' and 'clock-names' property.

Expand Down
40 changes: 40 additions & 0 deletions Documentation/devicetree/bindings/sound/daisy-audio-max98095.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
Google Daisy audio complex

Required properties:
- compatible : "google,daisy-audio-max988095" or "google,daisy-audio-max98090"
- samsung,i2s-controller: Reference to the i2s controller that will be used
as the CPU DAI.
- samsung,audio-codec: Reference to the audio codec.
- clocks: List of clock handles. The following must be specified:
- fout_epll: Parent of sclk_epll
- sclk_epll: Mux to select parent of epll
- mout_audio0: Mux to select parent of sclk_audio0
- sclk_audio0: Controls gating of audio bus clock; parent of mout_i2s
- mout_audss: Mux to select parent of audio IP clock
- mout_i2s: Mux to select parent of i2s clock
- clock-names: Aliases for the above clocks. They should be "fout_epll",
"sclk_epll", "mout_audio0", "sclk_audio0", "mout_audss", and "mout_i2s",
respectively.

Optional properties:
- samsung,hp-det-gpios : The GPIO that detects when headphones are plugged in.
- samsung,mic-det-gpios : The GPIO that detects when mic is plugged in.
- card-name : The name that we'll report for the sound card. If not present
will be "DAISY-I2S".

Example:

sound {
compatible = "google,daisy-audio-max98095";

samsung,i2s-controller = <&i2s0>;
samsung,audio-codec = <&max98095>;
samsung,mic-det-gpios = <&gpx2 0 2 0 0>;
samsung,hp-det-gpios = <&gpx2 2 2 0 0>;
card-name = "DAISY-I2S-98095";
clocks = <&clock 3>, <&clock 4>, <&clock 1026>,
<&clock 138>, <&clock_audss EXYNOS_MOUT_AUDSS>,
<&clock_audss EXYNOS_MOUT_I2S>;
clock-names = "fout_epll", "sclk_epll", "mout_audio0",
"sclk_audio0", "mout_audss", "mout_i2s";
};
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/sound/hdmi.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Device-Tree bindings for dummy HDMI codec

Required properties:
- compatible: should be "linux,hdmi-audio".

CODEC output pins:
* TX

CODEC input pins:
* RX

Example node:

hdmi_audio: hdmi_audio@0 {
compatible = "linux,hdmi-audio";
status = "okay";
};
43 changes: 43 additions & 0 deletions Documentation/devicetree/bindings/sound/max98090.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
MAX98090 audio CODEC

This device supports I2C only.

Required properties:

- compatible : "maxim,max98090".

- reg : The I2C address of the device.

- interrupts : The CODEC's interrupt output.

Pins on the device (for linking into audio routes):

* MIC1
* MIC2
* DMICL
* DMICR
* IN1
* IN2
* IN3
* IN4
* IN5
* IN6
* IN12
* IN34
* IN56
* HPL
* HPR
* SPKL
* SPKR
* RCVL
* RCVR
* MICBIAS

Example:

audio-codec@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
};
110 changes: 66 additions & 44 deletions arch/arm/boot/dts/exynos5410-odroidxu.dts
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,14 @@
samsung,mfc-l = <0x51000000 0x800000>;
};

clocks {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;

fin_pll: clock-fin-pll {
compatible = "fixed-clock";
reg = <0>;
#clock-cells = <0>;
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <24000000>;
clock-output-names = "fin_pll";
};
};


mmc@12200000 {
status = "okay";
num-slots = <1>;
Expand Down Expand Up @@ -82,27 +76,27 @@
};
};

leds {
compatible = "gpio-leds";
hearbeat {
label = "red:heartbeart";
gpios = <&gpb2 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "heartbeat";
};
eMMC {
label = "green:activity";
gpios = <&gpb2 1 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc0";
};
microSD {
label = "blue:activity";
gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};
leds {
compatible = "gpio-leds";
hearbeat {
label = "red:heartbeart";
gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "heartbeat";
};
eMMC {
label = "green:activity";
gpios = <&gpb2 1 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc0";
};
microSD {
label = "blue:activity";
gpios = <&gpb2 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};

pinctrl@13400000 {
max77802_irq: max77802-irq {
Expand All @@ -125,7 +119,7 @@
};
};

pinctrl@14000000 {
pinctrl@14000000 {
usb3_overcur0_u2: usb3-overcur0-u2 {
samsung,pins = "gpk3-0";
samsung,pin-function = <2>;
Expand Down Expand Up @@ -169,11 +163,11 @@
};
};

/* ic21 */
/* i2c1 */
i2c@12C70000 {
status = "okay";
clock-frequency = <400000>;
codec@10 {
max98090: codec@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupts = <2 0>;
Expand All @@ -184,7 +178,7 @@
};
};

/* ic22 */
/* i2c2 */
i2c@12C80000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
Expand Down Expand Up @@ -234,27 +228,27 @@

hdmi {
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
hdmi-en-supply = <&fixed_regulator>;
vdd_osc-supply = <&ldo10_reg>;
vdd_pll-supply = <&ldo8_reg>;
vdd-supply = <&ldo8_reg>;
phy = <&hdmiphy>;
};

fixed_regulator: fixed_regulator@0 {
compatible = "regulator-fixed";
regulator-name = "hdmi-en";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
fixed_regulator: fixed_regulator@0 {
compatible = "regulator-fixed";
regulator-name = "hdmi-en";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};

/* hsic24 */
hsi2c@12CA0000 {
status = "okay";
samsung,hs-mode;
clock-frequency = <1000000>;
clock-frequency = <1000000>;

max77802-pmic@9 {
compatible = "maxim,max77802";
Expand Down Expand Up @@ -540,4 +534,32 @@
status = "okay";
};

hdmiphy@145D0000 {
compatible = "samsung,exynos5410-odroidxu-hdmiphy";
};


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

sound {
compatible = "google,daisy-audio-max98090";

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>,
<&clock_audss EXYNOS_MOUT_I2S>;
clock-names = "fout_epll", "sclk_epll", "mout_audio0",
"sclk_audio0", "mout_audss", "mout_i2s";
};

firmware@02073000 {
compatible = "samsung,secure-firmware";
reg = <0x02073000 0x1000>;
};


};
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/exynos5410-pinctrl.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,7 @@

pwm0_out: pwm0-out {
samsung,pins = "gpb2-0";
samsung,pin-fuction = <2>;
samsung,pin-function = <2>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
Expand Down
Loading