[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <da7943a6-8fcc-6c79-e54e-c8d59dacf24c@gmail.com>
Date: Mon, 24 Feb 2020 09:44:56 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: Maxime Ripard <maxime@...no.tech>,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>,
Eric Anholt <eric@...olt.net>
Cc: dri-devel@...ts.freedesktop.org,
linux-rpi-kernel@...ts.infradead.org,
bcm-kernel-feedback-list@...adcom.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Dave Stevenson <dave.stevenson@...pberrypi.com>,
Tim Gover <tim.gover@...pberrypi.com>,
Phil Elwell <phil@...pberrypi.com>,
Kamal Dasu <kdasu.kdev@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Wolfram Sang <wsa@...-dreams.de>, linux-i2c@...r.kernel.org
Subject: Re: [PATCH 03/89] i2c: brcmstb: Support BCM2711 HDMI BSC controllers
On 2/24/20 1:06 AM, Maxime Ripard wrote:
> The HDMI blocks in the BCM2771 have an i2c controller to retrieve the
> EDID. This block is split into two parts, the BSC and the AUTO_I2C,
> lying in two separate register areas.
>
> The AUTO_I2C block has a mailbox-like interface and will take away the
> BSC control from the CPU if enabled. However, the BSC is the actually
> the same controller than the one supported by the brcmstb driver, and
> the AUTO_I2C doesn't really bring any immediate benefit.
>
> Let's use the BSC then, but let's also tie the AUTO_I2C registers with a
> separate compatible so that we can enable AUTO_I2C if needed in the
> future.
>
> The AUTO_I2C is enabled by default at boot though, so we first need to
> release the BSC from the AUTO_I2C control.
>
> Cc: Kamal Dasu <kdasu.kdev@...il.com>
> Cc: Florian Fainelli <f.fainelli@...il.com>
> Cc: Wolfram Sang <wsa@...-dreams.de>
> Cc: bcm-kernel-feedback-list@...adcom.com
> Cc: linux-i2c@...r.kernel.org
> Signed-off-by: Maxime Ripard <maxime@...no.tech>
[snip]
> @@ -705,6 +737,7 @@ static SIMPLE_DEV_PM_OPS(brcmstb_i2c_pm, brcmstb_i2c_suspend,
> static const struct of_device_id brcmstb_i2c_of_match[] = {
> {.compatible = "brcm,brcmstb-i2c"},
> {.compatible = "brcm,brcmper-i2c"},
> + {.compatible = "brcm,bcm2711-hdmi-i2c"},
You could have added the bcm2711_release_bsc here as a function attached
with the of_device_id::data member of the structure and do:
if (data && data->init_func)
rc = data->init_func(dev);
But we can defer that until we have a second compatible string that
requires the same approach.
Akked-by: Florian Fainelli <f.fainelli@...il.com>
--
Florian
Powered by blists - more mailing lists