]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpio: loongson: Fix Loongson-2K2000 ACPI GPIO register offset
authorBinbin Zhou <zhoubinbin@loongson.cn>
Tue, 7 Jan 2025 10:38:56 +0000 (18:38 +0800)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 8 Jan 2025 08:54:20 +0000 (09:54 +0100)
Since commit 3feb70a61740 ("gpio: loongson: add more gpio chip
support"), the Loongson-2K2000 GPIO is supported.

However, according to the firmware development specification, the
Loongson-2K2000 ACPI GPIO register offsets in the driver do not match
the register base addresses in the firmware, resulting in the registers
not being accessed properly.

Now, we fix it to ensure the GPIO function works properly.

Cc: stable@vger.kernel.org
Cc: Yinbo Zhu <zhuyinbo@loongson.cn>
Fixes: 3feb70a61740 ("gpio: loongson: add more gpio chip support")
Co-developed-by: Hongliang Wang <wanghongliang@loongson.cn>
Signed-off-by: Hongliang Wang <wanghongliang@loongson.cn>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Link: https://lore.kernel.org/r/20250107103856.1037222-1-zhoubinbin@loongson.cn
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-loongson-64bit.c

index 6749d4dd6d6496abdf943f438474750b9719494d..7f4d78fd800e7e7fd0e900c480c07168fa36597d 100644 (file)
@@ -237,9 +237,9 @@ static const struct loongson_gpio_chip_data loongson_gpio_ls2k2000_data1 = {
 static const struct loongson_gpio_chip_data loongson_gpio_ls2k2000_data2 = {
        .label = "ls2k2000_gpio",
        .mode = BIT_CTRL_MODE,
-       .conf_offset = 0x84,
-       .in_offset = 0x88,
-       .out_offset = 0x80,
+       .conf_offset = 0x4,
+       .in_offset = 0x8,
+       .out_offset = 0x0,
 };
 
 static const struct loongson_gpio_chip_data loongson_gpio_ls3a5000_data = {