~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: f3eec8d4729599fc6e72e2c02371fa1e36a8b431 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
 * Apple iMac (24-inch, 2x USB-C, M1, 2020)
 *
 * target-type: J457
 *
 * Copyright The Asahi Linux Contributors
 */

/dts-v1/;

#include "t8103.dtsi"
#include "t8103-jxxx.dtsi"

/ {
	compatible = "apple,j457", "apple,t8103", "apple,arm-platform";
	model = "Apple iMac (24-inch, 2x USB-C, M1, 2020)";

	aliases {
		ethernet0 = &ethernet0;
	};
};

&wifi0 {
	brcm,board-type = "apple,santorini";
};

/*
 * Provide labels for the USB type C ports.
 */

&typec0 {
	label = "USB-C Back-right";
};

&typec1 {
	label = "USB-C Back-left";
};

/*
 * Force the bus number assignments so that we can declare some of the
 * on-board devices and properties that are populated by the bootloader
 * (such as MAC addresses).
 */

&port02 {
	bus-range = <3 3>;
	ethernet0: ethernet@0,0 {
		reg = <0x30000 0x0 0x0 0x0 0x0>;
		/* To be filled by the loader */
		local-mac-address = [00 10 18 00 00 00];
	};
};

/*
 * Remove unused PCIe port and disable the associated DART.
 */

&pcie0_dart_1 {
	status = "disabled";
};

/delete-node/ &port01;

&i2c1 {
	clock-frequency = <50000>;

	jack_codec: codec@48 {
		compatible = "cirrus,cs42l83", "cirrus,cs42l42";
		reg = <0x48>;
		reset-gpios = <&pinctrl_nub 11 GPIO_ACTIVE_HIGH>;
		interrupt-parent = <&pinctrl_ap>;
		interrupts = <183 IRQ_TYPE_LEVEL_LOW>;
		#sound-dai-cells = <0>;
		cirrus,ts-inv = <1>;
	};
};

/ {
	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "iMac integrated audio";
		#address-cells = <1>;
		#size-cells = <0>;

		simple-audio-card,dai-link@0 {
			bitclock-inversion;
			frame-inversion;
			reg = <0>;
			format = "i2s";
			mclk-fs = <64>;
			tdm-slot-width = <32>;

			link0_cpu: cpu {
				sound-dai = <&mca 2>;
				bitclock-master;
				frame-master;
			};

			link0_codec: codec {
				sound-dai = <&jack_codec>;
			};
		};
	};
};