1*2c4059f5SKory Maincent (TI)// SPDX-License-Identifier: GPL-2.0-only 2*2c4059f5SKory Maincent (TI)/* 3*2c4059f5SKory Maincent (TI) * 2017 Copyright (c) Seeed Technology Inc. All right reserved. 4*2c4059f5SKory Maincent (TI) * Author: Baozhu Zuo <zuobaozhu@gmail.com> 5*2c4059f5SKory Maincent (TI) * Copyright (c) Bootlin 2026 6*2c4059f5SKory Maincent (TI) * 7*2c4059f5SKory Maincent (TI) * This device tree overlay is compatible with the BeagleBone Black, Green 8*2c4059f5SKory Maincent (TI) * and their subversions. 9*2c4059f5SKory Maincent (TI) */ 10*2c4059f5SKory Maincent (TI) 11*2c4059f5SKory Maincent (TI)/dts-v1/; 12*2c4059f5SKory Maincent (TI)/plugin/; 13*2c4059f5SKory Maincent (TI) 14*2c4059f5SKory Maincent (TI)#include <dt-bindings/pinctrl/am33xx.h> 15*2c4059f5SKory Maincent (TI)#include <dt-bindings/interrupt-controller/irq.h> 16*2c4059f5SKory Maincent (TI) 17*2c4059f5SKory Maincent (TI)&{/} { 18*2c4059f5SKory Maincent (TI) hdmi0: connector-hdmi { 19*2c4059f5SKory Maincent (TI) compatible = "hdmi-connector"; 20*2c4059f5SKory Maincent (TI) label = "hdmi"; 21*2c4059f5SKory Maincent (TI) type = "a"; 22*2c4059f5SKory Maincent (TI) port { 23*2c4059f5SKory Maincent (TI) hdmi_connector_in: endpoint { 24*2c4059f5SKory Maincent (TI) remote-endpoint = <&it66121_out>; 25*2c4059f5SKory Maincent (TI) }; 26*2c4059f5SKory Maincent (TI) }; 27*2c4059f5SKory Maincent (TI) }; 28*2c4059f5SKory Maincent (TI) 29*2c4059f5SKory Maincent (TI) clk_mcasp0_fixed: clk-mcasp0-fixed { 30*2c4059f5SKory Maincent (TI) #clock-cells = <0>; 31*2c4059f5SKory Maincent (TI) compatible = "fixed-clock"; 32*2c4059f5SKory Maincent (TI) clock-frequency = <24576000>; 33*2c4059f5SKory Maincent (TI) }; 34*2c4059f5SKory Maincent (TI) 35*2c4059f5SKory Maincent (TI) clk_mcasp0: clk-mcasp0 { 36*2c4059f5SKory Maincent (TI) #clock-cells = <0>; 37*2c4059f5SKory Maincent (TI) compatible = "gpio-gate-clock"; 38*2c4059f5SKory Maincent (TI) clocks = <&clk_mcasp0_fixed>; 39*2c4059f5SKory Maincent (TI) enable-gpios = <&gpio1 27 0>; 40*2c4059f5SKory Maincent (TI) }; 41*2c4059f5SKory Maincent (TI) 42*2c4059f5SKory Maincent (TI) sound { 43*2c4059f5SKory Maincent (TI) compatible = "simple-audio-card"; 44*2c4059f5SKory Maincent (TI) simple-audio-card,name = "TI BeagleBone Green HDMI cape"; 45*2c4059f5SKory Maincent (TI) simple-audio-card,format = "i2s"; 46*2c4059f5SKory Maincent (TI) simple-audio-card,bitclock-master = <&sound_master>; 47*2c4059f5SKory Maincent (TI) simple-audio-card,frame-master = <&sound_master>; 48*2c4059f5SKory Maincent (TI) 49*2c4059f5SKory Maincent (TI) sound_master: simple-audio-card,cpu { 50*2c4059f5SKory Maincent (TI) sound-dai = <&mcasp0>; 51*2c4059f5SKory Maincent (TI) clocks = <&clk_mcasp0>; 52*2c4059f5SKory Maincent (TI) }; 53*2c4059f5SKory Maincent (TI) 54*2c4059f5SKory Maincent (TI) simple-audio-card,codec { 55*2c4059f5SKory Maincent (TI) sound-dai = <&it66121>; 56*2c4059f5SKory Maincent (TI) }; 57*2c4059f5SKory Maincent (TI) }; 58*2c4059f5SKory Maincent (TI)}; 59*2c4059f5SKory Maincent (TI) 60*2c4059f5SKory Maincent (TI)&am33xx_pinmux { 61*2c4059f5SKory Maincent (TI) bb_lcd_pins: pinmux-bb-lcd-pins { 62*2c4059f5SKory Maincent (TI) pinctrl-single,pins = < 63*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PIN_OUTPUT, MUX_MODE0) 64*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PIN_OUTPUT, MUX_MODE0) 65*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PIN_OUTPUT, MUX_MODE0) 66*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PIN_OUTPUT, MUX_MODE0) 67*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PIN_OUTPUT, MUX_MODE0) 68*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PIN_OUTPUT, MUX_MODE0) 69*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PIN_OUTPUT, MUX_MODE0) 70*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PIN_OUTPUT, MUX_MODE0) 71*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT, MUX_MODE0) 72*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_OUTPUT, MUX_MODE0) 73*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PIN_OUTPUT, MUX_MODE0) 74*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PIN_OUTPUT, MUX_MODE0) 75*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PIN_OUTPUT, MUX_MODE0) 76*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PIN_OUTPUT, MUX_MODE0) 77*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PIN_OUTPUT, MUX_MODE0) 78*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PIN_OUTPUT, MUX_MODE0) 79*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT, MUX_MODE0) 80*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_OUTPUT, MUX_MODE0) 81*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT, MUX_MODE0) 82*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT, MUX_MODE0) 83*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT_PULLDOWN, MUX_MODE7) 84*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLDOWN, MUX_MODE7) 85*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_INPUT, MUX_MODE7) 86*2c4059f5SKory Maincent (TI) >; 87*2c4059f5SKory Maincent (TI) }; 88*2c4059f5SKory Maincent (TI) mcasp0_pins: mcasp0-pins { 89*2c4059f5SKory Maincent (TI) pinctrl-single,pins = < 90*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKX, PIN_INPUT_PULLUP, MUX_MODE0) 91*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE2) 92*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_OUTPUT_PULLUP, MUX_MODE0) 93*2c4059f5SKory Maincent (TI) AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKX, PIN_OUTPUT_PULLDOWN, MUX_MODE0) 94*2c4059f5SKory Maincent (TI) >; 95*2c4059f5SKory Maincent (TI) }; 96*2c4059f5SKory Maincent (TI)}; 97*2c4059f5SKory Maincent (TI) 98*2c4059f5SKory Maincent (TI)&i2c2 { 99*2c4059f5SKory Maincent (TI) status = "okay"; 100*2c4059f5SKory Maincent (TI) #address-cells = <1>; 101*2c4059f5SKory Maincent (TI) #size-cells = <0>; 102*2c4059f5SKory Maincent (TI) 103*2c4059f5SKory Maincent (TI) it66121: it66121 { 104*2c4059f5SKory Maincent (TI) compatible = "ite,it66121"; 105*2c4059f5SKory Maincent (TI) reg = <0x4d>; 106*2c4059f5SKory Maincent (TI) pinctrl-names = "default"; 107*2c4059f5SKory Maincent (TI) pinctrl-0 = <&bb_lcd_pins>; 108*2c4059f5SKory Maincent (TI) 109*2c4059f5SKory Maincent (TI) #sound-dai-cells = <0>; 110*2c4059f5SKory Maincent (TI) 111*2c4059f5SKory Maincent (TI) interrupt-parent = <&gpio2>; 112*2c4059f5SKory Maincent (TI) interrupts = <4 IRQ_TYPE_EDGE_RISING>; 113*2c4059f5SKory Maincent (TI) ports { 114*2c4059f5SKory Maincent (TI) #address-cells = <1>; 115*2c4059f5SKory Maincent (TI) #size-cells = <0>; 116*2c4059f5SKory Maincent (TI) 117*2c4059f5SKory Maincent (TI) port@0 { 118*2c4059f5SKory Maincent (TI) reg = <0>; 119*2c4059f5SKory Maincent (TI) it66121_in: endpoint { 120*2c4059f5SKory Maincent (TI) bus-width = <24>; 121*2c4059f5SKory Maincent (TI) remote-endpoint = <&lcdc_0>; 122*2c4059f5SKory Maincent (TI) }; 123*2c4059f5SKory Maincent (TI) }; 124*2c4059f5SKory Maincent (TI) 125*2c4059f5SKory Maincent (TI) port@1 { 126*2c4059f5SKory Maincent (TI) reg = <1>; 127*2c4059f5SKory Maincent (TI) it66121_out: endpoint { 128*2c4059f5SKory Maincent (TI) remote-endpoint = <&hdmi_connector_in>; 129*2c4059f5SKory Maincent (TI) }; 130*2c4059f5SKory Maincent (TI) }; 131*2c4059f5SKory Maincent (TI) }; 132*2c4059f5SKory Maincent (TI) }; 133*2c4059f5SKory Maincent (TI)}; 134*2c4059f5SKory Maincent (TI) 135*2c4059f5SKory Maincent (TI)&lcdc { 136*2c4059f5SKory Maincent (TI) status = "okay"; 137*2c4059f5SKory Maincent (TI) blue-and-red-wiring = "straight"; 138*2c4059f5SKory Maincent (TI) port { 139*2c4059f5SKory Maincent (TI) lcdc_0: endpoint@0 { 140*2c4059f5SKory Maincent (TI) remote-endpoint = <&it66121_in>; 141*2c4059f5SKory Maincent (TI) }; 142*2c4059f5SKory Maincent (TI) }; 143*2c4059f5SKory Maincent (TI)}; 144*2c4059f5SKory Maincent (TI) 145*2c4059f5SKory Maincent (TI) 146*2c4059f5SKory Maincent (TI)&mcasp0 { 147*2c4059f5SKory Maincent (TI) status = "okay"; 148*2c4059f5SKory Maincent (TI) #sound-dai-cells = <0>; 149*2c4059f5SKory Maincent (TI) pinctrl-names = "default"; 150*2c4059f5SKory Maincent (TI) pinctrl-0 = <&mcasp0_pins>; 151*2c4059f5SKory Maincent (TI) op-mode = <0>; 152*2c4059f5SKory Maincent (TI) tdm-slots = <2>; 153*2c4059f5SKory Maincent (TI) serial-dir = < 0 0 1 0 >; 154*2c4059f5SKory Maincent (TI) tx-num-evt = <32>; 155*2c4059f5SKory Maincent (TI) rx-num-evt = <32>; 156*2c4059f5SKory Maincent (TI)}; 157*2c4059f5SKory Maincent (TI) 158