[PATCH 1/2] drm/exynos: hdmi: Add support for Exynos7 HDMI
Andrzej Hajda
a.hajda at samsung.com
Wed Mar 4 01:00:00 PST 2015
On 03/02/2015 09:40 AM, Ajay kumar wrote:
> Hi Andrej,
>
> On Fri, Feb 27, 2015 at 4:18 PM, Andrzej Hajda <a.hajda at samsung.com> wrote:
>> Hi Ajay,
>>
>> Thanks for the patch.
> Thanks for reviewing the patch.
>
>> On 02/26/2015 04:24 PM, Ajay Kumar wrote:
>>> Modify the exynos HDMI driver to support Exynos7 HDMI 1.4.
>>> * Add phy configs for Exynos7.
>>> * Exynos7 has a different clock structure for HDMI,
>>> so introduce the new clocks.
>>> * Add sysreg support to enable HDMI SYSREG on Exynos7.
>>> * Exynos7 based boards need a DCDC_EN and LS_EN pins
>>> for powering up HDMI. Add support for that too.
>>>
>>> Signed-off-by: Ajay Kumar <ajaykumar.rs at samsung.com>
>>> ---
>>> .../devicetree/bindings/video/exynos_hdmi.txt | 21 +-
>>> drivers/gpu/drm/exynos/exynos_hdmi.c | 252 ++++++++++++++++----
>>> drivers/gpu/drm/exynos/regs-hdmi.h | 4 +
>>> 3 files changed, 231 insertions(+), 46 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/video/exynos_hdmi.txt b/Documentation/devicetree/bindings/video/exynos_hdmi.txt
>>> index 1fd8cf9..bb22a60 100644
>>> --- a/Documentation/devicetree/bindings/video/exynos_hdmi.txt
>>> +++ b/Documentation/devicetree/bindings/video/exynos_hdmi.txt
>>> @@ -6,6 +6,7 @@ Required properties:
>>> 2) "samsung,exynos4210-hdmi"
>>> 3) "samsung,exynos4212-hdmi"
>>> 4) "samsung,exynos5420-hdmi"
>>> + 5) "samsung,exynos7-hdmi"
>> Why not "samsung,exynos7420-hdmi" ?
>> What compatible will you use for Exynos7430 or higher chip number?
> I will leave this decision to Inki Dae or Kukjin.
>
>>> - reg: physical base address of the hdmi and length of memory mapped
>>> region.
>>> - interrupts: interrupt number to the cpu.
>>> @@ -15,21 +16,33 @@ Required properties:
>>> c) optional flags and pull up/down.
>>> - clocks: list of clock IDs from SoC clock driver.
>>> a) hdmi: Gate of HDMI IP bus clock.
>>> - b) sclk_hdmi: Gate of HDMI special clock.
>>> - c) sclk_pixel: Pixel special clock, one of the two possible inputs of
>>> + HDMI clocks necessary for non exynos7:
>>> + b) sclk_hdmi: Gate of HDMI special clock.
>>> + c) sclk_pixel: Pixel special clock, one of the two possible inputs of
>>> HDMI clock mux.
>>> - d) sclk_hdmiphy: HDMI PHY clock output, one of two possible inputs of
>>> + d) sclk_hdmiphy: HDMI PHY clock output, one of two possible inputs of
>>> HDMI clock mux.
>>> - e) mout_hdmi: It is required by the driver to switch between the 2
>>> + e) mout_hdmi: It is required by the driver to switch between the 2
>>> parents i.e. sclk_pixel and sclk_hdmiphy. If hdmiphy is stable
>>> after configuration, parent is set to sclk_hdmiphy else
>>> sclk_pixel.
>>> + HDMI clocks necessary for Exynos7:
>>> + b) pclk_hdmiphy: Gate to HDMIPHY clock.
>> According to specs there is also pclk_hdmi, why do you specify only this
>> one?
> Right, I have reused "hdmi" gating clock for pclk_hdmi. That is why I have
> left "hdmi" clock as common for exynos7 and non-exynos7.
IMO it would be better to use separate entry for pclk_hdmi.
>>> + c) hdmi_pixel: Gate clock of MUX output for I_PIXEL_CLK.
>>> + d) hdmi_tmds: Gate clock of MUX output for I_TMDS_CLK.
>> According to specs these clocks should be named i_pixel_clk and
>> i_tmds_clk, shouldn't they?
> I actually took these changes from an "internal" code(non-DRM).
> The original author used these names, and I just carried the same names. :)
>
>>> - clock-names: aliases as per driver requirements for above clock IDs:
>>> "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi".
>>> - ddc: phandle to the hdmi ddc node
>>> - phy: phandle to the hdmi phy node
>>> - samsung,syscon-phandle: phandle for system controller node for PMU.
>>>
>>> +Only for Exynos7(when compatible = "samsung,exynos7-hdmi"):
>>> +- samsung,sysreg-phandle: phandle for system controller node for SYSREG block.
>>> +
>>> +Optional properties:
>>> +- dcdc-gpios: OF device-tree gpio specification for HDMI_DCDC_EN pin.
>>> +- lsen-gpios: OF device-tree gpio specification for HDMI_LS_EN pin.
>> What is purpose of these gpios?
> These 2 GPIOs need to be enabled to powerup HDMI on exynos7-espresso board.
> Other boards need not provide the GPIO.
HDMI is internal IP of SoC, so it is rather not configurable via pins.
Pin names suggests they are for DC-DC converter and level shifter, I guess
these are for HDMI connector, not the HDMI IP, am I right?
Maybe better option is to use pinctrl for these gpios, or use gpio
regulator, hard
to guess without documentation.
Regards
Andrzej
More information about the dri-devel
mailing list