TeamYogaBlade2 Linux 6.16 Release#48
Draft
akku1139 wants to merge 96 commits into
Draft
Conversation
* pinctrl: mediatek: init mt6320 driver * dt-bindings: soc: mediatek: pwrap: Add compatible for MT6589 SoC * arm: dts: mediatek: mt6589: add pwrap node * arm: dts: mediatek: mt6589: add pwrap reset * arm: dts: mediatek: mt6589: add pwrap-bridge reset * wip: soc: mediatek: pwrap: add mt6589 support * wip: soc: mediatek: pwrap: fix mt6589 * wip: soc: mediatek: pwrap: mt6589 and mt6320 porting * wip: soc: mediatek: pwrap: add mt6320 regs * wip: soc: mediatek: pwrap: add mt6589 regs * soc: mediatek: pwrap: rename PWRAP_MT8135_BRIDGE_* to PWRAP_BRIDGE_* because MT6589 also have these registers * soc: mediatek: pwrap: fix dew_regs for MT6589 * soc: mediatek: pwrap: add more PERI_PWRAP_BRIDGE registers MT6589 and MT8135 have PWRAP bridge registers with the same name and address. * soc: mediatek: pwrap: fix pwrap_regs for MT6589 The unique registers of MT8135 are the same as those of MT6589, so they have been made common. PWRAP_DVFS_ADR0 to PWRAP_DVFS_WDATA7 were in the MT8173 part, but these registers are used in many SoCs, not just the MT6589. * soc: mediatek: pwrap: mt6589 cleanup * soc: mediatek: pwrap: fix MT6320 regops * mfd: mt6320: add register index based on: https://github.com/bq/aquaris-5/blob/bc1d0d0e35c969670e2d869001be944ad0c9c5e5/mediatek/platform/mt6589/kernel/core/include/mach/mt_pmic.h#L56-L549 * arm: dts: mediatek: mt6589-lenovo-blade: add pmic * dt-bindings: soc: mediatek: pwrap: PMIC peripherals for MT6589 * dt-bindings: mfd: mediatek: add MT6320 binding * arm: configs: lenovo-blade: enable PWAP * soc: mediatek: fix mt6589/mt6320 * clk: mediatek: reindex mt6589 clocks * dt-bindings: mfd: mediatek: move mt6320 * mfd: mt6397: Add initial support for MT6320 (maybe broken) * pinctrl: mediatek: add MT6320 support * arm: configs: lenovo-blade: add CONFIG_MFD_MT6397 * arm: dts: lenovo-blade: add MT6320 Pinctrl * dt-bindings: reset: mt6589: format * mfd: mt6397-core: add MT6320 * mfd: mt6397-core: add mt6320 includes * mfd: mt6397-core: add mt6320 rtc defs * dt-bindings: mfd: mt6397: add mediatek,mt6320-rtc * arm: dts: mediatek: mt6589-lenovo-blade: add rtc * mfd: mt6320: add irq enum * mdf: rtc-mt6397: add mt6320 support * dt-bindings: input: mediatek,pmic-keys: add mediatek,mt6320-keys * mfd: mt6397-core: add mt6320-keys * arm: dts: mediatek: mt6589-lenovo-blade: add mt6320keys * mfd: mt6320: fix syntax * mfd: mt6397-core: fix mt6320 rtc * mfd: mt6397: Properly fix CID of MT6328, MT6331 and MT6332 CIDs set for MT6328, MT6331 and MT6332 are not appropriate. Many Android downstream kernels define CID as below, MT6328: #define PMIC6328_E1_CID_CODE 0x2810 #define PMIC6328_E2_CID_CODE 0x2820 #define PMIC6328_E3_CID_CODE 0x2830 MT6331/MT6332: #define PMIC6331_E1_CID_CODE 0x3110 #define PMIC6331_E2_CID_CODE 0x3120 #define PMIC6331_E3_CID_CODE 0x3130 #define PMIC6332_E1_CID_CODE 0x3210 #define PMIC6332_E2_CID_CODE 0x3220 #define PMIC6332_E3_CID_CODE 0x3230 The current configuration incorrectly uses the revision code as the CID. Therefore, the driver cannot detect the same PMIC of different revisions. (E1/E2 for MT6328, E1/E3 for MT6331/MT6332) Based on these, the CID of MT6328, MT6331 and MT6332 should be corrected. Additionally, the incorrect MT6331/MT6332 CID overlaps with the MT6320's actual CID: #define PMIC6320_E1_CID_CODE 0x1020 #define PMIC6320_E2_CID_CODE 0x2020 This causes a conflict in the switch-case statement of mt6397-irq.c, this prevents adding support for MT6320. Link: https://github.com/parthibx24/android_kernel_mediatek_k35/blob/4853d1fd9e40563573fa6d6b32b75d571a95e2b7/drivers/misc/mediatek/power/mt6735/pmic.h#L10-L12 Link: https://github.com/meizuosc/m75/blob/80ef1d26c5d73e131d064138ed09ff5a2be2bed8/mediatek/platform/mt6595/kernel/core/include/mach/pmic_mt6331_6332_sw.h#L9-L15 Link: https://github.com/toffyjan/android_Ticwatch_S_mooneye/blob/4f2a73b26f3821afc452cdce660cdbc73daf4e4a/arch/arm/mach-mt2601/include/mach/pmic_mt6320_sw.h#L29-L30 Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * mfd: mt6320: fix * arm: dts: mediatek: split mt6320 * arm: dts: mediatek: mt6320: add license header * arm: configs: lenovo-blade: add CONFIG_POWER_RESET_MT6323 * arm: dts: mediatek: mt6320: fix fix * arm: dts: mediatek: mt6320: fix fix fix * arm: configs: lenovo-blade: add CONFIG_PINCTRL_MT6320 * pinctrl: mt6320: Add pinfunc header file for mt6320 * dt-bindings: mfd: mt6397: add mediatek,mt6320-regulator * mfd: mt6397-core: add mt6320-regulator * arm: configs: lenovo-blade: add needed * Input: mtk-pmic-keys: add mt6320 support * WIP: MT6320 regulator * regulator: mt6320: add header * regulator: mt6320: replace based on mt6323 * wip: regulator: mt6320: early porting * regulator: mt6320: todo note * soc: mediatek: mtk-pmic-wrap: drop pwrap_mt6589_init_soc_specific same as pwrap_mt8135_init_soc_specific, only watchdog timeout is different Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * regulator: mt6320: by Claude * regulator: mt6320: Claude 2 * regulator: mt6320: Claude 3 Assisted-by: DeepSeek V4 Pro Assisted-by: Claude Sonnet 4.6 Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> --------- Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Some MediaTek SoCs split their I2C APDMA into two physically separate channels per bus, each with its own register block using TX-side offsets regardless of direction. mt6572 is one such SoC. The existing driver assumes a single unified APDMA channel where RX and TX live at RX_*/TX_* offsets within the same block, which is correct for the SoCs already in mainline but cannot reach the RX channel on dual-channel SoCs. Add a per-SoC compatible flag dma_separate_rx plus a second ioremap pointer pdmabase_rx for the RX channel. When the flag is clear (every currently supported SoC), pdmabase_rx aliases pdmabase and the RX-direction offsets collapse back to OFFSET_RX_MEM_ADDR / OFFSET_RX_LEN / OFFSET_RX_4G_MODE — byte-for-byte identical writes to the pre-patch code path. No behaviour change for unified-DMA SoCs. When the flag is set, the driver ioremaps the third reg entry as the RX channel and routes RX writes through that block using OFFSET_TX_* offsets (the RX channel uses the same TX-style register layout in its own block). DMA_START_EN is issued on the RX channel for read transfers; the TX channel still starts WR/WRRD paths as before. No SoC opts into this layout in this commit. Co-developed-by: rva3 <rva333@protonmail.com> [rva3: fix DMA enable for WRRD] Signed-off-by: rva3 <rva333@protonmail.com> Signed-off-by: Custom Firmware <gabin278@gmail.com>
MediaTek mt65xx family SoCs have no auto restart, however, they still support the WRRD mode in the hardware. Because auto_restart is set to 0, the WRRD mode will be never enabled, leading to read errors using i2cget with explicit register. Fix this by removing auto_restart check from the WRRD enable path. Signed-off-by: rva3 <rva333@protonmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
* pmdomain: mediatek: scpsys: init mt6589 support * arm: dts: mediatek: mt6589: fix scpsys address * Revert "arm: dts: mediatek: mt6589: fix scpsys address" This reverts commit f295374. * Revert "pmdomain: mediatek: scpsys: init mt6589 support" This reverts commit 4db11bb. * dt-bindings: power: mediatek: add mt6589 scpsys Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * arm: defconfig: lenovo-blade: add CONFIG_MTK_SCPSYS_PM_DOMAINS Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * dt-bindings: power: add mt6589 header Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * dt-bindings: power: mt6589 fix Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * pmdomain: mediatek: Add MT6589 support (wip?) because bp_cfg are not configured Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * arm: dts: mediatek: mt6589: add scpsys Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * pmdomain: mediatek: remove MTK_SCPD_NO_SRAM Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * pmdomain: mediatek: mt6589: fill topaxi protection Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> * pmdomain: mediatek: mt6589: cleanup Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com> --------- Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by:Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Assisted-by: DeepSeek:deepseek-v4-pro Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Assisted-by: DeepSeek:deepseek-v4-pro Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
no one wants it, IRQ_TYPE_LEVEL_HIGH is untested Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
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
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.