Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 111 additions & 3 deletions arch/arm64/boot/dts/apple/t6050-j714c.dts
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,64 @@
status = "disabled";
};

/*
* The six speaker amplifiers (ADT /arm-io/i2c1/audio-speaker* and /arm-io/i2c3/audio-speaker*,
* SN012776) share one shutdown line, AP pin 107 (function-reset of the first), and one fault
* interrupt, pin 106. The ADT's speaker-config gives each amp a transmit slot N with its
* voltage sense in slot 4N and current sense in 4N+2, and names the amps by speakerN:
* 0 left woofer 1, 1 right woofer 1, 2 left woofer 2, 3 right woofer 2, 4 left tweeter,
* 5 right tweeter.
*
* There is no sound card yet: the AOP audio driver is not on this branch, and the jack codec
* (i2c2) is not described. The amps stay in shutdown until a stream asks for them.
*/
/ {
speaker_sdz: regulator-sn012776-sdz {
compatible = "regulator-fixed";
regulator-name = "sn012776-sdz";
gpios = <&pinctrl_ap 107 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};

&i2c1 {
status = "disabled";
status = "okay";

speaker_left_woof1: codec@38 {
compatible = "ti,sn012776", "ti,tas2764";
reg = <0x38>;
SDZ-supply = <&speaker_sdz>;
apple,sdz-group-fail-closed;
#sound-dai-cells = <0>;
sound-name-prefix = "Left Woofer 1";
interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>;
ti,imon-slot-no = <2>;
ti,vmon-slot-no = <0>;
};

speaker_left_woof2: codec@39 {
compatible = "ti,sn012776", "ti,tas2764";
reg = <0x39>;
SDZ-supply = <&speaker_sdz>;
apple,sdz-group-fail-closed;
#sound-dai-cells = <0>;
sound-name-prefix = "Left Woofer 2";
interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>;
ti,imon-slot-no = <10>;
ti,vmon-slot-no = <8>;
};

speaker_left_tweet: codec@3a {
compatible = "ti,sn012776", "ti,tas2764";
reg = <0x3a>;
SDZ-supply = <&speaker_sdz>;
apple,sdz-group-fail-closed;
#sound-dai-cells = <0>;
sound-name-prefix = "Left Tweeter";
interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>;
ti,imon-slot-no = <18>;
ti,vmon-slot-no = <16>;
};
};

&i2c2 {
Expand All @@ -144,10 +200,11 @@

/*
* Only the pins a node here names are exposed, as on the J716c: pin 112's register
* takes an SError when read. 80 is PCIe port 0's PERST#.
* takes an SError when read. 80 is PCIe port 0's PERST#, 106 the amps' fault interrupt and
* 107 their shutdown line.
*/
&pinctrl_ap {
gpio-reserved-ranges = <0 80>, <81 140>;
gpio-reserved-ranges = <0 80>, <81 25>, <108 113>;
};

/* This board's SMC fan and power keys are not yet checked */
Expand Down Expand Up @@ -254,6 +311,57 @@

#include "t6050-max-atc2.dtsi"

/* The I2C power states have no described parent (SIO), as for i2c1 and i2c2 */
&ps_i2c3 {
/delete-property/ power-domains;
status = "okay";
};

&i2c3 {
/*
* The stub's pmgr clock controller has no driver. The ADT gives i2c1, i2c2 and i2c3 the same
* clock-ids (4), so i2c3 takes the reference clock as i2c1 and i2c2 do.
*/
clocks = <&clkref>;
status = "okay";

speaker_right_woof1: codec@3b {
compatible = "ti,sn012776", "ti,tas2764";
reg = <0x3b>;
SDZ-supply = <&speaker_sdz>;
apple,sdz-group-fail-closed;
#sound-dai-cells = <0>;
sound-name-prefix = "Right Woofer 1";
interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>;
ti,imon-slot-no = <6>;
ti,vmon-slot-no = <4>;
};

speaker_right_woof2: codec@3c {
compatible = "ti,sn012776", "ti,tas2764";
reg = <0x3c>;
SDZ-supply = <&speaker_sdz>;
apple,sdz-group-fail-closed;
#sound-dai-cells = <0>;
sound-name-prefix = "Right Woofer 2";
interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>;
ti,imon-slot-no = <14>;
ti,vmon-slot-no = <12>;
};

speaker_right_tweet: codec@3d {
compatible = "ti,sn012776", "ti,tas2764";
reg = <0x3d>;
SDZ-supply = <&speaker_sdz>;
apple,sdz-group-fail-closed;
#sound-dai-cells = <0>;
sound-name-prefix = "Right Tweeter";
interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>;
ti,imon-slot-no = <22>;
ti,vmon-slot-no = <20>;
};
};

/*
* ==== The left-front USB-C port (ATC1) ====
*
Expand Down
Loading