platform/kernel/linux-starfive.git
8 months agoRISCV: configs: tizen_visionfive2: Change a module about PWMDAC 06/307906/1 accepted/tizen/unified/x/20240315.081617
Jaehoon Chung [Thu, 14 Mar 2024 06:25:39 +0000 (15:25 +0900)]
RISCV: configs: tizen_visionfive2: Change a module about PWMDAC

Change a module about PWMDAC. Its devices is always registered to card0.
So, HDMI-audio is always registered to card1. It's played from card0
by default during playing audio.
As loading pwmdac as module, it will be registered to card1.

Change-Id: I3f97cd4584061732cfa88cf90792c0534967a3b7
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: dts: starfive: Change the pinmux value about mclk_ext_pins 95/307895/1
Jaehoon Chung [Thu, 14 Mar 2024 01:13:39 +0000 (10:13 +0900)]
RISCV: dts: starfive: Change the pinmux value about mclk_ext_pins

mclk_ext_pins is using by i2stx0.
Vendor kernel is set to GPOUT_HIGH / GOPEN_ENABLE.

Change-Id: I65e1ffb79ec3b6c7b875074348b92e7cb399251a
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoperf: riscv_pmu_sbi: Set SYSCTL_LEGACY by default 16/307716/1 accepted/tizen/unified/x/20240313.092112
Jaehoon Chung [Tue, 12 Mar 2024 10:57:28 +0000 (19:57 +0900)]
perf: riscv_pmu_sbi: Set SYSCTL_LEGACY by default

This patch is workaround for VisionFive2.
During running ubrowser, SIGILL is occurred.
To prevent the SIGILL, sysctl_perf_user_acces is set SYSCTL_LEGACY by
default.

Change-Id: Idbfcbfd27a9286c8e23529fd793b99c4023a449f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: configs: tizen_visoinfive2: Disable RISCV_ISA_V config 15/307715/1
Jaehoon Chung [Tue, 12 Mar 2024 10:33:31 +0000 (19:33 +0900)]
RISCV: configs: tizen_visoinfive2: Disable RISCV_ISA_V config

Visionfive2 doesn't support V extenstion.
It needs to disable its configuration.

Change-Id: I6b6ddc5b7027cdd6bd411f53df787e22e48993af
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agodrm/edid/firmware: Add built-in edid/1280x720.bin firmware 09/307409/2 accepted/tizen/unified/x/20240312.111800
Seung-Woo Kim [Fri, 8 Mar 2024 05:45:26 +0000 (14:45 +0900)]
drm/edid/firmware: Add built-in edid/1280x720.bin firmware

Add built-in edid/1280x720.bin firmware to drm_edid_loader.
The mode is generated from tools/edid/ with below edid data:
   /* 1280x720: Modeline "1280x720" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync */
   #define HSYNC_POL 1
   #define VSYNC_POL 1
   #define YPULSE (63+5)
   #define XPULSE 128
   #define YPIX 720
   #define XPIX 1280
   #define VFREQ 60
   #define DPI 96
   #define CLOCK 74500
   #define VERSION 1
   #define REVISION 3
   #define XOFFSET 64
   #define YOFFSET (63+3)
   #define XY_RATIO XY_RATIO_16_9
   #define YBLANK 28
   #define XBLANK 384
   #define TIMING_NAME "1280x720"
   #include "edid.S"

Change-Id: Idfc610102a35494ee54aca06af411cfd9d737b0f
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: enable DRM_LOAD_EDID_FIRMWARE 40/307340/1 accepted/tizen/unified/x/20240311.095810
Seung-Woo Kim [Thu, 7 Mar 2024 09:05:39 +0000 (18:05 +0900)]
RISCV: config: tizen_visionfive2: enable DRM_LOAD_EDID_FIRMWARE

Enable CONFIG_DRM_LOAD_EDID_FIRMWARE from tizen defconfigs to
support drm.edid_firmware paremeter.
Adding "drm.edid_firmware=edid/1920x1080.bin" to cmdline makes
all connected display connector has the 1920x1080 mode.

Kernel has prebuilt edids, 800x600.bin, 1024x768.bin,
1280x1024.bin, 1600x1200.bin, 1680x1050.bin and 1920x1080.bin
and to use other mode edids, put custom edid files into path
/lib/firmware/edid/.

Note: to build custom edid binary, please refer tools/edid/.

Change-Id: Ia87be1d9f7a5e6af38201dc432fc046478e80dae
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: Enable HID_MULTITOUCH 27/307327/1
Seung-Woo Kim [Thu, 7 Mar 2024 08:23:14 +0000 (17:23 +0900)]
RISCV: config: tizen_visionfive2: Enable HID_MULTITOUCH

To support usb touchscreen, enable CONFIG_HID_MULTITOUCH.

Change-Id: I341e1a7951e704b0d16a98caea881305137c56cd
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: config: tizen_*: Sync with make savedefconfig 25/307325/1
Seung-Woo Kim [Thu, 7 Mar 2024 08:08:03 +0000 (17:08 +0900)]
RISCV: config: tizen_*: Sync with make savedefconfig

Store minimized defconfig with "make savedefconfig" for each tizen
defconfig files.

Change-Id: I484e3b5bde342ee36a4e02010b703c1c48190d16
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: Enable NVME driver 57/306457/1
Tymoteusz Wenerski [Wed, 21 Feb 2024 10:28:23 +0000 (11:28 +0100)]
RISCV: config: tizen_visionfive2: Enable NVME driver

Enable NVME driver to mount rootfs directly
from NVME drive during boot.

Change-Id: I60e02507f394c1001c32c802151c0152c24b1397
Signed-off-by: Tymoteusz Wenerski <t.wenerski@partner.samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: Disable JH7110 crypto driver tizen-6.6.y accepted/tizen/unified/toolchain/20240311.065846 accepted/tizen/unified/x/20240220.145856
Marek Szyprowski [Thu, 8 Feb 2024 12:36:53 +0000 (13:36 +0100)]
RISCV: config: tizen_visionfive2: Disable JH7110 crypto driver

JH7110 crypto driver seems to be causing memory trashing, so temporarily
disable it until the issue is really fixed.

This fixes the 'i2c controller timed out' and some other random issues.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I3c1030a0eaf41d7cf97b0fdc6d228bc61681ef5e

8 months agoRISCV: config: enable wave511 video codec driver as module
Seung-Woo Kim [Mon, 5 Feb 2024 07:24:00 +0000 (16:24 +0900)]
RISCV: config: enable wave511 video codec driver as module

Enable wave511 video codec driver as module and also enable all
depending configs.

Change-Id: I0aeb0dfc0a844a3cc17c5054df61454c3f88e5fb
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agomedia: chips-media: wave511: Fix null deference in wave5_vpu_dec_clr_disp_flag()
Seung-Woo Kim [Wed, 24 Jan 2024 01:50:20 +0000 (10:50 +0900)]
media: chips-media: wave511: Fix null deference in wave5_vpu_dec_clr_disp_flag()

If wave5_vpu_dec_open() is not called before calling
wave5_vpu_dec_clr_disp_flag(), there is null deference. Fix the
null deference by checking codec_info.

Change-Id: I1a4d9a75681df293e1f67dd4338c6f770d789223
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: dts: starfive: enable jpg, vpu_dec and vpu_enc nodes in visionfive-2
Seung-Woo Kim [Wed, 24 Jan 2024 01:50:06 +0000 (10:50 +0900)]
RISCV: dts: starfive: enable jpg, vpu_dec and vpu_enc nodes in visionfive-2

To support video codec, wave vpu, enable related jpg, vpu_dec and
vpu_enc nodes in visionfive-2.

NOTE: Only wave511 vpu_dec is supported with wave video codec
driver because visionfive-2 vpu_enc wave420 is different from
currently supported wave521 by the driver.

Change-Id: Icdd828ce35c98eee9a90a82c69c13614e53bb970
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoriscv: dts: starfive: jh7110: add dma-coherent for vpu/jpu
Samin Guo [Wed, 23 Aug 2023 02:43:54 +0000 (10:43 +0800)]
riscv: dts: starfive: jh7110: add dma-coherent for vpu/jpu

Use DMA-Coherent to avoid DIRECT_REMAP when allocating DMA
buffers

Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
[sw0312.kim: cherry-pick the commit dfb44f0122ba from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Ia0d3955010e963c0fb635e10081c1a2ab31155d4

8 months agoriscv: dts: starfive: jh7110: Add vpu/jpu nodes
Samin Guo [Thu, 8 Jun 2023 08:01:33 +0000 (16:01 +0800)]
riscv: dts: starfive: jh7110: Add vpu/jpu nodes

Add vpu/jpu nodes for jh7110 SOC

Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
[sw0312.kim: port the commit e2d1cdfe5ff5 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel
 - Port upstream jh7110 clk and sys-reset controller macro name]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Iae673d805d9549ba96f3c08ee93ea69148f68e1e

8 months agoMedis:wave5: Remove inexistent including
Som Qin [Wed, 30 Aug 2023 06:10:50 +0000 (14:10 +0800)]
Medis:wave5: Remove inexistent including

File sifive_l2_cache.h is inexistent in sdk 6.1 version.

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit ed137a80cd88 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel
 - Change sifive cache flush function name properly]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Id9d63d72fab1ab0ddeecdb46aeaa19cb0045ed36

8 months agoMedia:Wave5: Allocate more linear buffer to avoid block in gst-play
Som Qin [Wed, 30 Aug 2023 01:23:21 +0000 (09:23 +0800)]
Media:Wave5: Allocate more linear buffer to avoid block in gst-play

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit a95153b6cedf from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I526c47f67fa196e27d7e4ad5e685252e8a034989

8 months agoMedia:Wave5: Fix segment fault when finish buffer
Som Qin [Tue, 29 Aug 2023 02:18:47 +0000 (10:18 +0800)]
Media:Wave5: Fix segment fault when finish buffer

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit 9aea96f91ea6 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Ic2bf17247ed6ec08582d5b98b4e0be24d6a07ce0

8 months agoMedia: Wave5: Fix plane size mismatch
Som Qin [Fri, 25 Aug 2023 08:13:01 +0000 (16:13 +0800)]
Media: Wave5: Fix plane size mismatch

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit b4e474a223e8 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: If69aaf750c83daf21b57c459f576ee2200f9c40e

8 months agoMedia:Wave5: Fix driver compile warning
Som Qin [Mon, 7 Aug 2023 07:21:30 +0000 (15:21 +0800)]
Media:Wave5: Fix driver compile warning

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit 5d74ac40d250 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: If42384286243423071abcd9ab2107c0507bdc4e8

8 months agoMedia:Wave5: Add contiguous planes format support (YUV420/NV12/NV21)
Som Qin [Wed, 2 Aug 2023 03:38:51 +0000 (11:38 +0800)]
Media:Wave5: Add contiguous planes format support (YUV420/NV12/NV21)

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit 80c6e7df80bd from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I4203a253b3c7577a5849ca2582099a2cf07985ea

8 months agoMedia:wave5: Driver get clks from DTS instead of hard coding.
Som Qin [Tue, 1 Aug 2023 07:03:59 +0000 (15:03 +0800)]
Media:wave5: Driver get clks from DTS instead of hard coding.

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit 167fdf2d4c34 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I31ecc8cb300d21ab95c231d14875dcac93e337a6

8 months agoMedia:wave5: Fix stride mismatching of decoding frame buffers
Som Qin [Tue, 1 Aug 2023 06:09:12 +0000 (14:09 +0800)]
Media:wave5: Fix stride mismatching of decoding frame buffers

When bitstream format bitdepth > 8, stride of compressed frame map buffers shoule be recalculated.

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit a9830d5d01e9 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I58b550e525c8dde7175d09c2934f4f81e08df3fc

8 months agoMedia:wave5: wave5 v4l2 driver support gst/ffmpeg
Som Qin [Thu, 9 Feb 2023 02:31:40 +0000 (10:31 +0800)]
Media:wave5: wave5 v4l2 driver support gst/ffmpeg

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit 3f710b8fa137 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel
 - update sifive cache function name properly and add guard for its config option]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Ib264712e893c737a28c42a566607b7a55d7f7117

8 months agoMedia:wave5: set default format for display_fmt
Som Qin [Thu, 12 Jan 2023 01:16:41 +0000 (09:16 +0800)]
Media:wave5: set default format for display_fmt

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit 6d80c00e9258 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Ic0f74bf12580e72ba3209c766e8d167c204702c5

8 months agomedia: add wave511 v4l2 support for starfive platfrom
Som Qin [Thu, 22 Dec 2022 07:33:22 +0000 (15:33 +0800)]
media: add wave511 v4l2 support for starfive platfrom

Signed-off-by: Som Qin <som.qin@starfivetech.com>
[sw0312.kim: cherry-pick the commit a76c4f273c26 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I170dd61340d2da9155dda478e570828347c5bdaf

8 months agomedia: chips-media: wave5: Add TODO file
Nas Chung [Wed, 7 Dec 2022 12:13:48 +0000 (13:13 +0100)]
media: chips-media: wave5: Add TODO file

Add a TODO file with remaining elements to be improved/added.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Nas Chung <nas.chung@chipsnmedia.com>
[sw0312.kim: cherry-pick the commit b9ab65a219e6 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I5249e0f04859224e17b3a1d7702093eedaf000ca

8 months agomedia: chips-media: wave5: Add the v4l2 layer
Nas Chung [Wed, 7 Dec 2022 12:13:47 +0000 (13:13 +0100)]
media: chips-media: wave5: Add the v4l2 layer

Add the decoder and encoder implementing the v4l2
API. This patch also adds the Makefile and the VIDEO_WAVE_VPU config

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Nas Chung <nas.chung@chipsnmedia.com>
[sw0312.kim: cherry-pick the commit 8f188e8db60e from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Ia41bd9e4afd79fb415fd69722f3c488575ea6958

8 months agomedia: chips-media: wave5: Add vpuapi layer
Nas Chung [Wed, 7 Dec 2022 12:13:46 +0000 (13:13 +0100)]
media: chips-media: wave5: Add vpuapi layer

Add the vpuapi layer of the wave5 codec driver.
This layer is used to configure the hardware according
to the parameters.

Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Nas Chung <nas.chung@chipsnmedia.com>
[sw0312.kim: cherry-pick the commit 20c1678a8e65 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I7e95e00738cc2176138c494c9929dcf5f1250eae

8 months agomedia: platform: chips-media: Move Coda to separate folder
Sebastian Fricke [Wed, 7 Dec 2022 12:13:45 +0000 (13:13 +0100)]
media: platform: chips-media: Move Coda to separate folder

Prepare the folder structure for a second Chips&Media driver.
Move the Coda driver to a sub-directory.

Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
[sw0312.kim: cherry-pick the commit b98dc9cf7754 from https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I27c82d2154c69aae68c423cc2d2a152ca6efa8b6

8 months agoclk: starfive: jh7110-sys: Do not disable vdec clocks
Seung-Woo Kim [Mon, 5 Feb 2024 07:21:53 +0000 (16:21 +0900)]
clk: starfive: jh7110-sys: Do not disable vdec clocks

As like vf2 v6.1, do not disable vdec clocks by setting as
CLK_IGNORE_UNUSED to use vdec hw codec.

Change-Id: I98ebc1bd2bc92fb3d0dd634305ac7e31ddf3be1e
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: configs: tizen_visionfive2: Enable RTL8XXXU config as module
Jaehoon Chung [Mon, 5 Feb 2024 02:54:41 +0000 (11:54 +0900)]
RISCV: configs: tizen_visionfive2: Enable RTL8XXXU config as module

Enable RTL8XXXU configuration as module. To enable it, enable
LEDS_CLASS with dependency.

Change-Id: I9ff25360d2d17bc315db7e09f9958e170ab1691d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: configs: tizen_qemu: Enable virtio sound
Marek Pikuła [Thu, 1 Feb 2024 15:30:57 +0000 (16:30 +0100)]
RISCV: configs: tizen_qemu: Enable virtio sound

Change-Id: Ieca3126bd4808ea6245a9d6e9eb7ff297ed825b8
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
8 months agoRISCV: configs: tizen_qemu: Enable SBI earlycon
Marek Pikuła [Thu, 1 Feb 2024 15:30:11 +0000 (16:30 +0100)]
RISCV: configs: tizen_qemu: Enable SBI earlycon

Change-Id: Icf986f0e8f2d91cb81c79552375a4d76b70ad3be
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
8 months agocrypto: starfive: jh7110-rsa: Fix the wrong error handling
Jaehoon Chung [Mon, 29 Jan 2024 03:47:03 +0000 (12:47 +0900)]
crypto: starfive: jh7110-rsa: Fix the wrong error handling

Fix the wrong error handling.
Even though error is not occurred, rsa_data should be freed.

Change-Id: I40c5cc8bfb7b06e34524e37fc440e515204adf1e
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: configs: tizen_visionfive2: Enable AMBA_PL08X and CRYTPO_DEV_JH7110
Jaehoon Chung [Mon, 29 Jan 2024 04:15:38 +0000 (13:15 +0900)]
RISCV: configs: tizen_visionfive2: Enable AMBA_PL08X and CRYTPO_DEV_JH7110

Enable AMBA_PL08X and CRYTPO_DEV_JH7110 configurations.

Change-Id: I4f5f31d1753a3078df4d058cb10f165eb0c348fd
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agodrm/verisilicon: vs_dc: Fix to disable interrupt on probe
Hoegeun Kwon [Mon, 29 Jan 2024 02:45:44 +0000 (11:45 +0900)]
drm/verisilicon: vs_dc: Fix to disable interrupt on probe

There is a case where interrupt enable is set in decon req before
decon probe is completed. There is a problem that a kernel panic
occurs if an interrupt is executed before the decon is bound. Disable
interrupts before registering interrupts. Also, irq generated when the
interrupt state is disabled is ignored.

Change-Id: I0b611aadf6c16ea8f850eb570f569e7bad792ce1
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoriscv: dts: starfive: Disable mmc0 node for eMMC
Jaehoon Chung [Mon, 29 Jan 2024 02:04:35 +0000 (11:04 +0900)]
riscv: dts: starfive: Disable mmc0 node for eMMC

Tizen doesn't use eMMC on Visionfive2.
It doesn't need to enable its node.

Change-Id: I7cdcd4fdcb1cdc5b0a164e93ef65169cb8c62a97
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: Enable HW_RANDOM_JH7110
Jaehoon Chung [Mon, 29 Jan 2024 02:00:15 +0000 (11:00 +0900)]
RISCV: config: tizen_visionfive2: Enable HW_RANDOM_JH7110

Enable HW_RANDOM_JH7110 config.

Change-Id: I867004762f3bf9278aefd97819fc67d4ecf69aa7
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agocrypto: starfive - Remove unneeded NULL checks
Jia Jie Ho [Mon, 4 Dec 2023 03:02:39 +0000 (11:02 +0800)]
crypto: starfive - Remove unneeded NULL checks

NULL check before kfree_sensitive function is not needed.

Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202311301702.LxswfETY-lkp@intel.com/
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from mainline commit 555e387047761eb909a0a1a8230efad3fa3e82ca)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: I2b868f089ac0bf9fa49bf2657f3fea98fa5c2cfa

8 months agocrypto: starfive - Remove cfb and ofb
Herbert Xu [Thu, 30 Nov 2023 10:12:55 +0000 (18:12 +0800)]
crypto: starfive - Remove cfb and ofb

Remove the unused CFB/OFB implementation.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from mainline commit 015b8e121082671f14cf2912df9afbfd139575b4)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: I79e25261e68f7dbcf5d707f9f10be8f4f35e81dd

8 months agocrypto: starfive - Pad adata with zeroes
Jia Jie Ho [Mon, 20 Nov 2023 03:12:42 +0000 (11:12 +0800)]
crypto: starfive - Pad adata with zeroes

Aad requires padding with zeroes up to 15 bytes in some cases. This
patch increases the allocated buffer size for aad and prevents the
driver accessing uninitialized memory region.

v1->v2: Specify reason for alloc size change in descriptions.

Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from mainline commit 8a0d929b53c383ba678ed65742e4a8982f71d5c0)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: I4d74dc9ce42516838cee07d039a3f13f457e5336

8 months agocrypto: starfive - RSA poll csr for done status
Jia Jie Ho [Tue, 14 Nov 2023 17:12:14 +0000 (01:12 +0800)]
crypto: starfive - RSA poll csr for done status

Hardware could not clear irq status without resetting the entire module.
Driver receives irq immediately when mask bit is cleared causing
intermittent errors in RSA calculations. Switch to use csr polling for
done status instead.

Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from mainline commit ba6e3ee4f5d6c13e984f8cb5fb1706ca39ff4a0e)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: Ic3ed68e8390f6e9ca171f601a36e2641bc94720f

8 months agocrypto: starfive - Update driver dependencies
Jia Jie Ho [Tue, 14 Nov 2023 17:12:13 +0000 (01:12 +0800)]
crypto: starfive - Update driver dependencies

Change AMBA_PL08X to required dependency as the hash ops depends on it
for data transfer.

Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from mainline commit 29ce1bce3a713a8031a88f80224b72696813447d)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: I1f021fbfd4369c1f1d14edf291a1c9b0cdb6b57a

8 months agodmaengine: dw-axi-dmac: Check the HAS_APB_REGS flag
Jaehoon Chung [Tue, 23 Jan 2024 04:22:34 +0000 (13:22 +0900)]
dmaengine: dw-axi-dmac: Check the HAS_APB_REGS flag

Check the AXI_DMA_FLAGS_HAS_APB_REGS flags before checking
chip->apb_regs.

Even though its flags doesn't set, the below message is displaying like error.

[   24.879187] dw_axi_dmac_platform 16050000.dma-controller: apb_regs not initialized
[   26.928088] dw_axi_dmac_platform 16050000.dma-controller: apb_regs not initialized

Change-Id: Ia2751ee2308d0b65dc2ec6b69c50be6af578546e
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoriscv: dts: starfive: Disable i2srx/i2stx1 nodes
Jaehoon Chung [Mon, 22 Jan 2024 01:33:22 +0000 (10:33 +0900)]
riscv: dts: starfive: Disable i2srx/i2stx1 nodes

Disable i2srs/i2stx1 nodes.
It doesn't need to use and it's using same pins with tdm.

Change-Id: I62c41ae9807bab439684e3715d5569f91b67089c
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agogpu: drm: verisilicon: Fix the build error about vs_gem
Jaehoon Chung [Wed, 17 Jan 2024 05:01:45 +0000 (14:01 +0900)]
gpu: drm: verisilicon: Fix the build error about vs_gem

Fix the build error about vs_gem.
During updating to v6.6, some callback functions are deprecated.
To fix the call sequence, add the vs_gem_dmabuf-mmap function.

Change-Id: I80a5715924c77faf7a7b68b17ddc6063e2f4333a
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agodrm/verisilicon: Add cache flush feature when dmabuf sync
Hoegeun Kwon [Mon, 17 Jul 2023 07:38:34 +0000 (16:38 +0900)]
drm/verisilicon: Add cache flush feature when dmabuf sync

Add cache flush for gem memory. Cache flushing is done when the
dmabuf sync ioctl is called.

Change-Id: I8663a391b18bb10f69007bd631fec492c0e347b2
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
(cherry picked from commit e318dd5d3e8f38910b4a61749c58d9992e717e97)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agodrm/verisilicon: Add gem driver for JH7110 SoC
Keith Zhao [Tue, 13 Jun 2023 04:40:16 +0000 (13:40 +0900)]
drm/verisilicon: Add gem driver for JH7110 SoC

This patch implements gem related APIs for JH7100 SoC.

Signed-off-by: Keith Zhao <keith.zhao@starfivetech.com>
[cherry-pick : https://patchwork.kernel.org/project/linux-riscv/cover/20230602074043.33872-1-keith.zhao@starfivetech.com/]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
[jh80.chung: cherry picked from commit e984d033a5ff1917c0a33f258e4ba4c354407e45]

jh80.chung: Removed the conflict codes in vs_drv.c

Change-Id: Iec8976e329ef59f2a0b98203952e4dafb6f38448
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: dts: starfive: Increase CMA range from 512MB to 768MB
Hoegeun Kwon [Wed, 9 Aug 2023 02:17:00 +0000 (11:17 +0900)]
RISCV: dts: starfive: Increase CMA range from 512MB to 768MB

In UHD resolution, there are many cases where alloc fail due to lack
of CMA capacity. Increase CMA range to prevent cma_alloc failed.

Change-Id: I6b0c355b773b08d09381e738329b986113982768
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoriscv: dts: starfive: Add HDMI-Sound card node
Jaehoon Chung [Tue, 16 Jan 2024 07:52:24 +0000 (16:52 +0900)]
riscv: dts: starfive: Add HDMI-Sound card node

Add HDMI-Sound card node as sound-i2s.

Change-Id: Iff48e6cd370795a69ccdb026ea9de2412045fc19
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRevert "ASoC: dwc: Fix non-DT instantiation"
Jaehoon Chung [Tue, 16 Jan 2024 07:39:38 +0000 (16:39 +0900)]
Revert "ASoC: dwc: Fix non-DT instantiation"

This reverts commit 9c97790a07dc4f9bdc6e1701003dc9b86f749c71.

In Mainline, it's considering Non-DT case. But case of starfive is using
dt system. This commit is causing about not getting platform_data.
So i2s of starfive is recognizing to "is_jh7110 = 0".

[    4.054162] designware-i2s: probe of 100e0000.i2s failed with error -110
[    4.549831] designware-i2s: probe of 120b0000.i2s failed with error -110
[    5.045455] designware-i2s: probe of 120c0000.i2s failed with error -110

Change-Id: Ie87fbe397e2453659471a305a2864bc30d538116

8 months agoriscv: dts: starfive: Add the nodes and pins of I2Srx/I2Stx0/I2Stx1
Xingyu Wu [Mon, 21 Aug 2023 14:41:51 +0000 (22:41 +0800)]
riscv: dts: starfive: Add the nodes and pins of I2Srx/I2Stx0/I2Stx1

Add I2Srx/I2Stx0/I2Stx1 nodes and pins configuration for the
StarFive JH7110 SoC.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
(cherry picked from commit 92cfc35838b2a4006abb9e3bafc291b56f135d01)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: I77df1fe119de2ae1712a13b580315c226e43f13a

8 months agoriscv: dts: starfive: pinfunc: Fix the pins name of I2STX1
Xingyu Wu [Mon, 21 Aug 2023 14:41:50 +0000 (22:41 +0800)]
riscv: dts: starfive: pinfunc: Fix the pins name of I2STX1

These pins are actually I2STX1 clock input, not I2STX0,
so their names should be changed.

Change-Id: I3dbbad8963b08052d834937b379fa16905ae159c
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: configs: Enable RTC_DRV_STARFIVE config
Jaehoon Chung [Tue, 16 Jan 2024 03:07:13 +0000 (12:07 +0900)]
RISCV: configs: Enable RTC_DRV_STARFIVE config

Enable CONFIG_RTC_DRV_STARFIVE configuration.

Change-Id: I10219a6e4a0a1f27d8620a0c2877ea802d892a79
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agortc: starfive: Add support jh7100 rtc driver
SaminGuo [Wed, 17 Nov 2021 07:55:45 +0000 (15:55 +0800)]
rtc: starfive: Add support jh7100 rtc driver

Add support rtc driver and device tree of starfive JH7110. This
driver is from [1], and the imported patch list[2]. We modified
compatible and clock in the device-tree to fix kernel v6.1.

[1] https://github.com/starfive-tech/linux

[2] patch list from v5.15.y
  fc56ea25c7ca ziv.xu   rtc:starfive: add pm ops for rtc
  cc1a7edcd475 ziv.xu   rtc-starfive.c:add system pm for rtc
  d369d91bd926 Hal Feng rtc: starfive: Standardize property "compatible"
  3d1b30793d55 Hal Feng rtc: starfive: Fix time may be not updated when date updated
  d85e29ea7625 Hal Feng rtc: starfive: Fix command 'hwclock' can't work in rootfs
  f344adc8fb81 Hal Feng rtc: starfive: Change reset api
  8cf53d91eb5f Hal Feng rtc: starfive: Improve rtc driver
  66422888adb5 Hal Feng rtc: starfive: Improve coding style
  99ae7e93b897 Hal Feng rtc: starfive: Use stardand clock and reset apis for initialization
  8b570194e872 samin    rtc: starfive: Get the interrupt status using Completion.
  1fafc8d35f88 SaminGuo rtc: starfive-rtc: Add RTC support for StarFive JH7110.

Signed-off-by: SaminGuo <samin.guo@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: ziv.xu <ziv.xu@starfive.com>
Change-Id: I4475e4314237bb8be670aefa40039c166107cb15
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: config: tizen_visionfive2_defconfig: Enable img gpu config
Hoegeun Kwon [Thu, 13 Jul 2023 09:49:56 +0000 (18:49 +0900)]
RISCV: config: tizen_visionfive2_defconfig: Enable img gpu config

Enable Imagination PoerVR GPU driver defconfig.

Change-Id: If8e8b51fe59a367a0981f65b5cc7b3f44f9a8782
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agogpu: drm: img: flush sifive cache only when defined
Seung-Woo Kim [Tue, 9 Jan 2024 08:47:47 +0000 (17:47 +0900)]
gpu: drm: img: flush sifive cache only when defined

If no sifive cache flush is defined, do not flush.

Change-Id: Iae4ac4e1d96a543144c0b3e8bbedc476154de84b
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agogpu: drm: img: Replace system work flush with img dedicated workqueue
Seung-Woo Kim [Tue, 9 Jan 2024 08:47:54 +0000 (17:47 +0900)]
gpu: drm: img: Replace system work flush with img dedicated workqueue

To remove deprecated flush_scheduled_work() after the commit
20bdedafd2f6 ("workqueue: Warn attempt to flush system-wide workqueues."),
add img dedicated unordered wq and queue/flush the wq instead of
system work.

Change-Id: I316b2858abf15e11d9ed40550a41f9494d421c87
Ref: 848a4e5c096d ("drm/i915: add a dedicated workqueue inside drm_i915_private")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agogpu: drm: img: replace vma->vm_flags modification with vm_flags_set()
Seung-Woo Kim [Tue, 9 Jan 2024 08:47:18 +0000 (17:47 +0900)]
gpu: drm: img: replace vma->vm_flags modification with vm_flags_set()

Replace vma->vm_flags direct modification with modifier call,
vm_flags_set().

Change-Id: If3bd4d2dd13e0bcee7563c12a9d6ea973f90ec50
Ref: 1c71222e5f23 ("mm: replace vma->vm_flags direct modifications with modifier calls")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agosoc: starfive: Add feature for hw event masks
Hoegeun Kwon [Tue, 9 Jan 2024 08:47:25 +0000 (17:47 +0900)]
soc: starfive: Add feature for hw event masks

Add hw event masks off feature for use with other drives.

Signed-off-by: Walker Chen <walker.chen@linux.starfivetech.com>
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I5b8862cd50b35f0b8ceed770d95a5c17bde8b12c

8 months agogpu: drm: img: Fix to check fence list instead of fence count
Hoegeun Kwon [Tue, 9 Jan 2024 08:45:59 +0000 (17:45 +0900)]
gpu: drm: img: Fix to check fence list instead of fence count

In order to generate a reserve fences, we check to see if there is a
fence list instead of fence count.

Change-Id: Ibd45c154610221dd7bcd4de96570fc00066457c8
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agogpu: drm: img: Fix to use iterator instead of list
Hoegeun Kwon [Tue, 9 Jan 2024 08:45:52 +0000 (17:45 +0900)]
gpu: drm: img: Fix to use iterator instead of list

Change the dma fence management method from list to iterator method.
Also the fences have to added individually on each other driver. So
dma_resv_add_fence does not add a fence, but dma_resv_reserve_fences
is used to add it.

Change-Id: I4c87608b9878e218fe0ae5cc5acb564c1f9d5db9
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agogpu: drm: img: Fix to use jh71xx_pmu header
Hoegeun Kwon [Tue, 9 Jan 2024 08:45:46 +0000 (17:45 +0900)]
gpu: drm: img: Fix to use jh71xx_pmu header

Fix to use jh71xx_pmu header and sifive_flush64_range.

Change-Id: I9ad7d5f3de347be0f26ceb4633b0125d2a6480ef
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agogpu: drm: img: Fix PVRSRV device initialization time
Hoegeun Kwon [Tue, 9 Jan 2024 08:45:39 +0000 (17:45 +0900)]
gpu: drm: img: Fix PVRSRV device initialization time

If the initialization time is a probe, the problem of not loading the
firmware occurs. Fix the initialization time to open time.

Change-Id: I1372230fdbe754845146eacd7bbb7b4e248c2c4f
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agodrm/GPU: Add support Imagination PowerVR GPU driver v1.17
shanlong.li [Tue, 9 Jan 2024 08:45:31 +0000 (17:45 +0900)]
drm/GPU: Add support Imagination PowerVR GPU driver v1.17

Add support Imagination PowerVR GPU driver with starfive JH7110. This
driver is from [1], and the imported patch list[2]. We modified
driver compatible and clock in the device-tree to fix kernel v6.1.

[1] https://github.com/starfive-tech/linux

[2] patch list from v5.15.y
  b9049f928d30 gpu: drm: img: disable PDUMP
  092482e4811e driver:GPU: adjust interface sequence 1. add axi disable interface 2. adjust the interface order between clk and
  b320e5501342 gpu:driver: fix up hibernation resume problem
  0dea95655224 driver:gpu: add gpu runtime pm
  0381e221bc0d driver:gpu: gpu driver change to release
  6ccc2d8209d9 driver:GPU:set the gpu frequency to 594Mhz
  d81e5fcbcccc driver:gpu: gpu driver upgrade to 1.17
  18a68c90c061 Add Wayland with GPU support.
  e4d3672cccbe driver:GPU: use pm runtime interface
  4c34123a3d81 driver:GPU: Using the GPU driver release version
  1ed4d6d30d92 driver:GPU: Disable apm to resolve pvrdebug -dd suspension  error
  13e336d5b5ae driver:GPU: adjust ClockSpeed to 409.6MHz
  c2a828350549 driver:GPU: fix compile warnings
  2ba6ee6d00df driver:GPU: add gpu driver

Signed-off-by: shanlong.li <shanlong.li@starfivetech.com>
Change-Id: I8ac4ba0038e8ba48c48d615f8700c49c7ff706b9
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agodrm/vs: rename drm driver name for starfive prebuilt gbm
Seung-Woo Kim [Fri, 12 Jan 2024 08:35:11 +0000 (17:35 +0900)]
drm/vs: rename drm driver name for starfive prebuilt gbm

The prebuilt libgbm buffer menager requires "starfive" drm driver
name to initialize and without the "starfive" drm driver, prebuilt
gpu ddk is failed to initialize gl. To use starfive prebuilt gpu
binary, use name as "starfive".

Change-Id: I92c7b6ba90f2aae9ed4035cd82ba0b57115ad900
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: Enable USB_DUMMY_HCD as module for usb hcd tetst
Seung-Woo Kim [Fri, 12 Jan 2024 06:36:32 +0000 (15:36 +0900)]
RISCV: config: tizen_visionfive2: Enable USB_DUMMY_HCD as module for usb hcd tetst

To support usb host hcd test, enable CONFIG_USB_DUMMY_HCD
as module.

Change-Id: I6811466c1be203e21ad469f99ba0e262ff740203
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: Disable unnecessary modules
Seung-Woo Kim [Tue, 9 Jan 2024 08:42:06 +0000 (17:42 +0900)]
RISCV: config: tizen_visionfive2: Disable unnecessary modules

Disable unnecessary modules including DRM_I2C_*, BLK_DEV_NVME,
EFIVAR_FS.

Change-Id: I22daf65fa0f29e9896bed56e5326aff850557db5
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoRISCV: config: tizen_visionfive2: Enable TIZEN_INFORM_REBOOT
Jaehoon Chung [Wed, 3 Jan 2024 01:06:59 +0000 (10:06 +0900)]
RISCV: config: tizen_visionfive2: Enable TIZEN_INFORM_REBOOT

Enable TIZEN_INFORM_REBOOT configuration to save a reboot paramemter.
It will be parsed by u-boot.

Change-Id: I40a102e9293b339036d2db83f63d98df249acf25
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agomisc: add Tizen reboot notifier for passing reboot parameter
Jaehoon Chung [Tue, 2 Jan 2024 00:31:18 +0000 (09:31 +0900)]
misc: add Tizen reboot notifier for passing reboot parameter

To provide a reboot command with argument, add tien-inform-reboot.c file.
Its argument will be passed to U-boot, and u-boot will be parsing its argument.
Then it will be entering to a proper mode.

This patch is based on Tizen RPI4 kernel tree.

Change-Id: Icfcec0a26b1cf7a53c5c4352991463df9c67aed6
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: configs: tizen_visionfive2: Enable SND_SOC_JH7110_PWMDAC
Seung-Woo Kim [Tue, 9 Jan 2024 05:46:54 +0000 (14:46 +0900)]
RISCV: configs: tizen_visionfive2: Enable SND_SOC_JH7110_PWMDAC

Enable CONFIG_SND_SOC_JH7110_PWMDAC to support audio jack from
visionfive2 board.

Change-Id: If503cc4aec04f5dd7b2450037ccbe8023573b964
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoriscv: dts: starfive: Add JH7110 PWM-DAC support
Hal Feng [Mon, 14 Aug 2023 08:06:18 +0000 (16:06 +0800)]
riscv: dts: starfive: Add JH7110 PWM-DAC support

Add PWM-DAC support for StarFive JH7110 SoC.

Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
(cherry picked from commit be326bee09374a2ebd18cb5af8fcd6f1e7825260)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: I643966a59e0dfadb8f333878e693d30937213966
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoASoC: dt-bindings: Add StarFive JH7110 PWM-DAC controller
Hal Feng [Mon, 14 Aug 2023 08:06:16 +0000 (16:06 +0800)]
ASoC: dt-bindings: Add StarFive JH7110 PWM-DAC controller

Add bindings for the PWM-DAC controller on the JH7110
RISC-V SoC by StarFive Ltd.

Change-Id: If19327ecb037721d36bcf5db4b5f43a33efb1d40
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Link: https://lore.kernel.org/r/20230814080618.10036-2-hal.feng@starfivetech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoASoC: starfive/jh7110-pwmdac: Convert to platform remove callback returning void
Uwe Kleine-König [Fri, 13 Oct 2023 22:19:49 +0000 (00:19 +0200)]
ASoC: starfive/jh7110-pwmdac: Convert to platform remove callback returning void

The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.

To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new(), which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Change-Id: Ie5519666aa24031a6da332db08983b4db94eeec7
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20231013221945.1489203-12-u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoASoC: Update jh7110 PWM DAC for ops move
Mark Brown [Mon, 11 Sep 2023 22:48:39 +0000 (23:48 +0100)]
ASoC: Update jh7110 PWM DAC for ops move

For some reason the JH7110 PWM DAC driver made it through build testing
in spite of not being updated for the move of probe() to the ops struct.
Make the required update.

Change-Id: I340aeec650efb93dd65ff79b61f2d45e349fd693
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoASoC: starfive: Add JH7110 PWM-DAC driver
Hal Feng [Mon, 14 Aug 2023 08:06:17 +0000 (16:06 +0800)]
ASoC: starfive: Add JH7110 PWM-DAC driver

Add PWM-DAC driver support for the StarFive JH7110 SoC.

Change-Id: If71867c4a72ac2b4c021b5a383e56d0de1eaa6f5
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Link: https://lore.kernel.org/r/20230814080618.10036-3-hal.feng@starfivetech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: configs: tizen_visionfive2: Enable USB_CDNS3_STARFIVE_EXTCON
Jaehoon Chung [Mon, 8 Jan 2024 09:56:15 +0000 (18:56 +0900)]
RISCV: configs: tizen_visionfive2: Enable USB_CDNS3_STARFIVE_EXTCON

Enable USB_CDNS3_STARFIVE_EXTCON configuration.
Additionally, enable SOC_SIFIVE config. Some drivers can be using SOC_SIFIVE.

Change-Id: I2225e0d5b6a5ca3eefc0de91d44ff6be70e1a7b4
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agousb: cdns3: starfive: Disable USb 3.0 phy mode
Jaehoon Chung [Mon, 8 Jan 2024 09:51:44 +0000 (18:51 +0900)]
usb: cdns3: starfive: Disable USb 3.0 phy mode

This code is referred to v6.1 Tizen kernel.
There is a code to disconnect usb3.0 phy. It's only using usb2_mode.
To use sdb, tizen needs to use only usb2_mode.

Change-Id: Ie28f501ecd12f8f92e3a2fa653ee722c682bffa5
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoWORKAROUND: usb: cdns3: Restore onchip memory reservation
Seung-Woo Kim [Thu, 24 Aug 2023 08:02:26 +0000 (17:02 +0900)]
WORKAROUND: usb: cdns3: Restore onchip memory reservation

Restore onchip meory reservation of disable in_ep when hw
configuration is not done as a workaround.
Without restoring, disabling and re-enabling eps causes
check failure of onchip memory reseration size.

This fixes usb communication failure of ffs_func_set_alt()
calling usb_ep_disable() and usb_ep_enable() for all ep.

Note: for non workaround, it should calculate exact reservation
size from ep type and usb speed and should restore out_ep memory
reservation when there is no more enabled out_ep.

Change-Id: Ifca0052f96fd777036e01b9ddb7ae6af54bba911
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agousb: gadget: f_fs: Limit the maximum length of data transferring
Dongwoo Lee [Mon, 21 Aug 2023 11:25:43 +0000 (20:25 +0900)]
usb: gadget: f_fs: Limit the maximum length of data transferring

When the ffs daemons request transfer with large size buffer, the usb
subsystems below cannot filled the buffer at once and then the request
is stalled in f_fs_epfile_io function. In order to prevent this
situation, this limits maximum length of data as PAGE_SIZE.

Change-Id: Ib84b3493a56b21f33a07cf0533f8df71580b7540
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
8 months agousb: cdns3-starfive: Add extcon usb gadget state with always connected
Jaehoon Chung [Thu, 21 Dec 2023 08:07:41 +0000 (17:07 +0900)]
usb: cdns3-starfive: Add extcon usb gadget state with always connected

Add extcon usb gadget state and set usb gadget state as connected.

The cdns3-starfive usb c port in visionfive2 board only has usb
d-/d+ lines and vbus and ground lines are used for power supply.
Because of the H/W limitation, it is not possible to detect usb
c port connected state.

In Tizen, deviced configures usb gadget functions only with the
usb connected state, so, to support usb gadget functionality,
the usb state should be set.

Change-Id: Ib951c105e3e8dfe5d1a2f0b921dabe6a7a8d61bc
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agodrm/verisilicon: hdmi: Add support audio hdmi driver
Xingyu Wu [Mon, 19 Jun 2023 08:57:37 +0000 (17:57 +0900)]
drm/verisilicon: hdmi: Add support audio hdmi driver

Add support hdmi audio driver of starfive JH7110. This driver is from
[1], and the imported patch list[2]. We modified to use struct
starfive_hmdi instead of struct inno_hdmi also added to use
legacy_dai_naming.

[1] https://github.com/starfive-tech/linux

[2] patch list from v5.15.y
  5bec3220a8be drm:verisilicon:hdmi-audio:Adjust when to configure registers
  5a302a7a25fe gpu:drm:Add audio function in inno hdmi

[jh80.chung: Fixed some build error]

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Change-Id: Iae0ec57f2cf588c7ca177f7e284968ca9e68c674
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: configs: tizen_visionfive2: Enable SIFIVE_CCACHE
Jaehoon Chung [Mon, 8 Jan 2024 06:20:01 +0000 (15:20 +0900)]
RISCV: configs: tizen_visionfive2: Enable SIFIVE_CCACHE

Enable SIFIVE_CCACHE to use SIFIVE_FLUSH.

Change-Id: I8389fc95370962e1666dd5b774fb3f96259668a8
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agodrm/verisilicon: Add starfive_flush_dcache
Jaehoon Chung [Mon, 8 Jan 2024 05:26:25 +0000 (14:26 +0900)]
drm/verisilicon: Add starfive_flush_dcache

There is a problem that the garbage cache value comes out when the
screen is displayed. Flush the cache by adding the flush feature.
The feature referred to v5.15 kernel.

Change-Id: I930d42cd11e55503e5acb2109674c4ea6f1e921a
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agosoc: sifive: ccache: Add flush feature
Hoegeun Kwon [Thu, 8 Jun 2023 11:26:29 +0000 (20:26 +0900)]
soc: sifive: ccache: Add flush feature

Add the ccache flush feature applied to kernel v5.15.
This feature flushes the garbage cache when output the screen.

Add "depends on SIFIVIE_CCACHE".

Change-Id: I855fd37416f028f6d7c9b9e1459462e4da7e1740
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agoRISCV: configs: tizen_visionfive2: Enable SPI_PL022 config
Jaehoon Chung [Mon, 8 Jan 2024 03:30:35 +0000 (12:30 +0900)]
RISCV: configs: tizen_visionfive2: Enable SPI_PL022 config

Enable SPI_PL022 configuration to use spi device.

Change-Id: I2bc34a018c78b8744323d21b122f408254df6669
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 months agobuild: Add local build script for VisionFive2
Jaehoon Chung [Mon, 8 Jan 2024 02:57:12 +0000 (11:57 +0900)]
build: Add local build script for VisionFive2

Add local build script for VisionFive2.

This change is squash of below commits:
   commit 7c34e2ea4586 ("build: Change module image size from 32M to 20M")
   commit 9956753185f6 ("Build packages for different platforms")
   commit e876165aca8f ("build: add the separated device tree file")
   commit 34a3215f6226 ("build: Add local build script for VisionFive2")

Change-Id: I0ca80fd1e383b9ce62797944fba1755e315fa9c7
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 months agoBluetooth: Add LE connection parameter update
Anuj Jain [Fri, 6 Jan 2023 09:59:24 +0000 (15:29 +0530)]
Bluetooth: Add LE connection parameter update

Add support for BT_LE_CONN_PARAM in l2cap socket.

Change-Id: I2ed693da26ba2d3464b9997bf1880c6c136055cd
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Fix the potential crash issue
DoHyun Pyun [Thu, 4 Jul 2019 00:18:21 +0000 (09:18 +0900)]
Bluetooth: Fix the potential crash issue

There is a logic error in the event function. We should
check the callback function's parameter before calling.

Change-Id: I06a4a8c50317e5ec4ae8fe35e4b788105e090196
Fixes: bde01c80dd51 ("Bluetooth: Set le data length command and event")
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Set le data length command and event
Sudha Bheemanna [Fri, 16 Sep 2016 10:07:22 +0000 (15:37 +0530)]
Bluetooth: Set le data length command and event

Sets the data length for the le data packet with in the
advised limits. MGMT command and event are added to handle
the setting of data length.

Change-Id: Ia5c2167743cc9a29190e5631973e9d52d41caa1d
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Read host suggested default le data length
Sudha Bheemanna [Fri, 16 Sep 2016 07:24:31 +0000 (12:54 +0530)]
Bluetooth: Read host suggested default le data length

This patch adds MGMT command and code for supporting reading
default le data length value set at the controller.

Change-Id: I2b81982dc26ed5af4a8f8a3d3913db5d64625260
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Write host suggested default le data length
Sudha Bheemanna [Fri, 16 Sep 2016 06:39:57 +0000 (12:09 +0530)]
Bluetooth: Write host suggested default le data length

This patch adds MGMT command and code for supporting write
default le data length command to the controller.

Change-Id: I3d2c8b622b7913a3ed542342e3ba8076c30dc279
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Read LE Max data length command
Sudha Bheemanna [Fri, 16 Sep 2016 05:08:30 +0000 (10:38 +0530)]
Bluetooth: Read LE Max data length command

This patch adds the MGMT command and code to support reading
the maximum data length supported command for LE.

Change-Id: I4dc0041f2070de2ccb6a4164c8823612863c941e
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Fix IPSP connection callback event issue.
h.sandeep [Fri, 16 Sep 2016 09:15:24 +0000 (14:45 +0530)]
Bluetooth: Fix IPSP connection callback event issue.

This patch fixes the IPSP connection callback event issue
between kernel and bluez layer.

Change-Id: Ia4d625aa8a6dbc9da89a7d9f12308af9c90d0594
Signed-off-by: h.sandeep <h.sandeep@samsung.com>
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: IPSP Connect/Disconnect apis
Sudha Bheemanna [Thu, 15 Sep 2016 07:23:03 +0000 (12:53 +0530)]
Bluetooth: IPSP Connect/Disconnect apis

This patch adds MGMT code to support IPSP connect and
disconnect apis and handle connection state changed event.

Change-Id: I1c41ec4f38cf9a108e443def3bc23c1b964e2985
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Add support to enable/disable IPSP
Sudha Bheemanna [Thu, 15 Sep 2016 04:42:09 +0000 (10:12 +0530)]
Bluetooth: Add support to enable/disable IPSP

This patch supports MGMT commands and code to enable or disable
IPSP 6LowPan features.

Change-Id: Ia866ecfa517c7d7e4320f17d94d80dfeb9261e59
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Fix issue in the Set LE privacy function.
Sudha Bheemanna [Thu, 8 Sep 2016 10:51:01 +0000 (16:21 +0530)]
Bluetooth: Fix issue in the Set LE privacy function.

This patch fixes not to check the hdev power before setting
LE Privacy.

Change-Id: I344ea13b1d90527e3e7554ec616cdc640b85159c
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Store the key if auth type is P192
Sudha Bheemanna [Mon, 12 Sep 2016 07:16:44 +0000 (12:46 +0530)]
Bluetooth: Store the key if auth type is P192

This patch allows to store the key after authentication
if auth type is "HCI_LK_AUTH_COMBINATION_P192"

Change-Id: Ie44dbe7dfec361edab61aceaf9b2ca4057b88fa5
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
8 months agoBluetooth: Cancel the Sniff timer
Sudha Bheemanna [Thu, 8 Sep 2016 11:31:39 +0000 (17:01 +0530)]
Bluetooth: Cancel the Sniff timer

This patch adds code to cancel the sniff timer.

Change-Id: I756d3b08acf6462044d1fb204064fe12ce1238c1
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>