-
Notifications
You must be signed in to change notification settings - Fork 0
Max 6.x #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ppy2
wants to merge
6
commits into
master
Choose a base branch
from
MAX_6.X
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Problem: Audio artifacts/distortion on 44.1 kHz sample rate family due to MCLKOUT stuck at 12 MHz instead of following calibrated PLL frequencies. Root cause: Clock multiplexer CLK_I2S0_8CH_TX was not being switched to CLK_I2S0_8CH_TX_SRC parent at boot, remaining on default xin_osc0_half (12 MHz). Solution: - Add CLK_I2S0_8CH_TX to assigned-clocks with parent CLK_I2S0_8CH_TX_SRC - Add I2S0_8CH_MCLKOUT to assigned-clocks with parent MCLK_I2S0_8CH_TX - Add rockchip,no-fractional-divider property to prevent fractional divider selection - Remove MCLKOUT management from driver (managed via device tree only) Clock path now matches kernel 5.10 behavior: PLL_GPLL → TX_SRC (calibrated) → CLK_TX → MCLK_TX → MCLKOUT Verified working: - 44.1 kHz → MCLKOUT = 45.158 MHz ✓ - 48 kHz → MCLKOUT = 49.152 MHz ✓ - 88.2/96/192 kHz all working correctly ✓ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add assigned-clock-rates to external clock mode DTS configuration to ensure CLK_I2S0_8CH_TX properly switches to i2s0_mclkin parent at boot. Without this fix, CLK_I2S0_8CH_TX remains on default xin_osc0_half parent, preventing external clock mode from working. In external mode: - External oscillators (22.579 MHz / 24.576 MHz) provide MCLK - Driver switches between them via freq-domain-gpios based on sample rate - CLK_I2S0_8CH_TX must use i2s0_mclkin as parent for this to work Files updated: - rv1106_ext-ipc.dtsi (MAX variant) - rv1106_512_ext-ipc.dtsi (512MB variant) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Enable DWC3 controller by changing status from disabled to okay - Fix USB2PHY driver to handle missing main IRQ gracefully - Add support for PHY_MODE_USB_HOST_HS/FS/LS modes for kernel 6.1 - Fix fallthrough issue causing USB PHY to enter invalid mode - Enhance USB2PHY tuning for better high-speed detection - Improve signal integrity for USB devices on kernel 6.1 This fixes USB audio device detection and enumeration issues when upgrading from kernel 5.10 to 6.1 on RV1106 platform. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Added USB2PHY driver fixes for proper IRQ handling - Enhanced PHY mode support for USB_HOST_HS/FS/LS modes - Fixed fallthrough bug in mode switching - Added kernel 6.1 specific USB2PHY tuning parameters - Resolved USB speed negotiation issues for audio devices 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminated ~200 lines of duplicated DSD/PCM switching code - Created rockchip_i2s_tdm_handle_dsd_switch() unified function - Removed temporary //+++ markers and fixed formatting - Optimized debug logging (dev_info -> dev_dbg for non-critical messages) - Preserved all functionality: PLL/EXT clocks, PCM/DSD, mute/automute, volume control - Maintained DSD bit swap and physical pin swap capabilities - Successfully compiled and tested without breaking changes Code is now cleaner, more maintainable, and production-ready. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Changes included: 1. Fixed PCM noise in EXT mode by preventing DSD routing from affecting PCM data 2. Updated I2S driver with extensive debugging and clock handling improvements 3. Modified kernel configuration and patches for proper audio support Key fix: Modified rockchip_i2s_tdm_handle_dsd_switch() to apply DSD routing only when DSD is being enabled, preventing PCM channel corruption in EXT mode. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.