All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Anholt <eric@anholt.net>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rpi-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Lee Jones <lee@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 6/7] ARM: bcm2835: Add the DDC I2C controller to the device tree.
Date: Mon, 17 Aug 2015 11:35:30 -0700	[thread overview]
Message-ID: <871tf1wyod.fsf@eliezer.anholt.net> (raw)
In-Reply-To: <55CEC567.109@wwwdotorg.org>

[-- Attachment #1: Type: text/plain, Size: 1489 bytes --]

Stephen Warren <swarren@wwwdotorg.org> writes:

> On 08/12/2015 06:56 PM, Eric Anholt wrote:
>> We need to use it for getting video modes over HDMI.
>
>> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
>
>> +		i2c2: i2c@7e805000 {
>> +			compatible = "brcm,bcm2835-i2c";
>> +			reg = <0x7e805000 0x1000>;
>> +			interrupts = <2 21>;
>> +			clocks = <&clk_i2c>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +		};
>
> In an SoC .dtsi file, you'd typically write:
>
> 	status = "disabled";
>
> ... in all nodes that represent IO controllers that interface to
> external HW, so that board DT files can/must explicitly choose to enable
> the device if it's actually in use on the board. Some systems might not
> have HDMI and hence might not hook up the HDMI_SCL/SDA pads.
>
> BCM2835-ARM-Peripherals.pdf states "Note that the BSC2 master is used
> dedicated with the HDMI interface and should not be accessed by user
> programs.". Does this imply the Linux kernel shouldn't be touching this
> I2C controller; that the VC4 firmware might also be attempting to use
> it? I wonder how any such sharing of the HW would work.

In order for *any* of this driver to work, we need to ensure that the
firmware doesn't try to write to the corresponding part of the hardware.
DDC I2C is no different.  All that will cause the firmware to do
anything with display is generating mbox/dispmanx requests (through the
firmware driver), and the undervoltage warnings.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Eric Anholt <eric@anholt.net>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: devicetree@vger.kernel.org, Lee Jones <lee@kernel.org>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-rpi-kernel@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 6/7] ARM: bcm2835: Add the DDC I2C controller to the device tree.
Date: Mon, 17 Aug 2015 11:35:30 -0700	[thread overview]
Message-ID: <871tf1wyod.fsf@eliezer.anholt.net> (raw)
In-Reply-To: <55CEC567.109@wwwdotorg.org>


[-- Attachment #1.1: Type: text/plain, Size: 1489 bytes --]

Stephen Warren <swarren@wwwdotorg.org> writes:

> On 08/12/2015 06:56 PM, Eric Anholt wrote:
>> We need to use it for getting video modes over HDMI.
>
>> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
>
>> +		i2c2: i2c@7e805000 {
>> +			compatible = "brcm,bcm2835-i2c";
>> +			reg = <0x7e805000 0x1000>;
>> +			interrupts = <2 21>;
>> +			clocks = <&clk_i2c>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +		};
>
> In an SoC .dtsi file, you'd typically write:
>
> 	status = "disabled";
>
> ... in all nodes that represent IO controllers that interface to
> external HW, so that board DT files can/must explicitly choose to enable
> the device if it's actually in use on the board. Some systems might not
> have HDMI and hence might not hook up the HDMI_SCL/SDA pads.
>
> BCM2835-ARM-Peripherals.pdf states "Note that the BSC2 master is used
> dedicated with the HDMI interface and should not be accessed by user
> programs.". Does this imply the Linux kernel shouldn't be touching this
> I2C controller; that the VC4 firmware might also be attempting to use
> it? I wonder how any such sharing of the HW would work.

In order for *any* of this driver to work, we need to ensure that the
firmware doesn't try to write to the corresponding part of the hardware.
DDC I2C is no different.  All that will cause the firmware to do
anything with display is generating mbox/dispmanx requests (through the
firmware driver), and the undervoltage warnings.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: eric@anholt.net (Eric Anholt)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/7] ARM: bcm2835: Add the DDC I2C controller to the device tree.
Date: Mon, 17 Aug 2015 11:35:30 -0700	[thread overview]
Message-ID: <871tf1wyod.fsf@eliezer.anholt.net> (raw)
In-Reply-To: <55CEC567.109@wwwdotorg.org>

Stephen Warren <swarren@wwwdotorg.org> writes:

> On 08/12/2015 06:56 PM, Eric Anholt wrote:
>> We need to use it for getting video modes over HDMI.
>
>> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
>
>> +		i2c2: i2c at 7e805000 {
>> +			compatible = "brcm,bcm2835-i2c";
>> +			reg = <0x7e805000 0x1000>;
>> +			interrupts = <2 21>;
>> +			clocks = <&clk_i2c>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +		};
>
> In an SoC .dtsi file, you'd typically write:
>
> 	status = "disabled";
>
> ... in all nodes that represent IO controllers that interface to
> external HW, so that board DT files can/must explicitly choose to enable
> the device if it's actually in use on the board. Some systems might not
> have HDMI and hence might not hook up the HDMI_SCL/SDA pads.
>
> BCM2835-ARM-Peripherals.pdf states "Note that the BSC2 master is used
> dedicated with the HDMI interface and should not be accessed by user
> programs.". Does this imply the Linux kernel shouldn't be touching this
> I2C controller; that the VC4 firmware might also be attempting to use
> it? I wonder how any such sharing of the HW would work.

In order for *any* of this driver to work, we need to ensure that the
firmware doesn't try to write to the corresponding part of the hardware.
DDC I2C is no different.  All that will cause the firmware to do
anything with display is generating mbox/dispmanx requests (through the
firmware driver), and the undervoltage warnings.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150817/39e1921f/attachment-0001.sig>

  reply	other threads:[~2015-08-17 18:35 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-13  0:56 Raspberry Pi KMS-only driver Eric Anholt
2015-08-13  0:56 ` Eric Anholt
2015-08-13  0:56 ` Eric Anholt
2015-08-13  0:56 ` [PATCH 1/7] drm/vc4: Add devicetree bindings for VC4 Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-15  4:38   ` Stephen Warren
2015-08-15  4:38     ` Stephen Warren
2015-08-17 18:30     ` Eric Anholt
2015-08-17 18:30       ` Eric Anholt
2015-08-17 18:30       ` Eric Anholt
2015-08-24 13:47       ` Rob Herring
2015-08-24 13:47         ` Rob Herring
2015-08-24 13:47         ` Rob Herring
2015-08-25 20:42         ` Rob Clark
2015-08-25 20:42           ` Rob Clark
2015-08-25 20:42           ` Rob Clark
2015-08-25 23:22           ` Rob Herring
2015-08-25 23:22             ` Rob Herring
2015-08-25 23:22             ` Rob Herring
2015-08-26 11:52           ` Daniel Vetter
2015-08-26 11:52             ` Daniel Vetter
2015-08-26 11:52             ` Daniel Vetter
2015-08-26 12:09             ` Thierry Reding
2015-08-26 12:09               ` Thierry Reding
2015-08-26 12:09               ` Thierry Reding
2015-08-26 14:30               ` Rob Herring
2015-08-26 14:30                 ` Rob Herring
2015-08-26 14:30                 ` Rob Herring
2015-08-26 20:59                 ` Dave Airlie
2015-08-26 20:59                   ` Dave Airlie
2015-08-26 20:59                   ` Dave Airlie
2015-08-27  0:35                   ` Rob Herring
2015-08-27  0:35                     ` Rob Herring
2015-08-27  0:35                     ` Rob Herring
2015-08-26 11:51     ` Thierry Reding
2015-08-26 11:51       ` Thierry Reding
2015-08-26 11:51       ` Thierry Reding
2015-08-24 13:56   ` Rob Herring
2015-08-24 13:56     ` Rob Herring
2015-08-24 13:56     ` Rob Herring
2015-08-13  0:56 ` [PATCH 2/7] MAINTAINERS: Add myself for the new VC4 (RPi GPU) graphics driver Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-15  4:39   ` Stephen Warren
2015-08-15  4:39     ` Stephen Warren
2015-08-15  4:39     ` Stephen Warren
2015-08-17 18:47     ` Eric Anholt
2015-08-17 18:47       ` Eric Anholt
2015-08-17 18:47       ` Eric Anholt
2015-08-13  0:56 ` [PATCH 3/7] drm/vc4: Add KMS support for Raspberry Pi Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  7:51   ` Daniel Vetter
2015-08-13  7:51     ` Daniel Vetter
2015-08-13  7:51     ` Daniel Vetter
2015-08-13 20:44     ` Eric Anholt
2015-08-13 20:44       ` Eric Anholt
2015-08-13 20:44       ` Eric Anholt
2015-08-13 21:17       ` Daniel Vetter
2015-08-13 21:17         ` Daniel Vetter
2015-08-13 21:17         ` Daniel Vetter
2015-08-18 20:56         ` Eric Anholt
2015-08-18 20:56           ` Eric Anholt
2015-08-18 20:56           ` Eric Anholt
2015-08-13 21:29       ` Russell King - ARM Linux
2015-08-13 21:29         ` Russell King - ARM Linux
2015-08-13 21:29         ` Russell King - ARM Linux
2015-08-13 23:03         ` Eric Anholt
2015-08-13 23:03           ` Eric Anholt
2015-08-13 23:03           ` Eric Anholt
2015-08-13 11:45   ` Emil Velikov
2015-08-13 11:45     ` Emil Velikov
2015-08-13 11:45     ` Emil Velikov
2015-08-15  4:45   ` Stephen Warren
2015-08-15  4:45     ` Stephen Warren
2015-08-15  4:45     ` Stephen Warren
2015-08-17 17:56     ` Eric Anholt
2015-08-17 17:56       ` Eric Anholt
2015-08-17 17:56       ` Eric Anholt
2015-08-13  0:56 ` [PATCH 4/7] drm/vc4: Use the fbdev_cma helpers Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56 ` [PATCH 5/7] drm/vc4: Allow vblank to be disabled Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56 ` [PATCH 6/7] ARM: bcm2835: Add the DDC I2C controller to the device tree Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-15  4:51   ` Stephen Warren
2015-08-15  4:51     ` Stephen Warren
2015-08-15  4:51     ` Stephen Warren
2015-08-17 18:35     ` Eric Anholt [this message]
2015-08-17 18:35       ` Eric Anholt
2015-08-17 18:35       ` Eric Anholt
2015-08-13  0:56 ` [PATCH 7/7] ARM: bcm2835: Add VC4 " Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-13  0:56   ` Eric Anholt
2015-08-15  4:54   ` Stephen Warren
2015-08-15  4:54     ` Stephen Warren
2015-08-15  4:54     ` Stephen Warren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871tf1wyod.fsf@eliezer.anholt.net \
    --to=eric@anholt.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=lee@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=swarren@wwwdotorg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.