]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: apple: t8112: Add spi controller nodes
authorJanne Grunau <j@jannau.net>
Tue, 3 Dec 2024 07:57:59 +0000 (08:57 +0100)
committerSven Peter <sven@svenpeter.dev>
Tue, 18 Feb 2025 16:44:19 +0000 (17:44 +0100)
Apple silicon devices have one or more SPI devices. Add device tree
nodes for all known controllers. The missing ones could be guessed and
tested with a little effort but since the devices expose no pins and
no new devices are expected there is no point in spending the effort.
SPI is used for spi-nor and input devices like keyboard, trackpad,
touchscreen and fingerprint reader. Only the spi-nor flash has upstream
drivers. Support for it will be added in a following commit.

Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Janne Grunau <j@jannau.net>
Link: https://lore.kernel.org/r/20241203-asahi-spi-dt-v2-3-cd68bfaf0c84@jannau.net
Signed-off-by: Sven Peter <sven@svenpeter.dev>
arch/arm64/boot/dts/apple/t8112.dtsi

index 1666e6ab250bc0be9b8318e3c8fc903ccd3f3760..58d88f1ef92a32061765bd3b569fdae0255dcd7e 100644 (file)
                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.
                        status = "disabled";
                };
 
+               spi1: spi@235104000 {
+                       compatible = "apple,t8112-spi", "apple,spi";
+                       reg = <0x2 0x35104000 0x0 0x4000>;
+                       interrupt-parent = <&aic>;
+                       interrupts = <AIC_IRQ 749 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_200m>;
+                       pinctrl-0 = <&spi1_pins>;
+                       pinctrl-names = "default";
+                       power-domains = <&ps_spi1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               spi3: spi@23510c000 {
+                       compatible = "apple,t8112-spi", "apple,spi";
+                       reg = <0x2 0x3510c000 0x0 0x4000>;
+                       interrupt-parent = <&aic>;
+                       interrupts = <AIC_IRQ 751 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clkref>;
+                       pinctrl-0 = <&spi3_pins>;
+                       pinctrl-names = "default";
+                       power-domains = <&ps_spi3>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
                serial0: serial@235200000 {
                        compatible = "apple,s5l-uart";
                        reg = <0x2 0x35200000 0x0 0x1000>;
                                         <APPLE_PINMUX(130, 1)>;
                        };
 
-                       spi3_pins: spi3-pins {
+                       spi1_pins: spi1-pins {
                                pinmux = <APPLE_PINMUX(46, 1)>,
                                        <APPLE_PINMUX(47, 1)>,
                                        <APPLE_PINMUX(48, 1)>,
                                        <APPLE_PINMUX(49, 1)>;
                        };
 
+                       spi3_pins: spi3-pins {
+                               pinmux = <APPLE_PINMUX(93, 1)>,
+                                       <APPLE_PINMUX(94, 1)>,
+                                       <APPLE_PINMUX(95, 1)>,
+                                       <APPLE_PINMUX(96, 1)>;
+                       };
+
                        pcie_pins: pcie-pins {
                                pinmux = <APPLE_PINMUX(162, 1)>,
                                         <APPLE_PINMUX(163, 1)>,