Merge commit '263ff45dbffdb398230e2f69226e9aa6b4e8969b'

* commit '263ff45dbffdb398230e2f69226e9aa6b4e8969b':
  drm/rockchip: vop2: Fix compile error on arm32 platform
  Mali: utgard: Replace calls to dma_fence_ops::signaled with dma_fence_is_signaled()
  mtd: spi-nor: Add macro definition constraints
  arm64: dts: rockchip: rk356x evb boards: add vcm config
  mtd: spinand: Add macro definition constraints
  drm/rockchip: dsi2: allocate macros for mipi dsi2 drivers

Change-Id: I5cbef1a41994cacc5fc6fa2c90d7e8909fe2cade
This commit is contained in:
Tao Huang
2024-11-28 20:28:16 +08:00
20 changed files with 542 additions and 41 deletions

View File

@@ -219,6 +219,17 @@
status = "okay";
pinctrl-0 = <&i2c2m1_xfer>;
dw9714: dw9714@c {
compatible = "dongwoon,dw9714";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <10>;
rockchip,vcm-rated-current = <85>;
rockchip,vcm-step-mode = <5>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
};
/* split mode: lane0/1 */
ov5695: ov5695@36 {
status = "okay";
@@ -234,6 +245,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
lens-focus = <&dw9714>;
port {
ov5695_out: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
@@ -281,6 +293,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401";
lens-focus = <&dw9714>;
port {
gc8034_out: endpoint {
remote-endpoint = <&dphy0_in>;

View File

@@ -192,6 +192,17 @@
status = "okay";
pinctrl-0 = <&i2c2m1_xfer>;
dw9714: dw9714@c {
compatible = "dongwoon,dw9714";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <10>;
rockchip,vcm-rated-current = <85>;
rockchip,vcm-step-mode = <5>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
};
gc2145: gc2145@3c {
status = "okay";
compatible = "galaxycore,gc2145";
@@ -236,6 +247,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
lens-focus = <&dw9714>;
port {
ov5695_out: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
@@ -259,6 +271,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401";
lens-focus = <&dw9714>;
port {
gc8034_out: endpoint {
remote-endpoint = <&mipi_in_ucam1>;

View File

@@ -265,6 +265,18 @@
&i2c4 {
status = "okay";
dw9714: dw9714@c {
compatible = "dongwoon,dw9714";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <10>;
rockchip,vcm-rated-current = <85>;
rockchip,vcm-step-mode = <5>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
};
gc8034: gc8034@37 {
compatible = "galaxycore,gc8034";
status = "okay";
@@ -281,6 +293,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401";
lens-focus = <&dw9714>;
port {
gc8034_out: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
@@ -324,6 +337,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
lens-focus = <&dw9714>;
port {
ov5695_out: endpoint {
remote-endpoint = <&mipi_in_ucam2>;

View File

@@ -296,6 +296,18 @@
&i2c4 {
status = "okay";
dw9714: dw9714@c {
compatible = "dongwoon,dw9714";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <10>;
rockchip,vcm-rated-current = <85>;
rockchip,vcm-step-mode = <5>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
};
gc8034: gc8034@37 {
compatible = "galaxycore,gc8034";
status = "okay";
@@ -312,6 +324,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401";
lens-focus = <&dw9714>;
port {
gc8034_out: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
@@ -355,6 +368,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
lens-focus = <&dw9714>;
port {
ov5695_out: endpoint {
remote-endpoint = <&mipi_in_ucam2>;

View File

@@ -133,6 +133,18 @@
&i2c4 {
status = "okay";
dw9714: dw9714@c {
compatible = "dongwoon,dw9714";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <10>;
rockchip,vcm-rated-current = <85>;
rockchip,vcm-step-mode = <5>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
};
os04a10: os04a10@36 {
compatible = "ovti,os04a10";
reg = <0x36>;
@@ -171,6 +183,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401";
lens-focus = <&dw9714>;
port {
gc8034_out: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
@@ -193,6 +206,7 @@
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
lens-focus = <&dw9714>;
port {
ov5695_out: endpoint {
remote-endpoint = <&mipi_in_ucam2>;

2
drivers/gpu/arm/mali400/mali/common/mali_timeline.c Executable file → Normal file
View File

@@ -1551,7 +1551,7 @@ static void mali_timeline_do_sync_fence_callback(void *arg)
#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
fence_status = atomic_read(&sync_fence->status);
#else
fence_status = sync_fence->fence->ops->signaled(sync_fence->fence);
fence_status = dma_fence_is_signaled(sync_fence->fence);
#endif
system = tracker->system;

View File

@@ -113,7 +113,7 @@ static mali_bool mali_timeline_fence_wait_check_status(struct mali_timeline_syst
#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
if (0 < atomic_read(&sync_fence->status)) {
#else
if (0 == sync_fence->fence->ops->signaled(sync_fence->fence)) {
if (0 == dma_fence_is_signaled(sync_fence->fence)) {
#endif
ret = MALI_FALSE;

View File

@@ -92,7 +92,7 @@ static void mali_internal_fence_check_cb_func(struct dma_fence *fence, struct dm
if (ret)
wake_up_all(&sync_fence->wq);
#else
ret = sync_fence->fence->ops->signaled(sync_fence->fence);
ret = dma_fence_is_signaled(sync_fence->fence);
if (0 > ret)
MALI_PRINT_ERROR(("Mali internal sync:Failed to wait fence 0x%x for sync_fence 0x%x.\n", fence, sync_fence));
@@ -557,10 +557,7 @@ int mali_internal_sync_fence_wait_async(struct mali_internal_sync_fence *sync_fe
return !err;
#else
if ((sync_fence->fence) && (sync_fence->fence->ops) && (sync_fence->fence->ops->signaled))
err = sync_fence->fence->ops->signaled(sync_fence->fence);
else
err = -1;
err = dma_fence_is_signaled(sync_fence->fence);
if (0 > err)
return err;
@@ -583,7 +580,7 @@ int mali_internal_sync_fence_wait_async(struct mali_internal_sync_fence *sync_fe
waiter->work.private = sync_fence;
spin_lock_irqsave(&sync_fence->wq.lock, flags);
err = sync_fence->fence->ops->signaled(sync_fence->fence);
err = dma_fence_is_signaled(sync_fence->fence);
if (0 == err){
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0)

View File

@@ -8,9 +8,9 @@ config DRM_ROCKCHIP
select VIDEOMODE_HELPERS
select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP
select DRM_DW_HDMI if ROCKCHIP_DW_HDMI
select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI
select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI
select GENERIC_PHY_MIPI_DPHY if ROCKCHIP_DW_MIPI_DSI
select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI || ROCKCHIP_DW_MIPI_DSI2
select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI || ROCKCHIP_DW_MIPI_DSI2
select GENERIC_PHY_MIPI_DPHY if ROCKCHIP_DW_MIPI_DSI || ROCKCHIP_DW_MIPI_DSI2
select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC
help
Choose this option if you have a Rockchip soc chipset.
@@ -107,6 +107,16 @@ config ROCKCHIP_DW_MIPI_DSI
enable MIPI DSI on RK3288 or RK3399 based SoC, you should
select this option.
config ROCKCHIP_DW_MIPI_DSI2
bool "Rockchip specific extensions for Synopsys DW MIPI DSI2"
default ROCKCHIP_DW_MIPI_DSI
select GENERIC_PHY_MIPI_DPHY
help
This selects support for Rockchip SoC specific extensions
for the Synopsys DesignWare dsi2 driver. If you want to
enable MIPI DSI2 on RK3576 or RK3588 based SoC, you should
select this option.
config ROCKCHIP_DW_DP
bool "Rockchip specific extensions for Synopsys DW DPTX"
select DRM_DISPLAY_HDCP_HELPER

View File

@@ -19,8 +19,8 @@ rockchipdrm-$(CONFIG_ROCKCHIP_CDN_DP) += cdn-dp-core.o cdn-dp-reg.o \
cdn-dp-link-training.o
rockchipdrm-$(CONFIG_ROCKCHIP_DRM_TVE) += rockchip_drm_tve.o
rockchipdrm-$(CONFIG_ROCKCHIP_DW_HDMI) += dw_hdmi-rockchip.o
rockchipdrm-$(CONFIG_ROCKCHIP_DW_MIPI_DSI) += dw-mipi-dsi-rockchip.o \
dw-mipi-dsi2-rockchip.o
rockchipdrm-$(CONFIG_ROCKCHIP_DW_MIPI_DSI) += dw-mipi-dsi-rockchip.o
rockchipdrm-$(CONFIG_ROCKCHIP_DW_MIPI_DSI2) += dw-mipi-dsi2-rockchip.o
rockchipdrm-$(CONFIG_ROCKCHIP_DW_DP) += dw-dp.o
rockchipdrm-$(CONFIG_ROCKCHIP_INNO_HDMI) += inno_hdmi.o
rockchipdrm-$(CONFIG_ROCKCHIP_LVDS) += rockchip_lvds.o

View File

@@ -2587,7 +2587,7 @@ static int __init rockchip_drm_init(void)
ADD_ROCKCHIP_SUB_DRIVER(dw_mipi_dsi_rockchip_driver,
CONFIG_ROCKCHIP_DW_MIPI_DSI);
ADD_ROCKCHIP_SUB_DRIVER(dw_mipi_dsi2_rockchip_driver,
CONFIG_ROCKCHIP_DW_MIPI_DSI);
CONFIG_ROCKCHIP_DW_MIPI_DSI2);
ADD_ROCKCHIP_SUB_DRIVER(inno_hdmi_driver, CONFIG_ROCKCHIP_INNO_HDMI);
ADD_ROCKCHIP_SUB_DRIVER(rk3066_hdmi_driver,
CONFIG_ROCKCHIP_RK3066_HDMI);

View File

@@ -5775,10 +5775,12 @@ static int vop2_plane_atomic_check(struct drm_plane *plane, struct drm_atomic_st
int hsub = fb->format->hsub;
int vsub = fb->format->vsub;
if (fb->format->char_per_block[0] == 0)
if (fb->format->char_per_block[0] == 0) {
offset = ALIGN_DOWN(src->x1 >> 16, tile_size) * fb->format->cpp[1] / hsub * tile_size;
else
offset = drm_format_info_min_pitch(fb->format, 1, ALIGN_DOWN(src->x1 >> 16, tile_size)) * tile_size / hsub;
} else {
offset = drm_format_info_min_pitch(fb->format, 1, ALIGN_DOWN(src->x1 >> 16, tile_size)) * tile_size;
offset /= hsub;
}
if (vpstate->tiled_en)
offset /= vsub;
@@ -8604,7 +8606,8 @@ static int vop2_calc_dsc_clk(struct drm_crtc *crtc)
* so when txp_clk is equal to v_pixclk, we set dsc_cds = crtc_clock / 4,
* otherwise dsc_cds = crtc_clock / 8;
*/
vcstate->dsc_cds_clk_rate = v_pixclk / (vcstate->dsc_txp_clk_rate == v_pixclk ? 4 : 8);
vcstate->dsc_cds_clk_rate = v_pixclk;
do_div(vcstate->dsc_cds_clk_rate, (vcstate->dsc_txp_clk_rate == v_pixclk ? 4 : 8));
return 0;
}

View File

@@ -8,3 +8,5 @@ menuconfig MTD_SPI_NAND
select MTD_NAND_BBT_USING_FLASH
help
This is the framework for the SPI NAND device drivers.
source "drivers/mtd/nand/spi/Kconfig.spinandlist"

View File

@@ -0,0 +1,156 @@
# SPDX-License-Identifier: GPL-2.0-only
if MTD_SPI_NAND
config MTD_SPI_NAND_DEVICE_AUTOSELECT
bool "Autoselect SPI Nand flash"
default y
help
By default, auto-selects all SPI Nand flash chips.
menu "SPI Nand flash"
visible if !MTD_SPI_NAND_DEVICE_AUTOSELECT
config MTD_SPI_NAND_ATO
bool "ATO SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various ATO SPI Nand flash chips
config MTD_SPI_NAND_BIWIN
bool "BIWIN SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various BIWIN SPI Nand flash chips
config MTD_SPI_NAND_DOSILICON
bool "DOSILICON SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various DOSILICON SPI Nand flash chips
config MTD_SPI_NAND_ESMT
bool "ESMT SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
select SPI_NAND_MICRON
help
Add support for various ESMT SPI Nand flash chips
config MTD_SPI_NAND_ETRON
bool "ETRON SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various ETRON SPI Nand flash chips
config MTD_SPI_NAND_FMSH
bool "FMSH SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various FMSH SPI Nand flash chips
config MTD_SPI_NAND_FORESEE
bool "FORESEE SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various FORESEE SPI Nand flash chips
config MTD_SPI_NAND_GIGADEVICE
bool "GIGADEVICE SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various GIGADEVICE SPI Nand flash chips
config MTD_SPI_NAND_GSTO
bool "GSTO SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various GSTO SPI Nand flash chips
config MTD_SPI_NAND_HIKSEMI
bool "HIKSEMI SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various HIKSEMI SPI Nand flash chips
config MTD_SPI_NAND_HYF
bool "HYF SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various HYF SPI Nand flash chips
config MTD_SPI_NAND_JSC
bool "JSC SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various JSC SPI Nand flash chips
config MTD_SPI_NAND_MACRONIX
bool "MACRONIX SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various MACRONIX SPI Nand flash chips
config MTD_SPI_NAND_MICRON
bool "MICRON SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various MICRON SPI Nand flash chips
config MTD_SPI_NAND_PARAGON
bool "PARAGON SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various PARAGON SPI Nand flash chips
config MTD_SPI_NAND_SILICONGO
bool "SILICONGO SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various SILICONGO SPI Nand flash chips
config MTD_SPI_NAND_SKYHIGH
bool "SKYHIGH SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various SKYHIGH SPI Nand flash chips
config MTD_SPI_NAND_TOSHIBA
bool "TOSHIBA SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various TOSHIBA SPI Nand flash chips
config MTD_SPI_NAND_UNIM
bool "UNIM SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various UNIM SPI Nand flash chips
config MTD_SPI_NAND_WINBOND
bool "WINBOND SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various WINBOND SPI Nand flash chips
config MTD_SPI_NAND_XINCUN
bool "XINCUN SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various XINCUN SPI Nand flash chips
config MTD_SPI_NAND_XTX
bool "XTX SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
select MTD_SPI_NAND_MICRON
help
Add support for various XTX SPI Nand flash chips
config MTD_SPI_NAND_ZBIT
bool "ZBIT SPI flash support"
default y if MTD_SPI_NAND_DEVICE_AUTOSELECT
help
Add support for various ZBIT SPI Nand flash chips
endmenu
endif

View File

@@ -1,3 +1,27 @@
# SPDX-License-Identifier: GPL-2.0
spinand-objs := core.o ato.o gigadevice.o gsto.o macronix.o micron.o paragon.o toshiba.o winbond.o biwin.o dosilicon.o esmt.o etron.o fmsh.o foresee.o hiksemi.o hyf.o jsc.o silicongo.o skyhigh.o unim.o xincun.o xtx.o zbit.o
spinand-objs := core.o
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
spinand-$(CONFIG_MTD_SPI_NAND_ATO) += ato.o
spinand-$(CONFIG_MTD_SPI_NAND_BIWIN) += biwin.o
spinand-$(CONFIG_MTD_SPI_NAND_DOSILICON) += dosilicon.o
spinand-$(CONFIG_MTD_SPI_NAND_ESMT) += esmt.o
spinand-$(CONFIG_MTD_SPI_NAND_ETRON) += etron.o
spinand-$(CONFIG_MTD_SPI_NAND_FMSH) += fmsh.o
spinand-$(CONFIG_MTD_SPI_NAND_FORESEE) += foresee.o
spinand-$(CONFIG_MTD_SPI_NAND_GIGADEVICE) += gigadevice.o
spinand-$(CONFIG_MTD_SPI_NAND_GSTO) += gsto.o
spinand-$(CONFIG_MTD_SPI_NAND_HIKSEMI) += hiksemi.o
spinand-$(CONFIG_MTD_SPI_NAND_HYF) += hyf.o
spinand-$(CONFIG_MTD_SPI_NAND_JSC) += jsc.o
spinand-$(CONFIG_MTD_SPI_NAND_MACRONIX) += macronix.o
spinand-$(CONFIG_MTD_SPI_NAND_MICRON) += micron.o
spinand-$(CONFIG_MTD_SPI_NAND_PARAGON) += paragon.o
spinand-$(CONFIG_MTD_SPI_NAND_SILICONGO) += silicongo.o
spinand-$(CONFIG_MTD_SPI_NAND_SKYHIGH) += skyhigh.o
spinand-$(CONFIG_MTD_SPI_NAND_TOSHIBA) += toshiba.o
spinand-$(CONFIG_MTD_SPI_NAND_UNIM) += unim.o
spinand-$(CONFIG_MTD_SPI_NAND_WINBOND) += winbond.o
spinand-$(CONFIG_MTD_SPI_NAND_XINCUN) += xincun.o
spinand-$(CONFIG_MTD_SPI_NAND_XTX) += xtx.o
spinand-$(CONFIG_MTD_SPI_NAND_ZBIT) += zbit.o

View File

@@ -951,30 +951,76 @@ static const struct nand_ops spinand_ops = {
};
static const struct spinand_manufacturer *spinand_manufacturers[] = {
#ifdef CONFIG_MTD_SPI_NAND_ATO
&ato_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_BIWIN
&biwin_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_DOSILICON
&dosilicon_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_ESMT
&esmt_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_ETRON
&etron_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_FMSH
&fmsh_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_FORESEE
&foresee_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_GIGADEVICE
&gigadevice_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_GSTO
&gsto_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_HIKSEMI
&hiksemi_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_HYF
&hyf_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_JSC
&jsc_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_MACRONIX
&macronix_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_MICRON
&micron_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_PARAGON
&paragon_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_SILICONGO
&silicongo_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_SKYHIGH
&skyhigh_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_TOSHIBA
&toshiba_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_UNIM
&unim_spinand_manufacturer,
&unim_zl_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_WINBOND
&winbond_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_XINCUN
&xincun_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_XTX
&xtx_spinand_manufacturer,
#endif
#ifdef CONFIG_MTD_SPI_NAND_ZBIT
&zbit_spinand_manufacturer,
#endif
};
static int spinand_manufacturer_match(struct spinand_device *spinand,

View File

@@ -76,5 +76,6 @@ config MTD_SPI_NOR_SWP_KEEP
endchoice
source "drivers/mtd/spi-nor/controllers/Kconfig"
source "drivers/mtd/spi-nor/Kconfig.spinorlist"
endif # MTD_SPI_NOR

View File

@@ -0,0 +1,148 @@
# SPDX-License-Identifier: GPL-2.0-only
if MTD_SPI_NOR
config MTD_SPI_NOR_DEVICE_AUTOSELECT
bool "Autoselect SPI Nor flash"
default y
help
By default, auto-selects all SPI Nor flash chips.
menu "SPI Nor flash"
visible if !MTD_SPI_NOR_DEVICE_AUTOSELECT
config MTD_SPI_NOR_ATMEL
bool "Atmel SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx)
config MTD_SPI_NOR_BOYA
bool "BOYA SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various BOYA SPI flash chips (BY25xxx)
config MTD_SPI_NOR_CATALYST
bool "CATALYST SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various CATALYST SPI flash chips (cat25xxx)
config MTD_SPI_NOR_DOSILICON
bool "DOSILICON SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various DOSILICON SPI flash chips (FM25xxx)
config MTD_SPI_NOR_EON
bool "EON SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various EON SPI flash chips (EN25xxx)
config MTD_SPI_NOR_ESMT
bool "ESMT SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various ESMT SPI flash chips (F25xxx and EN25)
config MTD_SPI_NOR_EVERSPIN
bool "EVERSPIN SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various EVERSPIN SPI flash chips (mrxxx)
config MTD_SPI_NOR_FMSH
bool "FMSH SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various FMSH SPI flash chips (FM25xxx)
config MTD_SPI_NOR_FUJITSU
bool "FUJITSU SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various FUJITSU SPI flash chips (MB85xxx)
config MTD_SPI_NOR_GIGADEVICE
bool "GigaDevice SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various GigaDevice SPI flash chips (GD25xxx)
config MTD_SPI_NOR_INTEL
bool "INTEL SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various INTEL SPI flash chips
config MTD_SPI_NOR_ISSI
bool "ISSI SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various ISSI SPI flash chips (ISxxx)
config MTD_SPI_NOR_MACRONIX
bool "Macronix SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various Macronix SPI flash chips (MX25Lxxx)
config MTD_SPI_NOR_NORMEM
bool "NORMEM SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various NORMEM SPI flash chips (NM25xxx)
config MTD_SPI_NOR_PUYA
bool "PUYA SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various PUYA SPI flash chips (PY25xxx)
config MTD_SPI_NOR_SPANSION
bool "Spansion SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various Spansion SPI flash chips (S25FLxxx)
config MTD_SPI_NOR_STMICRO
bool "STMicro SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx)
config MTD_SPI_NOR_SST
bool "SST SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various SST SPI flash chips (SST25xxx)
config MTD_SPI_NOR_WINBOND
bool "Winbond SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various WINBOND SPI flash chips (W25xxx)
config MTD_SPI_NOR_XILINX
bool "XILINX SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various XILINX SPI flash chips (3Sxxx)
config MTD_SPI_NOR_XMC
bool "XMC SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various XMC SPI flash chips (XM25xxx)
config MTD_SPI_NOR_XTX
bool "XTX SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various XTX SPI flash chips (XT25xxx)
endmenu
endif # MTD_SPI_NOR

View File

@@ -1,28 +1,28 @@
# SPDX-License-Identifier: GPL-2.0
spi-nor-objs := core.o sfdp.o swp.o otp.o sysfs.o
spi-nor-objs += atmel.o
spi-nor-objs += boya.o
spi-nor-objs += catalyst.o
spi-nor-objs += dosilicon.o
spi-nor-objs += eon.o
spi-nor-objs += esmt.o
spi-nor-objs += everspin.o
spi-nor-objs += fmsh.o
spi-nor-objs += fujitsu.o
spi-nor-objs += gigadevice.o
spi-nor-objs += normem.o
spi-nor-objs += intel.o
spi-nor-objs += issi.o
spi-nor-objs += macronix.o
spi-nor-objs += micron-st.o
spi-nor-objs += puya.o
spi-nor-objs += spansion.o
spi-nor-objs += sst.o
spi-nor-objs += winbond.o
spi-nor-objs += xilinx.o
spi-nor-objs += xmc.o
spi-nor-objs += xtx.o
spi-nor-$(CONFIG_MTD_SPI_NOR_ATMEL) += atmel.o
spi-nor-$(CONFIG_MTD_SPI_NOR_BOYA) += boya.o
spi-nor-$(CONFIG_MTD_SPI_NOR_CATALYST) += catalyst.o
spi-nor-$(CONFIG_MTD_SPI_NOR_DOSILICON) += dosilicon.o
spi-nor-$(CONFIG_MTD_SPI_NOR_EON) += eon.o
spi-nor-$(CONFIG_MTD_SPI_NOR_ESMT) += esmt.o
spi-nor-$(CONFIG_MTD_SPI_NOR_EVERSPIN) += everspin.o
spi-nor-$(CONFIG_MTD_SPI_NOR_FMSH) += fmsh.o
spi-nor-$(CONFIG_MTD_SPI_NOR_FUJITSU) += fujitsu.o
spi-nor-$(CONFIG_MTD_SPI_NOR_GIGADEVICE) += gigadevice.o
spi-nor-$(CONFIG_MTD_SPI_NOR_INTEL) += intel.o
spi-nor-$(CONFIG_MTD_SPI_NOR_ISSI) += issi.o
spi-nor-$(CONFIG_MTD_SPI_NOR_MACRONIX) += macronix.o
spi-nor-$(CONFIG_MTD_SPI_NOR_STMICRO) += micron-st.o
spi-nor-$(CONFIG_MTD_SPI_NOR_NORMEM) += normem.o
spi-nor-$(CONFIG_MTD_SPI_NOR_PUYA) += puya.o
spi-nor-$(CONFIG_MTD_SPI_NOR_SPANSION) += spansion.o
spi-nor-$(CONFIG_MTD_SPI_NOR_SST) += sst.o
spi-nor-$(CONFIG_MTD_SPI_NOR_WINBOND) += winbond.o
spi-nor-$(CONFIG_MTD_SPI_NOR_XILINX) += xilinx.o
spi-nor-$(CONFIG_MTD_SPI_NOR_XMC) += xmc.o
spi-nor-$(CONFIG_MTD_SPI_NOR_XTX) += xtx.o
spi-nor-$(CONFIG_DEBUG_FS) += debugfs.o
obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o

View File

@@ -1753,29 +1753,75 @@ int spi_nor_sr2_bit2_quad_enable(struct spi_nor *nor)
}
static const struct spi_nor_manufacturer *manufacturers[] = {
#ifdef CONFIG_MTD_SPI_NOR_ATMEL
&spi_nor_atmel,
#endif
#ifdef CONFIG_MTD_SPI_NOR_BOYA
&spi_nor_boya,
#endif
#ifdef CONFIG_MTD_SPI_NOR_CATALYST
&spi_nor_catalyst,
#endif
#ifdef CONFIG_MTD_SPI_NOR_DOSILICON
&spi_nor_dosilicon,
#endif
#ifdef CONFIG_MTD_SPI_NOR_EON
&spi_nor_eon,
#endif
#ifdef CONFIG_MTD_SPI_NOR_ESMT
&spi_nor_esmt,
#endif
#ifdef CONFIG_MTD_SPI_NOR_EVERSPIN
&spi_nor_everspin,
#endif
#ifdef CONFIG_MTD_SPI_NOR_FMSH
&spi_nor_fmsh,
#endif
#ifdef CONFIG_MTD_SPI_NOR_FUJITSU
&spi_nor_fujitsu,
#endif
#ifdef CONFIG_MTD_SPI_NOR_GIGADEVICE
&spi_nor_gigadevice,
#endif
#ifdef CONFIG_MTD_SPI_NOR_NORMEM
&spi_nor_normem,
#endif
#ifdef CONFIG_MTD_SPI_NOR_INTEL
&spi_nor_intel,
#endif
#ifdef CONFIG_MTD_SPI_NOR_ISSI
&spi_nor_issi,
#endif
#ifdef CONFIG_MTD_SPI_NOR_MACRONIX
&spi_nor_macronix,
#endif
#ifdef CONFIG_MTD_SPI_NOR_STMICRO
&spi_nor_micron,
#endif
#ifdef CONFIG_MTD_SPI_NOR_PUYA
&spi_nor_puya,
#endif
#ifdef CONFIG_MTD_SPI_NOR_STMICRO
&spi_nor_st,
#endif
#ifdef CONFIG_MTD_SPI_NOR_SPANSION
&spi_nor_spansion,
#endif
#ifdef CONFIG_MTD_SPI_NOR_SST
&spi_nor_sst,
#endif
#ifdef CONFIG_MTD_SPI_NOR_WINBOND
&spi_nor_winbond,
#endif
#ifdef CONFIG_MTD_SPI_NOR_XILINX
&spi_nor_xilinx,
#endif
#ifdef CONFIG_MTD_SPI_NOR_XMC
&spi_nor_xmc,
#endif
#ifdef CONFIG_MTD_SPI_NOR_XTX
&spi_nor_xtx,
#endif
};
static const struct flash_info *spi_nor_match_id(struct spi_nor *nor,