/linux/sound/soc/tegra/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 snd-soc-tegra-pcm-y := tegra_pcm.o 4 snd-soc-tegra-utils-y += tegra_asoc_utils.o 5 snd-soc-tegra20-ac97-y := tegra20_ac97.o 6 snd-soc-tegra20-das-y := tegra20_das.o 7 snd-soc-tegra20-i2s-y := tegra20_i2s.o 8 snd-soc-tegra20-spdif-y := tegra20_spdif.o 9 snd-soc-tegra30-ahub-y := tegra30_ahub.o 10 snd-soc-tegra30-i2s-y := tegra30_i2s.o 11 snd-soc-tegra210-ahub-y := tegra210_ahub.o [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "SoC Audio for the Tegra System-on-Chip" 31 tristate "Tegra20 I2S interface" 35 Tegra20 I2S interface. You will also need to select the individual 53 tristate "Tegra30 I2S interface" 57 Tegra30 I2S interface. You will also need to select the individual 61 tristate "Tegra210 AHUB module" 67 Say Y or M if you want to add support for Tegra210 AHUB module. 70 tristate "Tegra210 DMIC module" 77 Say Y or M if you want to add support for Tegra210 DMIC module. [all …]
|
H A D | tegra210_i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // tegra210_i2s.c - Tegra210 I2S driver 32 * On Tegra210, I2S4 has "i2s4a" and "i2s4b" pins and below update 33 * is required to select i2s4b for it to be functional for I2S 44 regmap_write(regmap, TEGRA210_I2S_SLOT_CTRL, total_slots - in tegra210_i2s_set_slot_ctrl() 52 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_set_clock_rate() local 91 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_sw_reset() local 138 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_init() local 171 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_suspend() local 183 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_resume() local 198 tegra210_i2s_set_data_offset(struct tegra210_i2s * i2s,unsigned int data_offset) tegra210_i2s_set_data_offset() argument 215 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_fmt() local 296 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_tdm_slot() local 311 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_loopback() local 322 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_loopback() local 340 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_fsync_width() local 351 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_fsync_width() local 378 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_stereo_to_mono() local 389 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_stereo_to_mono() local 404 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_mono_to_stereo() local 415 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_mono_to_stereo() local 430 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_stereo_to_mono() local 441 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_stereo_to_mono() local 456 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_mono_to_stereo() local 467 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_mono_to_stereo() local 482 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_fifo_th() local 493 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_fifo_th() local 508 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_bclk_ratio() local 519 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_bclk_ratio() local 533 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_dai_bclk_ratio() local 545 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_set_timing_params() local 605 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_hw_params() local 913 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_parse_client_convert() local 938 struct tegra210_i2s *i2s; tegra210_i2s_probe() local [all...] |
H A D | tegra210_i2s.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * tegra210_i2s.h - Definitions for Tegra210 I2S driver 12 /* Register offsets from I2S*_BASE */
|
H A D | tegra_audio_graph_card.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // tegra_audio_graph_card.c - Audio Graph based Tegra Machine Driver 5 // Copyright (c) 2020-2021 NVIDIA CORPORATION. All rights reserved. 13 #include <sound/soc-dai.h> 51 !dai->driver->ops || in need_clk_update() 52 !dai->drive in need_clk_update() [all...] |
H A D | tegra210_ahub.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // tegra210_ahub.c - Tegra210 AHUB driver 5 // Copyright (c) 2020-2024, NVIDIA CORPORATION. All rights reserved. 22 struct soc_enum *e = (struct soc_enum *)kctl->private_value; in tegra_ahub_get_value_enum() 29 for (i = 0; i < ahub->soc_data->reg_count; i++) { in tegra_ahub_get_value_enum() 32 reg = e->reg + (TEGRA210_XBAR_PART1_RX * i); in tegra_ahub_get_value_enum() 34 reg_val &= ahub->soc_data->mask[i]; in tegra_ahub_get_value_enum() 38 (8 * cmpnt->val_bytes * i); in tegra_ahub_get_value_enum() 44 for (i = 0; i < e->items; i++) { in tegra_ahub_get_value_enum() 45 if (bit_pos == e->values[i]) { in tegra_ahub_get_value_enum() [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | nvidia,tegra210-i2s.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra210-i2s.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Tegra210 I2S Controller 10 The Inter-IC Sound (I2S) controller implements full-duplex, 11 bi-directional and single direction point-to-point serial 12 interfaces. It can interface with I2S compatible devices. 13 I2S controller can operate both in master and slave mode. 16 - Jon Hunter <jonathanh@nvidia.com> [all …]
|
H A D | nvidia,tegra210-ahub.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra210-ahub.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Tegra210 AHUB 11 for audio pre-processing, post-processing and a programmable full 13 external interfaces such as I2S, DMIC, DSPK. It interfaces with ADMA 17 - Jon Hunter <jonathanh@nvidia.com> 18 - Sameer Pujar <spujar@nvidia.com> 22 pattern: "^ahub@[0-9a-f]*$" [all …]
|
H A D | nvidia,tegra-audio-graph-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-graph-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 15 - Jon Hunter <jonathanh@nvidia.com> 16 - Sameer Pujar <spujar@nvidia.com> 19 - $ref: audio-graph.yaml# 24 - nvidia,tegra210-audio-graph-card 25 - nvidia,tegra186-audio-graph-card 30 clock-names: [all …]
|
/linux/arch/arm64/boot/dts/nvidia/ |
H A D | tegra210.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra210-car.h> 3 #include <dt-bindings/gpio/tegra-gpio.h> 4 #include <dt-bindings/memory/tegra210-mc.h> 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 6 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 7 #include <dt-bindings/reset/tegra210-car.h> 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include <dt-bindings/thermal/tegra124-soctherm.h> 10 #include <dt-bindings/soc/tegra-pmc.h> [all …]
|
H A D | tegra186.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra186-clock.h> 3 #include <dt-bindings/gpio/tegra186-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 6 #include <dt-bindings/memory/tegra186-mc.h> 7 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 8 #include <dt-bindings/power/tegra186-powergate.h> 9 #include <dt-bindings/reset/tegra186-reset.h> 10 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h> [all …]
|
H A D | tegra194.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra194-clock.h> 3 #include <dt-bindings/gpio/tegra194-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 6 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 7 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 8 #include <dt-bindings/power/tegra194-powergate.h> 9 #include <dt-bindings/reset/tegra194-reset.h> 10 #include <dt-bindings/thermal/tegra194-bpmp-thermal.h> [all …]
|
H A D | tegra210-p2371-2180.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include "tegra210-p2180.dtsi" 5 #include "tegra210-p2597.dtsi" 9 compatible = "nvidia,p2371-2180", "nvidia,tegra210"; 14 hvddio-pex-supply = <&vdd_1v8>; 15 dvddio-pex-supply = <&vdd_pex_1v05>; 16 vddio-pex-ctl-supply = <&vdd_1v8>; 19 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, 20 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, [all …]
|
H A D | tegra210-p3450-0000.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/input/gpio-keys.h> 5 #include <dt-bindings/input/linux-event-codes.h> 6 #include <dt-bindings/mfd/max77620.h> 8 #include "tegra210.dtsi" 12 compatible = "nvidia,p3450-0000", "nvidia,tegra210"; 22 stdout-path = "serial0:115200n8"; 33 hvddio-pex-supply = <&vdd_1v8>; 34 dvddio-pex-supply = <&vdd_pex_1v05>; [all …]
|
/linux/drivers/clk/tegra/ |
H A D | clk-tegra210.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2012-2020 NVIDIA CORPORATION. All rights reserved. 8 #include <linux/clk-provider.h> 17 #include <dt-bindings/clock/tegra210-car.h> 18 #include <dt-bindings/reset/tegra210-car.h> 23 #include "clk-id.h" 27 * banks present in the Tegra210 CAR IP block. The banks are 244 /* I2S registers to handle during APE MBIST WAR */ 264 * SDM fractional divisor is 16-bit 2's complement signed number within 265 * (-2^12 ... 2^12-1) range. Represented in PLL data structure as unsigned [all …]
|
/linux/ |
H A D | MAINTAINERS | 5 --------------------------------------------------- 21 W: *Web-page* with status/info 23 B: URI for where to file *bugs*. A web-page with detailed bug 28 patches to the given subsystem. This is either an in-tree file, 29 or a URI. See Documentation/maintainer/maintainer-entry-profile.rst 46 N: [^a-z]tegra all files whose path contains tegra 64 ---------------- 83 3WARE SAS/SATA-RAID SCSI DRIVERS (3W-XXXX, 3W-9XXX, 3W-SAS) 85 L: linux-scsi@vger.kernel.org 88 F: drivers/scsi/3w-* [all …]
|