]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: apple: t600x: Add spi controller nodes
authorJanne Grunau <j@jannau.net>
Tue, 3 Dec 2024 07:58:00 +0000 (08:58 +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-4-cd68bfaf0c84@jannau.net
Signed-off-by: Sven Peter <sven@svenpeter.dev>
arch/arm64/boot/dts/apple/t600x-common.dtsi
arch/arm64/boot/dts/apple/t600x-die0.dtsi
arch/arm64/boot/dts/apple/t600x-gpio-pins.dtsi

index fa8ead69936366999786cdd4910266ee08b5ca7a..87dfc13d74171f62bf3087401918d9d41eaac560 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.
index b1c875e692c8fb9c0af46a23568a7b0cd720141b..e9b3140ba1a996eeb91b3f60470833060b632bd2 100644 (file)
                status = "disabled";
        };
 
+       spi1: spi@39b104000 {
+               compatible = "apple,t6000-spi", "apple,spi";
+               reg = <0x3 0x9b104000 0x0 0x4000>;
+               interrupt-parent = <&aic>;
+               interrupts = <AIC_IRQ 0 1107 IRQ_TYPE_LEVEL_HIGH>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               clocks = <&clk_200m>;
+               pinctrl-0 = <&spi1_pins>;
+               pinctrl-names = "default";
+               power-domains = <&ps_spi1>;
+               status = "disabled";
+       };
+
+       spi3: spi@39b10c000 {
+               compatible = "apple,t6000-spi", "apple,spi";
+               reg = <0x3 0x9b10c000 0x0 0x4000>;
+               interrupt-parent = <&aic>;
+               interrupts = <AIC_IRQ 0 1109 IRQ_TYPE_LEVEL_HIGH>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               clocks = <&clkref>;
+               pinctrl-0 = <&spi3_pins>;
+               pinctrl-names = "default";
+               power-domains = <&ps_spi3>;
+               status = "disabled";
+       };
+
        serial0: serial@39b200000 {
                compatible = "apple,s5l-uart";
                reg = <0x3 0x9b200000 0x0 0x1000>;
index b31f1a7a2b3fc36e7dfa480d27012d6d0fd56f97..1a994c3c1b79f088d685e13d1dc16e7d1e6546f4 100644 (file)
                        <APPLE_PINMUX(101, 1)>;
        };
 
+       spi1_pins: spi1-pins {
+               pinmux = <APPLE_PINMUX(10, 1)>,
+                       <APPLE_PINMUX(11, 1)>,
+                       <APPLE_PINMUX(32, 1)>,
+                       <APPLE_PINMUX(33, 1)>;
+       };
+
+       spi3_pins: spi3-pins {
+               pinmux = <APPLE_PINMUX(52, 1)>,
+                       <APPLE_PINMUX(53, 1)>,
+                       <APPLE_PINMUX(54, 1)>,
+                       <APPLE_PINMUX(55, 1)>;
+       };
+
        pcie_pins: pcie-pins {
                pinmux = <APPLE_PINMUX(0, 1)>,
                                <APPLE_PINMUX(1, 1)>,