From f07e572f6447465d8938679533d604e402b0f066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 18 Feb 2021 18:04:33 +0100 Subject: bcm27xx: import latest patches from the RPi foundation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G bcm2710: boot tested on RPi 3B v1.2 bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas --- ...-i2c-brcmstb-Add-BCM2711-BSC-AUTO-I2C-bin.patch | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.4/950-0506-dt-bindings-i2c-brcmstb-Add-BCM2711-BSC-AUTO-I2C-bin.patch (limited to 'target/linux/bcm27xx/patches-5.4/950-0506-dt-bindings-i2c-brcmstb-Add-BCM2711-BSC-AUTO-I2C-bin.patch') diff --git a/target/linux/bcm27xx/patches-5.4/950-0506-dt-bindings-i2c-brcmstb-Add-BCM2711-BSC-AUTO-I2C-bin.patch b/target/linux/bcm27xx/patches-5.4/950-0506-dt-bindings-i2c-brcmstb-Add-BCM2711-BSC-AUTO-I2C-bin.patch new file mode 100644 index 0000000000..2716a13d25 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0506-dt-bindings-i2c-brcmstb-Add-BCM2711-BSC-AUTO-I2C-bin.patch @@ -0,0 +1,96 @@ +From 16a6810e521eaf24249085b93b467f7bdf8e8a47 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 17 Dec 2019 09:58:34 +0100 +Subject: [PATCH] dt-bindings: i2c: brcmstb: Add BCM2711 BSC/AUTO-I2C + binding + +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. + +We can model it in the DT as a single device with two register range, +which will allow us to use or or the other in the driver without +changing anything in the DT. + +Cc: Kamal Dasu +Cc: Wolfram Sang +Cc: bcm-kernel-feedback-list@broadcom.com +Cc: linux-i2c@vger.kernel.org +Cc: devicetree@vger.kernel.org +Acked-by: Florian Fainelli +Reviewed-by: Rob Herring +Signed-off-by: Maxime Ripard +--- + .../bindings/i2c/brcm,brcmstb-i2c.yaml | 40 ++++++++++++++++++- + 1 file changed, 39 insertions(+), 1 deletion(-) + +--- a/Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml ++++ b/Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml +@@ -15,11 +15,21 @@ allOf: + properties: + compatible: + enum: ++ - brcm,bcm2711-hdmi-i2c + - brcm,brcmstb-i2c + - brcm,brcmper-i2c + + reg: +- maxItems: 1 ++ minItems: 1 ++ maxItems: 2 ++ items: ++ - description: BSC register range ++ - description: Auto-I2C register range ++ ++ reg-names: ++ items: ++ - const: bsc ++ - const: auto-i2c + + interrupts: + maxItems: 1 +@@ -45,6 +55,26 @@ required: + + unevaluatedProperties: false + ++if: ++ properties: ++ compatible: ++ contains: ++ enum: ++ - brcm,bcm2711-hdmi-i2c ++ ++then: ++ properties: ++ reg: ++ minItems: 2 ++ ++ required: ++ - reg-names ++ ++else: ++ properties: ++ reg: ++ maxItems: 1 ++ + examples: + - | + bsca: i2c@f0406200 { +@@ -56,4 +86,12 @@ examples: + interrupt-names = "upg_bsca"; + }; + ++ - | ++ ddc0: i2c@7ef04500 { ++ compatible = "brcm,bcm2711-hdmi-i2c"; ++ reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>; ++ reg-names = "bsc", "auto-i2c"; ++ clock-frequency = <390000>; ++ }; ++ + ... -- cgit v1.2.3