mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 07:36:45 +07:00
1de20644c4
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. Signed-off-by: Maxime Ripard <maxime@cerno.tech> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
98 lines
1.6 KiB
YAML
98 lines
1.6 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/i2c/brcm,brcmstb-i2c.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom STB BSC IIC Master Controller
|
|
|
|
maintainers:
|
|
- Kamal Dasu <kdasu.kdev@gmail.com>
|
|
|
|
allOf:
|
|
- $ref: /schemas/i2c/i2c-controller.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- brcm,bcm2711-hdmi-i2c
|
|
- brcm,brcmstb-i2c
|
|
- brcm,brcmper-i2c
|
|
|
|
reg:
|
|
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
|
|
|
|
interrupt-names:
|
|
maxItems: 1
|
|
|
|
clock-frequency:
|
|
enum:
|
|
- 46875
|
|
- 50000
|
|
- 93750
|
|
- 97500
|
|
- 187500
|
|
- 200000
|
|
- 375000
|
|
- 390000
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clock-frequency
|
|
|
|
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 {
|
|
clock-frequency = <390000>;
|
|
compatible = "brcm,brcmstb-i2c";
|
|
interrupt-parent = <&irq0_intc>;
|
|
reg = <0xf0406200 0x58>;
|
|
interrupts = <0x18>;
|
|
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>;
|
|
};
|
|
|
|
...
|