On Thu, Nov 28, 2024 at 11:29:18PM +0100, Sasha Finkelstein via B4 Relay wrote: > From: Sasha Finkelstein <fnkl.kernel@xxxxxxxxx> > > Adds device tree entries for the touchbar digitizer > > Co-developed-by: Janne Grunau <j@xxxxxxxxxx> > Signed-off-by: Janne Grunau <j@xxxxxxxxxx> > Signed-off-by: Sasha Finkelstein <fnkl.kernel@xxxxxxxxx> > --- > arch/arm64/boot/dts/apple/t8103-j293.dts | 26 ++++++++++++++++++++++++++ > arch/arm64/boot/dts/apple/t8103.dtsi | 20 ++++++++++++++++++++ > arch/arm64/boot/dts/apple/t8112-j493.dts | 24 ++++++++++++++++++++++++ > arch/arm64/boot/dts/apple/t8112.dtsi | 14 ++++++++++++++ > 4 files changed, 84 insertions(+) > > diff --git a/arch/arm64/boot/dts/apple/t8103-j293.dts b/arch/arm64/boot/dts/apple/t8103-j293.dts > index 56b0c67bfcda321b60c621de092643017693ff91..c31eb3f6f54268cafc9197a9244a5954fbb42802 100644 > --- a/arch/arm64/boot/dts/apple/t8103-j293.dts > +++ b/arch/arm64/boot/dts/apple/t8103-j293.dts > @@ -17,6 +17,14 @@ / { > compatible = "apple,j293", "apple,t8103", "apple,arm-platform"; > model = "Apple MacBook Pro (13-inch, M1, 2020)"; > > + /* > + * All of those are used by the bootloader to pass calibration > + * blobs and other device-specific properties > + */ > + aliases { > + touchbar0 = &touchbar0; > + }; > + > led-controller { > compatible = "pwm-leds"; > led-0 { > @@ -49,3 +57,21 @@ &i2c4 { > &fpwm1 { > status = "okay"; > }; > + > +&spi0 { > + status = "okay"; > + > + touchbar0: touchbar@0 { > + compatible = "apple,j293-touchbar"; > + reg = <0>; > + spi-max-frequency = <11500000>; > + spi-cs-setup-delay-ns = <2000>; > + spi-cs-hold-delay-ns = <2000>; > + reset-gpios = <&pinctrl_ap 139 GPIO_ACTIVE_LOW>; > + interrupts-extended = <&pinctrl_ap 194 IRQ_TYPE_EDGE_FALLING>; > + firmware-name = "apple/dfrmtfw-j293.bin"; > + touchscreen-size-x = <23045>; > + touchscreen-size-y = <640>; > + touchscreen-inverted-y; > + }; > +}; > diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi > index 9b0dad6b618444ac6b1c9735c50cccfc3965f947..9b83341a799d9a37578e5461e6b184f81ee7435c 100644 > --- a/arch/arm64/boot/dts/apple/t8103.dtsi > +++ b/arch/arm64/boot/dts/apple/t8103.dtsi > @@ -326,6 +326,13 @@ clkref: clock-ref { > clock-output-names = "clkref"; > }; > > + clk_200m: clock-200m { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <200000000>; > + clock-output-names = "clk_200m"; > + }; > + > /* > * This is a fabulated representation of the input clock > * to NCO since we don't know the true clock tree. > @@ -441,6 +448,19 @@ fpwm1: pwm@235044000 { > status = "disabled"; > }; > > + spi0: spi@235100000 { > + compatible = "apple,t8103-spi", "apple,spi"; > + reg = <0x2 0x35100000 0x0 0x4000>; > + interrupt-parent = <&aic>; > + interrupts = <AIC_IRQ 614 IRQ_TYPE_LEVEL_HIGH>; > + cs-gpios = <&pinctrl_ap 109 GPIO_ACTIVE_LOW>; Since this appears to be a regular GPIO pin I think it should go into the spi0 override in t8103-j293.dts. Kind of academic since that's the only device using spi0. It will however allow to easily rebase this on top of "Add Apple SPI controller and spi-nor dt nodes: https://lore.kernel.org/asahi/20241203-asahi-spi-dt-v2-0-cd68bfaf0c84@xxxxxxxxxx/T/#u Janne