Commit Graph

1075812 Commits

Author SHA1 Message Date
Valentin Rigal
a0206bf30e ODROID-C5:defconfig:Add CONFIG_BT_HCIBTUSB as a module 2025-12-03 11:33:57 +09:00
Valentin Rigal
e794c79483 ODROID-C5:defconfig:Add CONFIG_SND_SEQUENCER as a module 2025-12-02 11:23:16 +09:00
Dongjin Kim
b8898fec4f ODROID-C5: Amlogic BSP update to release version 202508
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I6032de17c62d89111b4acdd5fd54f5d34ca2bfa2
2025-11-25 12:52:38 +09:00
Dongjin Kim
53b3710f3c ODROID-C5: common_drivers: patch updates
common_drivers:
	f3a3129ec ODROID-C5: dtbo: swap PCF8563 to RTC0 and internal RTC to RTC1.
	9875d56a7 ODROID-C5:drivers/usb: Remove debug message
	906768725 ODROID-C5:arm64/dts: Change usb0_phy mode to otg
	a97cfd02a fix: remove duplicate entry for AMLOGIC_DDR_BANDWIDTH_S7

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I0c86a661823ca6b4e1c12950b0f78bd8226be36f
2025-11-07 15:23:56 +09:00
ckkim
03c8b6f50a ODROID-C5:defconfig:Add support usb_gadget as a module
Signed-off-by: ckkim <changkon12@gmail.com>
Change-Id: I0297c534f456c16ec955f64d26fd0d2926379c93
2025-11-07 15:23:56 +09:00
Dongjin Kim
a751c86dd2 ODROID-C5: common_drivers: patch updates
common_drivers
	432c90b16 ODROID-C5:dtbs/dtbo: adjust to vu7c backlight device.
	9d2814771 ODROID-C5:hdmitx:hdmitx BLANK/UNBLANK notify to vu7c.
	12b4dfc06 ODROID-COMMON: drm/hdmitx: Add modeline target file paths.
	7c4e499f7 ODROID-COMMON: drm/hdmitx: fix check if 'display-timings' node exists
	dd91cbb29 ODROID-COMMON: drm/hdmitx: set to default display mode
	f3ebca607 ODROID-COMMON: drm/hdmitx: add support custom display timing from device tree
	2314cba47 ODROID-COMMON: drm/hdmitx: add support custom display time from kernel command line
	211e98063 ODROID-COMMON: drm/hdmitx: Add load video modes from userspace
	de0fc03bf ODROID-COMMON: fix to check NULL before string compare
	802d4a714 ODROID-C5: dtbo: add spi overlay using hw cs
	8d940c236 ODROID-C5: dtbo: canfd addon board use hw cs
	87111a34f ODROID-C5: spi: add hw cs selection option

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I71db4bfc371231bb18df0189ba994f11caab3338
2025-11-07 15:23:56 +09:00
ckkim
984dca6d8d ODROID-C5:defconfig:vu7c driver default as a module.
Signed-off-by: ckkim <changkon12@gmail.com>
Change-Id: Ieee2f847281ba57a97c76dc97b0f1df7366c879c
2025-11-07 15:23:56 +09:00
ckkim
e86220c387 ODROID-C5:Fixed vu7c driver to include backlight.
Signed-off-by: ckkim <changkon12@gmail.com>
Change-Id: Ie447a5ada8a5095d4f40f65e6ee2d08d64509844
2025-11-07 15:23:56 +09:00
Dongjin Kim
cf10233a78 ODROID-C5: config: add enable custom display modes in Amlogic DRM
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: If8df803c65327dd1848562ec3a896498ca51e166
2025-11-07 15:23:56 +09:00
Dongjin Kim
902c55c42e ODROID-C5: net/wireless: fix '$(src)' to absolute path of kernel tree
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I8cf5ce7fce4b7a331366a5e7da0002fa4742996b
2025-11-07 15:23:55 +09:00
nealilia
e7d6837900 ODROID-C5: Change LINUX_VERSION_CODE from 5.15 to 6.10 in order to compile success for RTL8821CU
Change-Id: Icad62888583fef75f780646e0dcaac1a0dd62398
2025-11-07 15:23:55 +09:00
nealilia
d585eec653 ODROID-C5: Add RTL8821CU wifi module 5BK
Signed-off-by: nealilia <neal.kim@hardkernel.com>
Change-Id: I51c2529187aaf10f633ed1d55893769c702295b7
2025-11-07 15:23:55 +09:00
Dongjin Kim
45b1c645b5 ODROID-C5: common_drivers: patch updates
common_drivers:
	b93c6a744 ODROID-C5: Change brightness-levels for vu7c
	eb062d228 Revert "Revert "ODROID-C5: drm: remove 'DUMMY-1' connector""
	3b5a29783 ODROID-C5: dtbo: fix typo

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I1bf6ab215371598c385c121fbde8061d9c755e14
2025-11-07 15:23:55 +09:00
nealilia
62ac75d97b ODROID-C5: Enable EDID extension block to make HDMI from DVI
Signed-off-by: nealilia <neal.kim@hardkernel.com>
Change-Id: I90df4eb5534e663fd8f799ce30466205043a6d6e
2025-11-07 15:23:55 +09:00
Dongjin Kim
d475c93633 ODROID-C5: common_drivers: patch updates
common_drivers:
	969109104 ODROID-C5: add display_vu7c
	9dcaeb7dc saradc: s6: fix possible sampling bug [1/1]

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I56b9a898ae7fa91d74a12c301a79e66bdd4ba4b6
2025-11-07 15:23:55 +09:00
Dongjin Kim
c27ff80ff1 ODROID-C5: config: add kernel config to support ODROID-Vu7C
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I2ff8a890df320d12fe0fcb8978df77a3e9a3867a
2025-11-07 15:23:55 +09:00
nealilia
6c7170d95c ODROID-C5: Add display_vu7c
Signed-off-by: nealilia <neal.kim@hardkernel.com>
Change-Id: Ibb63dc0baa587ca159537171b02e38e5aaf085ca
2025-11-07 15:23:55 +09:00
Dongjin Kim
4e76a801a2 ODROID-C5: config: add file system drivers based on network
Change-Id: I2d866e5531c1d7e0021b8d0b25fbfd2d448c5309
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
2025-11-07 15:23:55 +09:00
Dongjin Kim
8acba89b64 ODROID-C5: config add 'squashfs' drivers
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I2ba74966eaf4763e88858207cdb65f55370a7239
2025-11-07 15:23:55 +09:00
ckkim
b7ade86621 ODROID-C5: reset: gpio: Add GPIO-based reset controller
Signed-off-by: ckkim <changkon12@gmail.com>
Change-Id: I4a80a4393991236b2ffb0d995527486aa0902b5f
2025-11-07 15:23:55 +09:00
Kevin Kim
8b83c957bc ODROID-COMMON: This driver allows GPIO lines to be used as reset signals.
It has two main use cases:

1) Allow drivers to reset their hardware via a GPIO line in a standard fashion
as supplied by the reset framework.
This allows adhoc driver code requesting GPIOs etc to be replaced with a
single call to device_reset().

2) Allow hardware on discoverable busses to be rest via a GPIO line
without driver modifications.

Examples of the second use case include:
* SDIO wifi modules
* USB hub chips with a reset line

In this second use case the reset has to be done externally to the driver
managing the hardware since resetting the device from the driver's probe()
method will either do nothing (if the device needs to be reset before
ennumeration will work) or cause racy beahviour (when the device disappears
from the bus during probe()).

So, in addition to providing a gpio based  reset controller implementation
it is also possible to reset devices at boot via a DT property or from
userspace on request via sysfs attributes.

Change-Id: I316f9e622d99cff7167b57e8fd5ff73a34dc2a81
Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com>
Signed-off-by: Kevin Kim <ckkim@hardkernel.com>
2025-11-07 15:23:55 +09:00
bda1201e7e ODROID-C5: config: use watchdog sysfs
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I9114d90f29a7b160c0537b0ebbde785d58839036
2025-11-07 15:23:55 +09:00
Abdelrahman Morsy
5fd07d1bf8 ODROID-C5: HID: mcp-2221: cancel delayed_work only when CONFIG_IIO is enabled
[ Upstream commit 3cba9cfcc1520a2307a29f6fab887bcfc121c417 ]

If the device is unplugged and CONFIG_IIO is not supported, this will
result in a warning message at kernel/workqueue.

Only cancel delayed work in mcp2221_remove(), when CONFIG_IIO is enabled.

Signed-off-by: Abdelrahman Morsy <abdelrahmanhesham94@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Change-Id: I583aa986bcc453cc351ba8f2ec8e1972a365282a
2025-11-07 15:23:55 +09:00
Hamish Martin
18739d5c10 ODROID-C5: HID: mcp2221: Allow IO to start during probe
[ Upstream commit 73ce9f1f2741a38f5d27393e627702ae2c46e6f2 ]

During the probe we add an I2C adapter and as soon as we add that adapter
it may be used for a transfer (e.g via the code in i2cdetect()).
Those transfers are not able to complete and time out. This is because the
HID raw_event callback (mcp2221_raw_event) will not be invoked until the
HID device's 'driver_input_lock' is marked up at the completion of the
probe in hid_device_probe(). This starves the driver of the responses it
is waiting for.
In order to allow the I2C transfers to complete while we are still in the
probe, start the IO once we have completed init of the HID device.

This issue seems to have been seen before and a patch was submitted but
it seems it was never accepted. See:
https://lore.kernel.org/all/20221103222714.21566-3-Enrik.Berkhan@inka.de/

Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Change-Id: I250bb6b5c7432ddb008cd9feb4975c2502b98390
2025-11-07 15:23:55 +09:00
Hamish Martin
08195db45c ODROID-C5: HID: mcp2221: Set driver data before I2C adapter add
[ Upstream commit f2d4a5834638bbc967371b9168c0b481519f7c5e ]

The process of adding an I2C adapter can invoke I2C accesses on that new
adapter (see i2c_detect()).

Ensure we have set the adapter's driver data to avoid null pointer
dereferences in the xfer functions during the adapter add.

This has been noted in the past and the same fix proposed but not
completed. See:
https://lore.kernel.org/lkml/ef597e73-ed71-168e-52af-0d19b03734ac@vigem.de/

Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Change-Id: I5a72d1c59d884748f73a434a02d314963c77568b
2025-11-07 15:23:55 +09:00
Louis Morhet
659d4abcac ODROID-C5: HID: mcp2221: fix get and get_direction for gpio
The mcp2221_raw_event retrieves the value and direction of gpio on the
same command, by setting the value on mcp->status and the direction on
mcp->gpio_dir; and the offset at which they are read is based on
mcp->gp_idx, set by the gpiochip callbacks.

However, the individual gpiochip calls set the index to look for
directly on the field they want to track. This create a "double offset"
in the final read in the response report.

Align the behaviour of mcp2221_raw_event and
mcp_gpio_get/mcp_gpio_get_direction by putting gp_idx on those calls to
the base offset of the gpio status struct.

Signed-off-by: Louis Morhet <lmorhet@kalrayinc.com>
Link: https://lore.kernel.org/r/dd0b23800a79d2a464e1e9ed429b018b69fd5df2.1680602387.git.lmorhet@kalrayinc.com
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Change-Id: I47c3d3d3c0ad7b7072614fefa9e804d417be8bba
2025-11-07 15:23:54 +09:00
Louis Morhet
682759c18b ODROID-C5: HID: mcp2221: fix report layout for gpio get
The documentation of the component (section 3.1.12 GET GPIO VALUES)
describes the hid report structure with two fields per gpio:
its value, followed by its direction.

However, the driver describes it with a wrong order:
direction followed by value.

Fix the structure representing the report answered by the chip to the
GET GPIO VALUES command.

Fixes commit 567b8e9fed ("HID: mcp2221: Fix GPIO output handling")

Signed-off-by: Louis Morhet <lmorhet@kalrayinc.com>
Link: https://lore.kernel.org/r/945967fbab56d53f9630ad3844b64734f8c3107e.1680602387.git.lmorhet@kalrayinc.com
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Change-Id: I21d45bb9d4a4957c37b5e27cf67d3c8045f9b035
2025-11-07 15:23:54 +09:00
Benjamin Tissoires
ecf041d477 ODROID-C5: HID: mcp-2221: prevent UAF in delayed work
If the device is plugged/unplugged without giving time for mcp_init_work()
to complete, we might kick in the devm free code path and thus have
unavailable struct mcp_2221 while in delayed work.

Canceling the delayed_work item is enough to solve the issue, because
cancel_delayed_work_sync will prevent the work item to requeue itself.

Fixes: 960f9df7c6 ("HID: mcp2221: add ADC/DAC support via iio subsystem")
CC: stable@vger.kernel.org
Acked-by: Jiri Kosina <jkosina@suse.cz>
Link: https://lore.kernel.org/r/20230215-wip-mcp2221-v2-1-109f71fd036e@redhat.com
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Change-Id: I35ca79b8a7b96dc72c702af8ea79d4c5ca92935f
2025-11-07 15:23:54 +09:00
Matt Ranostay
123824ab78 ODROID-C5: HID: mcp2221: correct undefined references when CONFIG_GPIOLIB isn't defined
Singular #ifdef IS_REACHABLE(CONFIG_GPIOLIB) weren't covering all the
gpiolib functions that were being referenced.

Update the code regions that are commented out when CONFIG_GPIOLIB isn't
enabled to avoid errors.

Fixes: 960f9df7c6 ("HID: mcp2221: add ADC/DAC support via iio subsystem")
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Change-Id: I0b786ac507f9eff0dd589d4a547ce3f1ff425b78
2025-11-07 15:23:54 +09:00
Matt Ranostay
e5a4077e30 ODROID-C5: HID: mcp2221: fix 'cast to restricted __le16' sparse warnings
Use (__force __le16) cast for adc_values le16_to_cpu conversion to correct following sparse
warnings:

drivers/hid/hid-mcp2221.c:950:32: sparse: sparse: cast to restricted __le16

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 960f9df7c6 ("HID: mcp2221: add ADC/DAC support via iio subsystem")
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Change-Id: If0a7a009669f6458c45089483179238525114e48
2025-11-07 15:23:54 +09:00
Jiri Kosina
ca3e7e7558 ODROID-C5: HID: mcp2221: fix usage of tmp variable in mcp2221_raw_event()
In mcp2221_raw_event(), 'tmp' is used only conditionally. Move
the declaration into the conditional block in order to prevent
unused variable warning.

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 960f9df7c6 ("HID: mcp2221: add ADC/DAC support via iio subsystem")
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Change-Id: Icb349aaa2fdcfc48d975be4124532f53f894768a
2025-11-07 15:23:54 +09:00
Matt Ranostay
6b655bddcb ODROID-C5: HID: mcp2221: add ADC/DAC support via iio subsystem
Add support for 3x 10-bit ADC and 1x DAC channels registered via the iio
subsystem.

To prevent breakage and unexpected dependencies this support only is
only built if CONFIG_IIO is enabled, and is only weakly referenced by
'imply IIO' within the respective Kconfig.

Additionally the iio device only gets registered if at least one channel
is enabled in the power-on configuration read from SRAM.

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Change-Id: I898368e779dcced15b12d43f88a38f71a31be80f
2025-11-07 15:23:54 +09:00
Matt Ranostay
3e77bf1bb4 ODROID-C5: HID: mcp2221: change 'select GPIOLIB' to imply
To avoid recursive dependencies on GPIOLIB when 'imply IIO' is requested
with other drivers we should switch GPIOLIB to an imply.

This isn't the most ideal solution but avoids modifiying the Kconfig for
other drivers, and only requires a singular IS_REACHABLE(CONFIG_GPIOLIB)
check.

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Change-Id: Ie379ae18bd2aae09b576238298715055ca616f0d
2025-11-07 15:23:54 +09:00
Matt Ranostay
2c29ab470e ODROID-C5: HID: mcp2221: switch i2c registration to devm functions
Switch from i2c_add_adapter() to resource managed devm_i2c_add_adapter()
for matching rest of driver initialization, and more concise code.

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Change-Id: I642fcb5af3894a2010b4a8f2f06098abaecf6812
2025-11-07 15:23:54 +09:00
88723f1495 ODROID-C5: config: add default i2c-dev
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I5bbe12424592dcdffff9092e2c5b7ed6ce796bde
2025-11-07 15:23:54 +09:00
Dongjin Kim
bbb7da1084 ODROID-C5: config: add default LED triggers
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I33f0ad8b7c9a23b3c4efe0d1d58f48402164dcb7
2025-11-07 15:23:54 +09:00
28b170a078 ODROID-C5: config: enable touch driver for ODROID-Vu5/Vu7Plus
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: Icff420cbcaf2fb993ef716eb0eb606ba418f51ea
2025-11-07 15:23:54 +09:00
b3c8d985ec ODROID-C5: input/touchscreen: Add Vu5/Vu7+ multitouch driver
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I8f1ea4a68ba4e640b7848144ef419ade552281a4
2025-11-07 15:23:54 +09:00
2c064648cf ODROID-C5: config: add module pcf8563 i2c-rtc support
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I1a17b51d6b85393e5042e59b433529159d889248
2025-11-07 15:23:54 +09:00
415c550a0b ODROID-C5: config: enable config for mcp2221, USB to I2C
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I3f3ba500a4e98fdadc83069664b33b60e4933fcf
2025-11-07 15:23:54 +09:00
43417bee1b ODROID-C5: config: enable config USB to TTL driver
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I693146d95a97a585675a19c1c54a25b47d51b002
2025-11-07 15:23:54 +09:00
Dongjin Kim
51489846fb ODROID-C5: config: select default kernel config
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: Id841b74717e5d65a48daed97b1ec4949d74d0cd3
2025-11-07 15:23:54 +09:00
52dd423f93 ODROID-C5: config: Enable sysfs gpio
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I4940abe2202b92deee1882ec3a85b0bbfd886378
2025-11-07 15:23:54 +09:00
9ff55ae630 ODROID-C5: config: change config CONFIG_AMLOGIC_INPUT builtin
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: If272e0dd3861b8ca5c8f84704f26df0b70b1e6a9
2025-11-07 15:23:54 +09:00
Dongjin Kim
f719008d69 ODROID-C5: config: fixup on top of BSP 202501
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I52729ec5f9b7035d900b5a2e076dbb6aceff009b
2025-11-07 15:23:54 +09:00
dffb0514f4 ODROID-C5: touchscreen: Add support ads7846
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I2215059bd9a9daad3f3218d95b47379db1b7b06f
2025-11-07 15:23:54 +09:00
2b1be17707 ODROID-C5: tft: Add Hardkernel 3.2inch TFT LCD
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: If48bd4bda5b5281717accdb9d65faa9ca472758f
2025-11-07 15:23:54 +09:00
0c6659bf36 ODROID-C5: touchscreen: ads7846: Add spi device ids
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: I9a9488d02003ae82b3457848072829a60d465278
2025-11-07 15:23:53 +09:00
Dongjin Kim
ec7d253f98 ODROID-C5: config: improve to support multimedia features
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: I7f39b300787f99fa13f245485626551ebd29b55e
2025-11-07 15:23:53 +09:00
Dongjin Kim
df868bf550 ODROID-C5: config: convert driver module to static driver
SoC level driver bugs to manage kernel binaries as well as import them
to initramfs to make them load very early, this could cause boot failure
when one fails to update initramfs. So such driver must be in kernel
blob itself, not to miss.

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Change-Id: Iea67d3fa3a97146db47cae25b2a7d5eb5b938f5c
2025-11-07 15:23:53 +09:00