Skip to content

Commit

Permalink
ARM: tegra: transformers: bind FM34NE DSP on supported devices
Browse files Browse the repository at this point in the history
Signed-off-by: Svyatoslav Ryhel <[email protected]>
  • Loading branch information
clamor-s committed Jul 31, 2022
1 parent e85f013 commit aa36588
Show file tree
Hide file tree
Showing 6 changed files with 137 additions and 0 deletions.
14 changes: 14 additions & 0 deletions arch/arm/boot/dts/tegra20-asus-tf101.dts
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,20 @@
status = "okay";
clock-frequency = <400000>;

/* Fortemedia FM34NE voice processor */
dsp@60 {
compatible = "asus,tf101-dsp", "fortemedia,fm34";
reg = <0x60>;

bypass-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_LOW>;

vdd-supply = <&vdd_1v8_sys>;

clocks = <&tegra_car TEGRA20_CLK_CDEV1>;
clock-names = "mclk";
};

/* Aichi AMI306 digital compass */
magnetometer@e {
compatible = "asahi-kasei,ak8974";
Expand Down
29 changes: 29 additions & 0 deletions arch/arm/boot/dts/tegra30-asus-tf201.dts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,25 @@
};
};

i2c@7000c000 {
/* Fortemedia FM34NE voice processor */
dsp@60 {
compatible = "asus,tf201-dsp", "fortemedia,fm34";
reg = <0x60>;

bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;

vdd-supply = <&vdd_1v8_dsp>;

clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
clock-names = "mclk";

assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
};
};

i2c@7000c400 {
/* Atmel MXT768E touchscreen */
touchscreen@4d {
Expand Down Expand Up @@ -620,6 +639,16 @@
vcc-supply = <&vdd_3v3_sys>;
};

vdd_1v8_dsp: regulator-dsp {
compatible = "regulator-fixed";
regulator-name = "vdd_1v8_dsp";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio TEGRA_GPIO(U, 5) GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&vdd_1v8_vio>;
};

sound {
compatible = "asus,tegra-audio-rt5631-tf201",
"nvidia,tegra-audio-rt5631";
Expand Down
29 changes: 29 additions & 0 deletions arch/arm/boot/dts/tegra30-asus-tf300t.dts
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,25 @@
};
};

i2c@7000c000 {
/* Fortemedia FM34NE voice processor */
dsp@60 {
compatible = "asus,tf300t-dsp", "fortemedia,fm34";
reg = <0x60>;

bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;

vdd-supply = <&vdd_1v8_dsp>;

clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
clock-names = "mclk";

assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
};
};

i2c@7000c400 {
/* Elantech EKTH1036 touchscreen */
touchscreen@10 {
Expand Down Expand Up @@ -1013,6 +1032,16 @@
compatible = "innolux,g101ice-l01";
};

vdd_1v8_dsp: regulator-dsp {
compatible = "regulator-fixed";
regulator-name = "vdd_1v8_dsp";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio TEGRA_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&vdd_1v8_vio>;
};

sound {
compatible = "asus,tegra-audio-wm8903-tf300t",
"nvidia,tegra-audio-wm8903";
Expand Down
19 changes: 19 additions & 0 deletions arch/arm/boot/dts/tegra30-asus-tf300tg.dts
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,25 @@
};
};

i2c@7000c000 {
/* Fortemedia FM34NE voice processor */
dsp@60 {
compatible = "asus,tf300t-dsp", "fortemedia,fm34";
reg = <0x60>;

bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;

vdd-supply = <&vdd_1v8_vio>;

clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
clock-names = "mclk";

assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
};
};

i2c@7000c400 {
/* Elantech EKTH1036 touchscreen */
touchscreen@10 {
Expand Down
19 changes: 19 additions & 0 deletions arch/arm/boot/dts/tegra30-asus-tf700t.dts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,25 @@
};
};

i2c@7000c000 {
/* Fortemedia FM34NE voice processor */
dsp@60 {
compatible = "asus,tf700t-dsp", "fortemedia,fm34";
reg = <0x60>;

bypass-gpios = <&gpio TEGRA_GPIO(BB, 6) GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio TEGRA_GPIO(O, 3) GPIO_ACTIVE_LOW>;

vdd-supply = <&vdd_1v8_vio>;

clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
clock-names = "mclk";

assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
};
};

i2c@7000c400 {
/* Elantech ELAN-3024-7053 or 5184N FPC-1 REV: 2/3 touchscreen */
touchscreen@10 {
Expand Down
27 changes: 27 additions & 0 deletions arch/arm/boot/dts/tegra30-pegatron-chagall.dts
Original file line number Diff line number Diff line change
Expand Up @@ -1154,6 +1154,23 @@
power-supplies = <&mains>;
};

/* Fortemedia FM34NE voice processor */
dsp@60 {
compatible = "pegatron,chagall-dsp", "fortemedia,fm34";
reg = <0x60>;

bypass-gpios = <&gpio TEGRA_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio TEGRA_GPIO(N, 0) GPIO_ACTIVE_LOW>;

vdd-supply = <&vdd_1v8_dsp>;

clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
clock-names = "mclk";

assigned-clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
assigned-clock-parents = <&tegra_car TEGRA30_CLK_EXTERN1>;
};

/* Wolfson Microelectronics WM8903 audio codec */
wm8903: audio-codec@1a {
compatible = "wlf,wm8903";
Expand Down Expand Up @@ -1509,6 +1526,16 @@
vin-supply = <&vdd_5v0_sys>;
};

vdd_1v8_dsp: regulator-dsp {
compatible = "regulator-fixed";
regulator-name = "vdd_1v8_dsp";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio TEGRA_GPIO(N, 1) GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&vdd_1v8_vio>;
};

pmc@7000e400 {
status = "okay";
nvidia,invert-interrupt;
Expand Down

0 comments on commit aa36588

Please sign in to comment.