[v3,7/7] ARM: bcm2835: Add VC4 to the device tree.
diff mbox

Message ID 1444426068-15817-8-git-send-email-eric@anholt.net
State New
Headers show

Commit Message

Eric Anholt Oct. 9, 2015, 9:27 p.m. UTC
VC4 is the GPU (display and 3D) present on the 2835.

Signed-off-by: Eric Anholt <eric@anholt.net>
---

v2: Sort by register address, mark HDMI as disabled by default in the
    SoC file and enable it from -rpi.

v3: Add references to the pixel/HSM clocks for HDMI.  Rename
    compatibility strings and clean up node names.

 arch/arm/boot/dts/bcm2835-rpi.dtsi |  4 ++++
 arch/arm/boot/dts/bcm2835.dtsi     | 42 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)

Comments

Stefan Wahren Oct. 11, 2015, 2:23 p.m. UTC | #1
Am 09.10.2015 um 23:27 schrieb Eric Anholt:
> VC4 is the GPU (display and 3D) present on the 2835.
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---
>
> v2: Sort by register address, mark HDMI as disabled by default in the
>      SoC file and enable it from -rpi.
>
> v3: Add references to the pixel/HSM clocks for HDMI.  Rename
>      compatibility strings and clean up node names.
>
>   arch/arm/boot/dts/bcm2835-rpi.dtsi |  4 ++++
>   arch/arm/boot/dts/bcm2835.dtsi     | 42 ++++++++++++++++++++++++++++++++++++++
>   2 files changed, 46 insertions(+)
>
> diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
> index 3572f03..dcaaee2 100644
> --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
> +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
> @@ -56,6 +56,10 @@
>   	status = "okay";
>   };
>
> +&hdmi {
> +	status = "okay";
> +};
> +
>   &sdhci {
>   	status = "okay";
>   	bus-width = <4>;
> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
> index 1e61eb7..21e354a9 100644
> --- a/arch/arm/boot/dts/bcm2835.dtsi
> +++ b/arch/arm/boot/dts/bcm2835.dtsi
> @@ -1,4 +1,5 @@
>   #include <dt-bindings/pinctrl/bcm2835.h>
> +#include <dt-bindings/gpio/gpio.h>
>   #include <dt-bindings/clock/bcm2835.h>
>   #include "skeleton.dtsi"
>
> @@ -149,6 +150,18 @@
>   			status = "disabled";
>   		};
>
> +		pixelvalve@7e206000 {
> +			compatible = "brcm,bcm2835-pixelvalve0";
> +			reg = <0x7e206000 0x100>;
> +			interrupts = <2 13>; /* pwa2 */

According to BCM2835-ARM-Peripherals this should be pwa0.

Is it just a typo?
What does pwa mean?

> +		};
> +
> +		pixelvalve@7e207000 {
> +			compatible = "brcm,bcm2835-pixelvalve1";
> +			reg = <0x7e207000 0x100>;
> +			interrupts = <2 14>; /* pwa1 */
> +		};
> +

Thanks

Stefan
Eric Anholt Oct. 12, 2015, 8:57 p.m. UTC | #2
Stefan Wahren <info@lategoodbye.de> writes:

> Am 09.10.2015 um 23:27 schrieb Eric Anholt:
>> VC4 is the GPU (display and 3D) present on the 2835.
>>
>> Signed-off-by: Eric Anholt <eric@anholt.net>
>> ---
>>
>> v2: Sort by register address, mark HDMI as disabled by default in the
>>      SoC file and enable it from -rpi.
>>
>> v3: Add references to the pixel/HSM clocks for HDMI.  Rename
>>      compatibility strings and clean up node names.
>>
>>   arch/arm/boot/dts/bcm2835-rpi.dtsi |  4 ++++
>>   arch/arm/boot/dts/bcm2835.dtsi     | 42 ++++++++++++++++++++++++++++++++++++++
>>   2 files changed, 46 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
>> index 3572f03..dcaaee2 100644
>> --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
>> +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
>> @@ -56,6 +56,10 @@
>>   	status = "okay";
>>   };
>>
>> +&hdmi {
>> +	status = "okay";
>> +};
>> +
>>   &sdhci {
>>   	status = "okay";
>>   	bus-width = <4>;
>> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
>> index 1e61eb7..21e354a9 100644
>> --- a/arch/arm/boot/dts/bcm2835.dtsi
>> +++ b/arch/arm/boot/dts/bcm2835.dtsi
>> @@ -1,4 +1,5 @@
>>   #include <dt-bindings/pinctrl/bcm2835.h>
>> +#include <dt-bindings/gpio/gpio.h>
>>   #include <dt-bindings/clock/bcm2835.h>
>>   #include "skeleton.dtsi"
>>
>> @@ -149,6 +150,18 @@
>>   			status = "disabled";
>>   		};
>>
>> +		pixelvalve@7e206000 {
>> +			compatible = "brcm,bcm2835-pixelvalve0";
>> +			reg = <0x7e206000 0x100>;
>> +			interrupts = <2 13>; /* pwa2 */
>
> According to BCM2835-ARM-Peripherals this should be pwa0.
>
> Is it just a typo?
> What does pwa mean?

Just a typo.  I don't know what pwa means, either, it's just a string so
you can search for it in the docs.

Patch
diff mbox

diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index 3572f03..dcaaee2 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -56,6 +56,10 @@ 
 	status = "okay";
 };
 
+&hdmi {
+	status = "okay";
+};
+
 &sdhci {
 	status = "okay";
 	bus-width = <4>;
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index 1e61eb7..21e354a9 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -1,4 +1,5 @@ 
 #include <dt-bindings/pinctrl/bcm2835.h>
+#include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/clock/bcm2835.h>
 #include "skeleton.dtsi"
 
@@ -149,6 +150,18 @@ 
 			status = "disabled";
 		};
 
+		pixelvalve@7e206000 {
+			compatible = "brcm,bcm2835-pixelvalve0";
+			reg = <0x7e206000 0x100>;
+			interrupts = <2 13>; /* pwa2 */
+		};
+
+		pixelvalve@7e207000 {
+			compatible = "brcm,bcm2835-pixelvalve1";
+			reg = <0x7e207000 0x100>;
+			interrupts = <2 14>; /* pwa1 */
+		};
+
 		sdhci: sdhci@7e300000 {
 			compatible = "brcm,bcm2835-sdhci";
 			reg = <0x7e300000 0x100>;
@@ -157,6 +170,12 @@ 
 			status = "disabled";
 		};
 
+		hvs@7e400000 {
+			compatible = "brcm,bcm2835-hvs";
+			reg = <0x7e400000 0x6000>;
+			interrupts = <2 1>;
+		};
+
 		i2c1: i2c@7e804000 {
 			compatible = "brcm,bcm2835-i2c";
 			reg = <0x7e804000 0x1000>;
@@ -177,6 +196,25 @@ 
 			status = "disabled";
 		};
 
+		pixelvalve@7e807000 {
+			compatible = "brcm,bcm2835-pixelvalve2";
+			reg = <0x7e807000 0x100>;
+			interrupts = <2 10>; /* pixelvalve */
+		};
+
+		hdmi: hdmi@7e902000 {
+			compatible = "brcm,bcm2835-hdmi";
+			reg = <0x7e902000 0x600>,
+			      <0x7e808000 0x100>;
+			interrupts = <2 8>, <2 9>;
+			ddc = <&i2c2>;
+			hpd-gpio = <&gpio 46 GPIO_ACTIVE_HIGH>;
+			clocks = <&clocks BCM2835_PLLH_PIX>,
+				 <&clocks BCM2835_CLOCK_HSM>;
+			clock-names = "pixel", "hdmi";
+			status = "disabled";
+		};
+
 		usb@7e980000 {
 			compatible = "brcm,bcm2835-usb";
 			reg = <0x7e980000 0x10000>;
@@ -186,6 +224,10 @@ 
 		arm-pmu {
 			compatible = "arm,arm1176-pmu";
 		};
+
+		vc4: gpu@7e4c0000 {
+			compatible = "brcm,bcm2835-vc4";
+		};
 	};
 
 	clocks {