Commit Graph

11 Commits

Author SHA1 Message Date
Francesco Dolcini
c026c5e6ed arm64: dts: ti: k3-am625-verdin: Add EEPROM compatible fallback
According to the AT24 EEPROM bindings the compatible string should
contain first the actual manufacturer, and second the corresponding
atmel model.

Add the atmel compatible fallback accordingly.

Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20250408202655.6329-1-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-04-18 13:28:13 -05:00
Stefan Eichenberger
7139df64e7 arm64: dts: ti: k3-am62-verdin-dahlia: add Microphone Jack to sound card
The simple-audio-card's microphone widget currently connects to the
headphone jack. Routing the microphone input to the microphone jack
allows for independent operation of the microphone and headphones.

This resolves the following boot-time kernel log message, which
indicated a conflict when the microphone and headphone functions were
not separated:
  debugfs: File 'Headphone Jack' in directory 'dapm' already present!

Fixes: f5bf894c86 ("arm64: dts: ti: verdin-am62: dahlia: add sound card")
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Jai Luthra <jai.luthra@linux.dev>
Link: https://lore.kernel.org/r/20250217144643.178222-1-eichest@gmail.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02 18:43:33 +05:30
Francesco Dolcini
9438f97029 arm64: dts: ti: k3-am62-verdin-dahlia: Keep CTRL_SLEEP_MOCI# regulator on
This reverts commit 3935fbc87d.

CTRL_SLEEP_MOCI# is a signal that is defined for all the SoM
implementing the Verdin family specification, this signal is supposed to
control the power enable in the carrier board when the system is in deep
sleep mode. However this is not possible with Texas Instruments AM62
SoC, IOs output buffer is disabled in deep sleep and IOs are in
tri-state mode.

Given that we cannot properly control this pin, force it to be always
high to minimize potential issues.

Fixes: 3935fbc87d ("arm64: dts: ti: k3-am62-verdin-dahlia: support sleep-moci")
Cc:  <stable@vger.kernel.org>
Link: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1361669/am625-gpio-output-state-in-deep-sleep/5244802
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240731054804.6061-1-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2024-08-05 08:57:11 -05:00
Stefan Eichenberger
3935fbc87d arm64: dts: ti: k3-am62-verdin-dahlia: support sleep-moci
Previously, we had the sleep-moci pin set to always on. However, the
Dahlia carrier board supports disabling the sleep-moci when the system
is suspended to power down peripherals that support it. This reduces
overall power consumption. This commit adds support for this feature by
disabling the reg_force_sleep_moci regulator and adding a new regulator
for the USB hub that can be turned off when the system is suspended.

Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240301084901.16656-3-eichest@gmail.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2024-04-29 14:35:29 -05:00
Francesco Dolcini
69ef7d9c29 arm64: dts: ti: k3-am625-verdin: add PCIe reset gpio hog
Add a GPIO hog to release PCIe reset on the carrier board, this is
required to use M.2 or mPCIe cards.

Verdin AM62 does not have any PCIe interface, however the Verdin family
has PCIe and normally an M.2 or mPCIe slot is available in the carrier
board that can be used with cards that use only the USB interface toward
the host CPU, for example cellular network modem.

Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240327182801.5997-3-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2024-04-09 19:29:15 -05:00
Andrejs Cainikovs
a15e5320d9 arm64: dts: ti: verdin-am62: dahlia: fix audio clock
In current configuration, wm8904 codec on Dahlia carrier board provides
distorted audio output. This happens due to reference clock is fixed to
25MHz and no FLL is enabled. During playback following parameters are set:

44100Hz:

[  310.276924] wm8904 1-001a: Target BCLK is 1411200Hz
[  310.276990] wm8904 1-001a: Using 25000000Hz MCLK
[  310.277001] wm8904 1-001a: CLK_SYS is 12500000Hz
[  310.277018] wm8904 1-001a: Selected CLK_SYS_RATIO of 256
[  310.277026] wm8904 1-001a: Selected SAMPLE_RATE of 44100Hz
[  310.277034] wm8904 1-001a: Selected BCLK_DIV of 80 for 1562500Hz BCLK
[  310.277044] wm8904 1-001a: LRCLK_RATE is 35

Deviation = 1411200 vs 1562500 = 10.721%
Also, LRCLK_RATE is 35, should be 32.

48000Hz:

[  302.449970] wm8904 1-001a: Target BCLK is 1536000Hz
[  302.450037] wm8904 1-001a: Using 25000000Hz MCLK
[  302.450049] wm8904 1-001a: CLK_SYS is 12500000Hz
[  302.450065] wm8904 1-001a: Selected CLK_SYS_RATIO of 256
[  302.450074] wm8904 1-001a: Selected SAMPLE_RATE of 48000Hz
[  302.450083] wm8904 1-001a: Selected BCLK_DIV of 80 for 1562500Hz BCLK
[  302.450092] wm8904 1-001a: LRCLK_RATE is 32

Deviation = 1536000 vs 1562500 = 1.725%

Enabling wm8904 FLL via providing mclk-fs property to simple-audio-card
configures clocks properly, but also adjusts audio reference clock
(mclk), which in case of TI AM62 should be avoided, as it only
supports 25MHz output [1][2].

This change enables FLL on wm8904 by providing mclk-fs, and drops
audio reference clock out of DAI configuration, which prevents
simple-audio-card to adjust it before every playback [3].

41000Hz:

[  111.820533] wm8904 1-001a: FLL configured for 25000000Hz->11289600Hz
[  111.820597] wm8904 1-001a: Clock source is 0 at 11289600Hz
[  111.820651] wm8904 1-001a: Using 11289600Hz FLL clock
[  111.820703] wm8904 1-001a: CLK_SYS is 11289600Hz
[  111.820798] wm8904 1-001a: Target BCLK is 1411200Hz
[  111.820847] wm8904 1-001a: Using 11289600Hz FLL clock
[  111.820894] wm8904 1-001a: CLK_SYS is 11289600Hz
[  111.820933] wm8904 1-001a: Selected CLK_SYS_RATIO of 256
[  111.820971] wm8904 1-001a: Selected SAMPLE_RATE of 44100Hz
[  111.821009] wm8904 1-001a: Selected BCLK_DIV of 80 for 1411200Hz BCLK
[  111.821051] wm8904 1-001a: LRCLK_RATE is 32

48000Hz:

[  144.119254] wm8904 1-001a: FLL configured for 25000000Hz->12288000Hz
[  144.119309] wm8904 1-001a: Clock source is 0 at 12288000Hz
[  144.119364] wm8904 1-001a: Using 12288000Hz FLL clock
[  144.119413] wm8904 1-001a: CLK_SYS is 12288000Hz
[  144.119512] wm8904 1-001a: Target BCLK is 1536000Hz
[  144.119561] wm8904 1-001a: Using 12288000Hz FLL clock
[  144.119608] wm8904 1-001a: CLK_SYS is 12288000Hz
[  144.119646] wm8904 1-001a: Selected CLK_SYS_RATIO of 256
[  144.119685] wm8904 1-001a: Selected SAMPLE_RATE of 48000Hz
[  144.119723] wm8904 1-001a: Selected BCLK_DIV of 80 for 1536000Hz BCLK
[  144.119764] wm8904 1-001a: LRCLK_RATE is 32

[1]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1175479/processor-sdk-am62x-output-audio_ext_refclk0-as-mclk-for-codec-and-mcbsp/4444986#4444986
[2]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1188051/am625-audio_ext_refclk1-clock-output---dts-support/4476322#4476322
[3]: sound/soc/generic/simple-card-utils.c#L441

Fixes: f5bf894c86 ("arm64: dts: ti: verdin-am62: dahlia: add sound card")
Suggested-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240315102500.18492-1-andrejs.cainikovs@gmail.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2024-04-09 11:18:57 -05:00
Judith Mendez
eea929f0e0 arm64: dts: ti: k3-am6*: Remove DLL properties for soft PHYs
Remove DLL properties which are not applicable for soft PHYs
since these PHYs do not have a DLL to enable.

Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Verdin AM62
Signed-off-by: Judith Mendez <jm@ti.com>
Tested-by: Wadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20240213235701.2438513-7-jm@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-02-19 12:02:47 +05:30
Parth Pancholi
26e0124683 arm64: dts: ti: k3-am625-verdin: Enable Verdin UART2
Enable UART2 for AM62 based SOM's Verdin carrier boards Dahlia,
Development and Yavia.

Earlier Verdin UART2 was reserved by R5 DM firmware which can be now
configured using boardcfg during U-boot compilation. In a default
config, no one writes to this UART.

Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20231121160436.1032364-1-parth105105@gmail.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-04 12:17:08 -06:00
Francesco Dolcini
f5bf894c86 arm64: dts: ti: verdin-am62: dahlia: add sound card
Add WM8904 based analog sound card to Dahlia carrier board.

Reviewed-by: Jai Luthra <j-luthra@ti.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20230807202159.13095-5-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-08-08 07:20:02 -05:00
Hiago De Franco
7480cea33b arm64: dts: ti: k3-am625-verdin: enable CAN_2
Add Verdin CAN_2 (TI AM62 MCU_MCAN0) and enable it on the Yavia,
Dahlia and Verdin Development board.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20230802073635.11290-3-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-08-05 13:51:51 -05:00
Francesco Dolcini
50e3424fbb arm64: dts: ti: add verdin am62 dahlia
Add Toradex Verdin AM62 Dahlia.

Link: https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20230615095058.33890-5-francesco@dolcini.it
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-06-15 20:58:38 +05:30