Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: bcm2711: Enable the display pipeline

Now that all the drivers have been adjusted for it, let's bring in the
necessary device tree changes.

The VEC and PV3 are left out for now, since it will require a more specific
clock setup.

Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/cfce2276d172d3d9c4d34d966b58fd47f77c4e46.1599120059.git-series.maxime@cerno.tech

authored by

Maxime Ripard and committed by
Nicolas Saenz Julienne
45643633 9123e3a7

+169 -1
+48
arch/arm/boot/dts/bcm2711-rpi-4-b.dts
··· 68 68 }; 69 69 }; 70 70 71 + &ddc0 { 72 + status = "okay"; 73 + }; 74 + 75 + &ddc1 { 76 + status = "okay"; 77 + }; 78 + 71 79 &firmware { 72 80 firmware_clocks: clocks { 73 81 compatible = "raspberrypi,firmware-clocks"; ··· 171 163 "RGMII_TXD3"; 172 164 }; 173 165 166 + &hdmi0 { 167 + clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>; 168 + clock-names = "hdmi", "bvb", "audio", "cec"; 169 + status = "okay"; 170 + }; 171 + 172 + &hdmi1 { 173 + clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>; 174 + clock-names = "hdmi", "bvb", "audio", "cec"; 175 + status = "okay"; 176 + }; 177 + 178 + &hvs { 179 + clocks = <&firmware_clocks 4>; 180 + }; 181 + 182 + &pixelvalve0 { 183 + status = "okay"; 184 + }; 185 + 186 + &pixelvalve1 { 187 + status = "okay"; 188 + }; 189 + 190 + &pixelvalve2 { 191 + status = "okay"; 192 + }; 193 + 194 + &pixelvalve4 { 195 + status = "okay"; 196 + }; 197 + 174 198 &pwm1 { 175 199 pinctrl-names = "default"; 176 200 pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>; ··· 270 230 271 231 &vchiq { 272 232 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 233 + }; 234 + 235 + &vc4 { 236 + status = "okay"; 237 + }; 238 + 239 + &vec { 240 + status = "disabled"; 273 241 };
+121 -1
arch/arm/boot/dts/bcm2711.dtsi
··· 12 12 13 13 interrupt-parent = <&gicv2>; 14 14 15 + vc4: gpu { 16 + compatible = "brcm,bcm2711-vc5"; 17 + status = "disabled"; 18 + }; 19 + 20 + clk_27MHz: clk-27M { 21 + #clock-cells = <0>; 22 + compatible = "fixed-clock"; 23 + clock-frequency = <27000000>; 24 + clock-output-names = "27MHz-clock"; 25 + }; 26 + 15 27 clk_108MHz: clk-108M { 16 28 #clock-cells = <0>; 17 29 compatible = "fixed-clock"; ··· 250 238 status = "disabled"; 251 239 }; 252 240 241 + pixelvalve0: pixelvalve@7e206000 { 242 + compatible = "brcm,bcm2711-pixelvalve0"; 243 + reg = <0x7e206000 0x100>; 244 + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 245 + status = "disabled"; 246 + }; 247 + 248 + pixelvalve1: pixelvalve@7e207000 { 249 + compatible = "brcm,bcm2711-pixelvalve1"; 250 + reg = <0x7e207000 0x100>; 251 + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 252 + status = "disabled"; 253 + }; 254 + 255 + pixelvalve2: pixelvalve@7e20a000 { 256 + compatible = "brcm,bcm2711-pixelvalve2"; 257 + reg = <0x7e20a000 0x100>; 258 + interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 259 + status = "disabled"; 260 + }; 261 + 253 262 pwm1: pwm@7e20c800 { 254 263 compatible = "brcm,bcm2835-pwm"; 255 264 reg = <0x7e20c800 0x28>; ··· 281 248 status = "disabled"; 282 249 }; 283 250 284 - hvs@7e400000 { 251 + pixelvalve4: pixelvalve@7e216000 { 252 + compatible = "brcm,bcm2711-pixelvalve4"; 253 + reg = <0x7e216000 0x100>; 254 + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 255 + status = "disabled"; 256 + }; 257 + 258 + hvs: hvs@7e400000 { 259 + compatible = "brcm,bcm2711-hvs"; 285 260 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 261 + }; 262 + 263 + pixelvalve3: pixelvalve@7ec12000 { 264 + compatible = "brcm,bcm2711-pixelvalve3"; 265 + reg = <0x7ec12000 0x100>; 266 + interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 267 + status = "disabled"; 286 268 }; 287 269 288 270 dvp: clock@7ef00000 { ··· 306 258 clocks = <&clk_108MHz>; 307 259 #clock-cells = <1>; 308 260 #reset-cells = <1>; 261 + }; 262 + 263 + hdmi0: hdmi@7ef00700 { 264 + compatible = "brcm,bcm2711-hdmi0"; 265 + reg = <0x7ef00700 0x300>, 266 + <0x7ef00300 0x200>, 267 + <0x7ef00f00 0x80>, 268 + <0x7ef00f80 0x80>, 269 + <0x7ef01b00 0x200>, 270 + <0x7ef01f00 0x400>, 271 + <0x7ef00200 0x80>, 272 + <0x7ef04300 0x100>, 273 + <0x7ef20000 0x100>; 274 + reg-names = "hdmi", 275 + "dvp", 276 + "phy", 277 + "rm", 278 + "packet", 279 + "metadata", 280 + "csc", 281 + "cec", 282 + "hd"; 283 + clock-names = "hdmi", "bvb", "audio", "cec"; 284 + resets = <&dvp 0>; 285 + ddc = <&ddc0>; 286 + dmas = <&dma 10>; 287 + dma-names = "audio-rx"; 288 + status = "disabled"; 289 + }; 290 + 291 + ddc0: i2c@7ef04500 { 292 + compatible = "brcm,bcm2711-hdmi-i2c"; 293 + reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>; 294 + reg-names = "bsc", "auto-i2c"; 295 + clock-frequency = <97500>; 296 + status = "disabled"; 297 + }; 298 + 299 + hdmi1: hdmi@7ef05700 { 300 + compatible = "brcm,bcm2711-hdmi1"; 301 + reg = <0x7ef05700 0x300>, 302 + <0x7ef05300 0x200>, 303 + <0x7ef05f00 0x80>, 304 + <0x7ef05f80 0x80>, 305 + <0x7ef06b00 0x200>, 306 + <0x7ef06f00 0x400>, 307 + <0x7ef00280 0x80>, 308 + <0x7ef09300 0x100>, 309 + <0x7ef20000 0x100>; 310 + reg-names = "hdmi", 311 + "dvp", 312 + "phy", 313 + "rm", 314 + "packet", 315 + "metadata", 316 + "csc", 317 + "cec", 318 + "hd"; 319 + ddc = <&ddc1>; 320 + clock-names = "hdmi", "bvb", "audio", "cec"; 321 + resets = <&dvp 1>; 322 + dmas = <&dma 17>; 323 + dma-names = "audio-rx"; 324 + status = "disabled"; 325 + }; 326 + 327 + ddc1: i2c@7ef09500 { 328 + compatible = "brcm,bcm2711-hdmi-i2c"; 329 + reg = <0x7ef09500 0x100>, <0x7ef05b00 0x300>; 330 + reg-names = "bsc", "auto-i2c"; 331 + clock-frequency = <97500>; 332 + status = "disabled"; 309 333 }; 310 334 }; 311 335