Skip to content

Commit aa36588

Browse files
committed
ARM: tegra: transformers: bind FM34NE DSP on supported devices
Signed-off-by: Svyatoslav Ryhel <[email protected]>
1 parent e85f013 commit aa36588

File tree

6 files changed

+137
-0
lines changed

6 files changed

+137
-0
lines changed

arch/arm/boot/dts/tegra20-asus-tf101.dts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,20 @@
493493
status = "okay";
494494
clock-frequency = <400000>;
495495

496+
/* Fortemedia FM34NE voice processor */
497+
dsp@60 {
498+
compatible = "asus,tf101-dsp", "fortemedia,fm34";
499+
reg = <0x60>;
500+
501+
bypass-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
502+
reset-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_LOW>;
503+
504+
vdd-supply = <&vdd_1v8_sys>;
505+
506+
clocks = <&tegra_car TEGRA20_CLK_CDEV1>;
507+
clock-names = "mclk";
508+
};
509+
496510
/* Aichi AMI306 digital compass */
497511
magnetometer@e {
498512
compatible = "asahi-kasei,ak8974";

arch/arm/boot/dts/tegra30-asus-tf201.dts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,25 @@
6060
};
6161
};
6262

63+
i2c@7000c000 {
64+
/* Fortemedia FM34NE voice processor */
65+
dsp@60 {
66+
compatible = "asus,tf201-dsp", "fortemedia,fm34";
67+
reg = <0x60>;
68+
69+
bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
70+
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;
71+
72+
vdd-supply = <&vdd_1v8_dsp>;
73+
74+
clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
75+
clock-names = "mclk";
76+
77+
assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
78+
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
79+
};
80+
};
81+
6382
i2c@7000c400 {
6483
/* Atmel MXT768E touchscreen */
6584
touchscreen@4d {
@@ -620,6 +639,16 @@
620639
vcc-supply = <&vdd_3v3_sys>;
621640
};
622641

642+
vdd_1v8_dsp: regulator-dsp {
643+
compatible = "regulator-fixed";
644+
regulator-name = "vdd_1v8_dsp";
645+
regulator-min-microvolt = <1800000>;
646+
regulator-max-microvolt = <1800000>;
647+
gpio = <&gpio TEGRA_GPIO(U, 5) GPIO_ACTIVE_HIGH>;
648+
enable-active-high;
649+
vin-supply = <&vdd_1v8_vio>;
650+
};
651+
623652
sound {
624653
compatible = "asus,tegra-audio-rt5631-tf201",
625654
"nvidia,tegra-audio-rt5631";

arch/arm/boot/dts/tegra30-asus-tf300t.dts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,25 @@
6868
};
6969
};
7070

71+
i2c@7000c000 {
72+
/* Fortemedia FM34NE voice processor */
73+
dsp@60 {
74+
compatible = "asus,tf300t-dsp", "fortemedia,fm34";
75+
reg = <0x60>;
76+
77+
bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
78+
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;
79+
80+
vdd-supply = <&vdd_1v8_dsp>;
81+
82+
clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
83+
clock-names = "mclk";
84+
85+
assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
86+
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
87+
};
88+
};
89+
7190
i2c@7000c400 {
7291
/* Elantech EKTH1036 touchscreen */
7392
touchscreen@10 {
@@ -1013,6 +1032,16 @@
10131032
compatible = "innolux,g101ice-l01";
10141033
};
10151034

1035+
vdd_1v8_dsp: regulator-dsp {
1036+
compatible = "regulator-fixed";
1037+
regulator-name = "vdd_1v8_dsp";
1038+
regulator-min-microvolt = <1800000>;
1039+
regulator-max-microvolt = <1800000>;
1040+
gpio = <&gpio TEGRA_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
1041+
enable-active-high;
1042+
vin-supply = <&vdd_1v8_vio>;
1043+
};
1044+
10161045
sound {
10171046
compatible = "asus,tegra-audio-wm8903-tf300t",
10181047
"nvidia,tegra-audio-wm8903";

arch/arm/boot/dts/tegra30-asus-tf300tg.dts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,25 @@
164164
};
165165
};
166166

167+
i2c@7000c000 {
168+
/* Fortemedia FM34NE voice processor */
169+
dsp@60 {
170+
compatible = "asus,tf300t-dsp", "fortemedia,fm34";
171+
reg = <0x60>;
172+
173+
bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
174+
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;
175+
176+
vdd-supply = <&vdd_1v8_vio>;
177+
178+
clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
179+
clock-names = "mclk";
180+
181+
assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
182+
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
183+
};
184+
};
185+
167186
i2c@7000c400 {
168187
/* Elantech EKTH1036 touchscreen */
169188
touchscreen@10 {

arch/arm/boot/dts/tegra30-asus-tf700t.dts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,25 @@
8585
};
8686
};
8787

88+
i2c@7000c000 {
89+
/* Fortemedia FM34NE voice processor */
90+
dsp@60 {
91+
compatible = "asus,tf700t-dsp", "fortemedia,fm34";
92+
reg = <0x60>;
93+
94+
bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
95+
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;
96+
97+
vdd-supply = <&vdd_1v8_vio>;
98+
99+
clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
100+
clock-names = "mclk";
101+
102+
assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
103+
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
104+
};
105+
};
106+
88107
i2c@7000c400 {
89108
/* Elantech ELAN-3024-7053 or 5184N FPC-1 REV: 2/3 touchscreen */
90109
touchscreen@10 {

arch/arm/boot/dts/tegra30-pegatron-chagall.dts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,6 +1154,23 @@
11541154
power-supplies = <&mains>;
11551155
};
11561156

1157+
/* Fortemedia FM34NE voice processor */
1158+
dsp@60 {
1159+
compatible = "pegatron,chagall-dsp", "fortemedia,fm34";
1160+
reg = <0x60>;
1161+
1162+
bypass-gpios = <&gpio TEGRA_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
1163+
reset-gpios = <&gpio TEGRA_GPIO(N, 0) GPIO_ACTIVE_LOW>;
1164+
1165+
vdd-supply = <&vdd_1v8_dsp>;
1166+
1167+
clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
1168+
clock-names = "mclk";
1169+
1170+
assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
1171+
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
1172+
};
1173+
11571174
/* Wolfson Microelectronics WM8903 audio codec */
11581175
wm8903: audio-codec@1a {
11591176
compatible = "wlf,wm8903";
@@ -1509,6 +1526,16 @@
15091526
vin-supply = <&vdd_5v0_sys>;
15101527
};
15111528

1529+
vdd_1v8_dsp: regulator-dsp {
1530+
compatible = "regulator-fixed";
1531+
regulator-name = "vdd_1v8_dsp";
1532+
regulator-min-microvolt = <1800000>;
1533+
regulator-max-microvolt = <1800000>;
1534+
gpio = <&gpio TEGRA_GPIO(N, 1) GPIO_ACTIVE_HIGH>;
1535+
enable-active-high;
1536+
vin-supply = <&vdd_1v8_vio>;
1537+
};
1538+
15121539
pmc@7000e400 {
15131540
status = "okay";
15141541
nvidia,invert-interrupt;

0 commit comments

Comments
 (0)