kernel-hacking-2024-linux-s.../drivers/clk/samsung
Sam Protsenko 7f36d3b696 clk: samsung: exynos850: Implement CMU_MFCMSCL domain
CMU_MFCMSCL clock domain provides clocks for MFC (Multi-Format Codec),
JPEG Codec and Scaler IP-cores. According to Exynos850 TRM, CMU_MFCMSCL
generates MFC, M2M, MCSC and JPEG clocks for BLK_MFCMSCL.

This patch adds next clocks:
  - bus clocks in CMU_TOP for CMU_MFCMSCL
  - all internal CMU_MFCMSCL clocks
  - leaf clocks for MFCMSCL, TZPC (TrustZone Protection Controller),
    JPEG codec, M2M (Memory-to-Memory), MCSC (Multi-Channel Scaler),
    MFC (Multi-Format Codec), PPMU (Platform Performance Monitoring
    Unit), SysMMU and SysReg

MFCMSCL related gate clocks in CMU_TOP were marked as CLK_IS_CRITICAL,
because:
  1. All of those have to be enabled in order to read
     /sys/kernel/debug/clk/clk_summary file
  2. When some user driver (e.g. exynos-sysmmu) disables some derived
     leaf clock, it can lead to CMU_TOP clocks disable, which then makes
     the system hang. To prevent that, the CLK_IS_CRITICAL flag is used,
     as CLK_IGNORE_UNUSED is not enough.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220809113323.29965-8-semen.protsenko@linaro.org
2022-08-23 10:14:47 +03:00
..
clk-cpu.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-cpu.h clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos-arm64.c clk: samsung: Make exynos850_register_cmu shared 2021-12-19 23:39:01 +01:00
clk-exynos-arm64.h clk: samsung: Make exynos850_register_cmu shared 2021-12-19 23:39:01 +01:00
clk-exynos-audss.c clk: samsung: exynos-audss: Make use of devm_platform_ioremap_resource() 2021-09-13 18:00:35 +02:00
clk-exynos-clkout.c clk: samsung: exynos-clkout: Use of_device_get_match_data() 2022-08-23 08:51:49 +03:00
clk-exynos4.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos5-subcmu.c clk: samsung: Change signature of exynos5_subcmus_init() function 2019-08-08 13:53:42 -07:00
clk-exynos5-subcmu.h clk: samsung: Change signature of exynos5_subcmus_init() function 2019-08-08 13:53:42 -07:00
clk-exynos7.c clk: exynos7: Mark aclk_fsys1_200 as critical 2021-04-07 11:37:17 +02:00
clk-exynos850.c clk: samsung: exynos850: Implement CMU_MFCMSCL domain 2022-08-23 10:14:47 +03:00
clk-exynos3250.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos4412-isp.c clk: samsung: exynos4412-isp: Make use of devm_platform_ioremap_resource() 2021-09-13 18:00:51 +02:00
clk-exynos5250.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos5260.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-exynos5260.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-exynos5410.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-exynos5420.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos5433.c clk: samsung: exynos5433: update apollo and atlas clock probing 2021-10-15 16:00:17 +02:00
clk-exynos7885.c clk: samsung: exynos7885: Add TREX clocks 2022-08-23 09:05:04 +03:00
clk-exynosautov9.c clk: samsung: exynosautov9: add fsys1 clock support 2022-08-23 09:21:57 +03:00
clk-fsd.c clk: samsung: fsd: Add cam_csi block clock information 2022-01-26 10:24:28 +01:00
clk-pll.c clk: samsung: fsd: Add initial clock support 2022-01-26 10:24:08 +01:00
clk-pll.h clk: samsung: fsd: Add initial clock support 2022-01-26 10:24:08 +01:00
clk-s3c64xx.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk-s3c2410-dclk.c ARM: s3c24xx: pass pointer to clk driver via platform data 2020-08-19 20:58:10 +02:00
clk-s3c2410.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk-s3c2412.c clk: samsung: s3c24xx: declare s3c24xx_common_clk_init() in shared header 2020-08-17 18:54:33 +02:00
clk-s3c2443.c clk: samsung: s3c24xx: declare s3c24xx_common_clk_init() in shared header 2020-08-17 18:54:33 +02:00
clk-s5pv210-audss.c clk: samsung: s5pv210-audss: Make use of devm_platform_ioremap_resource() 2021-09-13 18:01:09 +02:00
clk-s5pv210.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk.h clk: samsung: Remove meaningless __init and extern from header files 2021-11-19 19:32:36 +01:00
Kconfig clk: samsung: fix missing Tesla FSD dependency on Exynos 2022-02-01 09:14:53 +01:00
Makefile clk: samsung: add top clock support for Exynos Auto v9 SoC 2022-05-10 19:19:34 +02:00