On Tuesday, 19 March 2024 11:52:29 CET Josua Mayer wrote: > May I ask if you are analyzing dts manually, or whether you are aware > of an automatic tool?
Analyses is done by a MUCH improved scripts based upon what I came up with a while ago: https://salsa.debian.org/kernel-team/linux/-/merge_requests/906#note_442903 My script came forth as I was analysing dts[i] files manually by looking up the ``compatible = "xyz"`` ... and at some point I made a script to help with that. Even the much improved version doesn't find them all so I regularly end up filling in the things it didn't find, but usually it does find 80-90+%. HTH, Diederik
dts2config
Description: application/shellscript
diederik@bagend:~/dev/debian/salsa/kernel-team/linux$ ../dts2config arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dts dts: arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dts ============================================================ includes: arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi dts: arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dts - ARCH_LAYERSCAPE - arch/arm64/Kconfig.platforms - ARCH_LAYERSCAPE (bool) - debian/config/arm64/config - CONFIG_ARCH_LAYERSCAPE=y - debian/config/arm64/config.cloud-arm64 - # CONFIG_ARCH_LAYERSCAPE is not set compatible: "solidrun,honeycomb" compatible: "solidrun,lx2160a-cex7" compatible: "fsl,lx2160a" dts: arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi ================================================================ includes: arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi compatible: "gpio-keys" - source: drivers/input/keyboard/gpio_keys.c - KEYBOARD_GPIO - drivers/input/keyboard/Kconfig - KEYBOARD_GPIO (tristate) - debian/config/config - # CONFIG_KEYBOARD_GPIO is not set - debian/config/config.cloud - # CONFIG_KEYBOARD_GPIO is not set - debian/config/arm64/config - CONFIG_KEYBOARD_GPIO=m - INPUT_KEYBOARD - drivers/input/keyboard/Kconfig - INPUT_KEYBOARD (bool, default y) - debian/config/config - CONFIG_INPUT_KEYBOARD=y - INPUT - drivers/input/Kconfig - INPUT (tristate, default y) - debian/config/config - CONFIG_INPUT=y compatible: "sff,sfp" - source: drivers/net/phy/sfp.c - SFP - drivers/net/phy/Kconfig - SFP (tristate) - debian/config/config - CONFIG_SFP=m dts: arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi ======================================================== includes: arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi compatible: "solidrun,lx2160a-cex7" compatible: "fsl,lx2160a" compatible: "regulator-fixed" - source: drivers/regulator/fixed.c - REGULATOR_FIXED_VOLTAGE - drivers/regulator/Kconfig - REGULATOR_FIXED_VOLTAGE (tristate) - debian/config/config - # CONFIG_REGULATOR_FIXED_VOLTAGE is not set - debian/config/arm64/config - CONFIG_REGULATOR_FIXED_VOLTAGE=m - REGULATOR - drivers/regulator/Kconfig - REGULATOR (bool) - debian/config/config - # CONFIG_REGULATOR is not set - debian/config/config.cloud - # CONFIG_REGULATOR is not set - debian/config/arm64/config - CONFIG_REGULATOR=y compatible: "nxp,pca9547" - source: drivers/i2c/muxes/i2c-mux-pca954x.c - I2C_MUX_PCA954x - drivers/i2c/muxes/Kconfig - I2C_MUX_PCA954x (tristate) - debian/config/config - # CONFIG_I2C_MUX_PCA954x is not set - debian/config/arm64/config - CONFIG_I2C_MUX_PCA954x=m compatible: "atmel,24c512" - source: drivers/misc/eeprom/at24.c - EEPROM_AT24 - drivers/misc/eeprom/Kconfig - EEPROM_AT24 (tristate) - debian/config/config - CONFIG_EEPROM_AT24=m compatible: "atmel,spd" - source: drivers/misc/eeprom/at24.c - EEPROM_AT24 - drivers/misc/eeprom/Kconfig - EEPROM_AT24 (tristate) - debian/config/config - CONFIG_EEPROM_AT24=m compatible: "atmel,24c02" - source: drivers/misc/eeprom/at24.c - EEPROM_AT24 - drivers/misc/eeprom/Kconfig - EEPROM_AT24 (tristate) - debian/config/config - CONFIG_EEPROM_AT24=m compatible: "ti,amc6821" - source: drivers/hwmon/amc6821.c - SENSORS_AMC6821 - drivers/hwmon/Kconfig - SENSORS_AMC6821 (tristate) - debian/config/config - CONFIG_SENSORS_AMC6821=m - I2C - drivers/i2c/Kconfig - I2C (tristate) - debian/config/arm64/config - CONFIG_I2C=y compatible: "lltc,ltc3882" - source: drivers/hwmon/pmbus/ltc2978.c - SENSORS_LTC2978 - drivers/hwmon/pmbus/Kconfig - SENSORS_LTC2978 (tristate) - PMBUS - drivers/hwmon/pmbus/Kconfig - PMBUS (tristate) - debian/config/config - # CONFIG_PMBUS is not set - HWMON - drivers/hwmon/Kconfig - HWMON (tristate, default y) - debian/config/config - CONFIG_HWMON=y - debian/config/config.cloud - # CONFIG_HWMON is not set compatible: "nxp,sa56004" - source: drivers/hwmon/lm90.c - SENSORS_LM90 - drivers/hwmon/Kconfig - SENSORS_LM90 (tristate) - debian/config/arm64/config - CONFIG_SENSORS_LM90=m - HWMON - drivers/hwmon/Kconfig - HWMON (tristate, default y) - debian/config/config - CONFIG_HWMON=y - debian/config/config.cloud - # CONFIG_HWMON is not set compatible: "nxp,pcf2129" - source: drivers/rtc/rtc-pcf2127.c - RTC_DRV_PCF2127 - drivers/rtc/Kconfig - RTC_DRV_PCF2127 (tristate) - debian/config/config - # CONFIG_RTC_DRV_PCF2127 is not set - debian/config/config.cloud - # CONFIG_RTC_DRV_PCF2127 is not set - debian/config/arm64/config - CONFIG_RTC_DRV_PCF2127=m - RTC_LIB - drivers/rtc/Kconfig - RTC_LIB (bool) compatible: "micron,m25p80" - source: drivers/mtd/spi-nor/micron-st.c - MTD_SPI_NOR - drivers/mtd/spi-nor/Kconfig - MTD_SPI_NOR (tristate) - debian/config/config - CONFIG_MTD_SPI_NOR=m dts: arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi =================================================== compatible: "fsl,lx2160a" compatible: "arm,cortex-a72" compatible: "cache" compatible: "arm,idle-state" - source: drivers/cpuidle/cpuidle-arm.c - ARM_CPUIDLE - drivers/cpuidle/Kconfig.arm - ARM_CPUIDLE (bool) - CPU_IDLE - drivers/cpuidle/Kconfig - CPU_IDLE (bool, default y if ACPI || PPC_PSERIES) - debian/config/config.cloud - # CONFIG_CPU_IDLE is not set - source: drivers/cpuidle/cpuidle-big_little.c - ARM_BIG_LITTLE_CPUIDLE - drivers/cpuidle/Kconfig.arm - ARM_BIG_LITTLE_CPUIDLE (bool) - CPU_IDLE - drivers/cpuidle/Kconfig - CPU_IDLE (bool, default y if ACPI || PPC_PSERIES) - debian/config/config.cloud - # CONFIG_CPU_IDLE is not set - source: drivers/cpuidle/cpuidle-psci.c - ARM_PSCI_CPUIDLE - drivers/cpuidle/Kconfig.arm - ARM_PSCI_CPUIDLE (bool) - debian/config/arm64/config - CONFIG_ARM_PSCI_CPUIDLE=y - CPU_IDLE - drivers/cpuidle/Kconfig - CPU_IDLE (bool, default y if ACPI || PPC_PSERIES) - debian/config/config.cloud - # CONFIG_CPU_IDLE is not set compatible: "arm,gic-v3" - source: drivers/irqchip/irq-gic-v3.c - ARM_GIC_V3 - drivers/irqchip/Kconfig - ARM_GIC_V3 (bool) compatible: "arm,gic-v3-its" - source: drivers/irqchip/irq-gic-v3-its.c - ARM_GIC_V3_ITS - drivers/irqchip/Kconfig - ARM_GIC_V3_ITS (bool, default ARM_GIC_V3) - source: drivers/irqchip/irq-gic-v3-its-platform-msi.c - ARM_GIC_V3_ITS - drivers/irqchip/Kconfig - ARM_GIC_V3_ITS (bool, default ARM_GIC_V3) - source: drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c - ARM_GIC_V3_ITS_FSL_MC - drivers/irqchip/Kconfig - ARM_GIC_V3_ITS_FSL_MC (bool, default ARM_GIC_V3_ITS) - source: drivers/irqchip/irq-gic-v3-its-pci-msi.c - ARM_GIC_V3_ITS_PCI - drivers/irqchip/Kconfig - ARM_GIC_V3_ITS_PCI (bool, default ARM_GIC_V3_ITS) compatible: "arm,armv8-timer" - source: drivers/clocksource/arm_arch_timer.c - ARM_ARCH_TIMER - drivers/clocksource/Kconfig - ARM_ARCH_TIMER (bool) compatible: "arm,cortex-a72-pmu" - source: drivers/perf/arm_pmuv3.c - ARM_PMUV3 - drivers/perf/Kconfig - ARM_PMUV3 (bool, default ARM64) - debian/config/arm64/config - CONFIG_ARM_PMUV3=y - PERF_EVENTS - init/Kconfig - PERF_EVENTS (bool, default y if PROFILING) - debian/config/config - CONFIG_PERF_EVENTS=y compatible: "arm,psci-0.2" - source: drivers/firmware/psci/psci.c - ARM_PSCI_FW - drivers/firmware/psci/Kconfig - ARM_PSCI_FW (bool) compatible: "fsl,qoriq-memory-controller" - source: drivers/edac/mpc85xx_edac.c - EDAC_MPC85XX - drivers/edac/Kconfig - EDAC_MPC85XX (bool) - EDAC - drivers/edac/Kconfig - EDAC (tristate) - debian/config/config.cloud - # CONFIG_EDAC is not set - debian/config/arm64/config - CONFIG_EDAC=y - source: drivers/edac/layerscape_edac.c - EDAC_LAYERSCAPE - drivers/edac/Kconfig - EDAC_LAYERSCAPE (tristate) - debian/config/arm64/config - CONFIG_EDAC_LAYERSCAPE=m - EDAC - drivers/edac/Kconfig - EDAC (tristate) - debian/config/config.cloud - # CONFIG_EDAC is not set - debian/config/arm64/config - CONFIG_EDAC=y compatible: "fixed-clock" - source: drivers/clk/clk-fixed-rate.c - COMMON_CLK - drivers/clk/Kconfig - COMMON_CLK (bool) - debian/config/arm64/config - CONFIG_COMMON_CLK=y compatible: "simple-bus" - source: drivers/of/platform.c - OF - drivers/of/Kconfig - OF (bool) - debian/config/config - # CONFIG_OF is not set - debian/config/config.cloud - # CONFIG_OF is not set compatible: "fsl,lynx-28g" - source: drivers/phy/freescale/phy-fsl-lynx-28g.c - PHY_FSL_LYNX_28G - drivers/phy/freescale/Kconfig - PHY_FSL_LYNX_28G (tristate) - GENERIC_PHY - drivers/phy/Kconfig - GENERIC_PHY (bool) - debian/config/config - # CONFIG_GENERIC_PHY is not set compatible: "fsl,sec-v5.0" compatible: "fsl,sec-v4.0" - source: drivers/crypto/caam/ctrl.c - CRYPTO_DEV_FSL_CAAM - drivers/crypto/caam/Kconfig - CRYPTO_DEV_FSL_CAAM (tristate) - debian/config/arm64/config - CONFIG_CRYPTO_DEV_FSL_CAAM=m - CRYPTO_DEV_FSL_CAAM_COMMON - drivers/crypto/caam/Kconfig - CRYPTO_DEV_FSL_CAAM_COMMON (tristate) - CRYPTO - crypto/Kconfig - CRYPTO (tristate) - debian/config/config - CONFIG_CRYPTO=y compatible: "fsl,sec-v5.0-job-ring" compatible: "fsl,sec-v4.0-job-ring" - source: drivers/crypto/caam/jr.c - CRYPTO_DEV_FSL_CAAM_JR - drivers/crypto/caam/Kconfig - CRYPTO_DEV_FSL_CAAM_JR (tristate, default y) - debian/config/arm64/config - CONFIG_CRYPTO_DEV_FSL_CAAM_JR=m - CRYPTO_DEV_FSL_CAAM_COMMON - drivers/crypto/caam/Kconfig - CRYPTO_DEV_FSL_CAAM_COMMON (tristate) - CRYPTO - crypto/Kconfig - CRYPTO (tristate) - debian/config/config - CONFIG_CRYPTO=y compatible: "fsl,lx2160a-clockgen" - source: drivers/clk/clk-qoriq.c - CLK_QORIQ - drivers/clk/Kconfig - CLK_QORIQ (bool) - debian/config/arm64/config - CONFIG_CLK_QORIQ=y - debian/config/arm64/config.cloud-arm64 - # CONFIG_CLK_QORIQ is not set compatible: "fsl,lx2160a-dcfg" - source: drivers/soc/fsl/guts.c - FSL_GUTS - drivers/soc/fsl/Kconfig - FSL_GUTS (bool) compatible: "syscon" compatible: "fsl,ls1028a-sfp" - source: drivers/nvmem/layerscape-sfp.c - NVMEM_LAYERSCAPE_SFP - drivers/nvmem/Kconfig - NVMEM_LAYERSCAPE_SFP (tristate) - NVMEM - drivers/nvmem/Kconfig - NVMEM (bool) - debian/config/config - CONFIG_NVMEM=y - debian/config/config.cloud - # CONFIG_NVMEM is not set compatible: "fsl,lx2160a-isc" compatible: "fsl,lx2160a-extirq" compatible: "fsl,ls1088a-extirq" - source: drivers/irqchip/irq-ls-extirq.c - LS_EXTIRQ - drivers/irqchip/Kconfig - LS_EXTIRQ (non-visible) compatible: "fsl,qoriq-tmu" - source: drivers/thermal/qoriq_thermal.c - QORIQ_THERMAL - drivers/thermal/Kconfig - QORIQ_THERMAL (tristate) - debian/config/arm64/config - CONFIG_QORIQ_THERMAL=m - THERMAL - drivers/thermal/Kconfig - THERMAL (bool) - debian/config/config.cloud - # CONFIG_THERMAL is not set - debian/config/kernelarch-arm/config - CONFIG_THERMAL=y - debian/config/arm64/config - CONFIG_THERMAL=y compatible: "fsl,vf610-i2c" - source: drivers/i2c/busses/i2c-imx.c - I2C_IMX - drivers/i2c/busses/Kconfig - I2C_IMX (tristate) - debian/config/arm64/config - CONFIG_I2C_IMX=m compatible: "nxp,lx2160a-fspi" - source: drivers/spi/spi-nxp-fspi.c - SPI_NXP_FLEXSPI - drivers/spi/Kconfig - SPI_NXP_FLEXSPI (tristate) - debian/config/arm64/config - CONFIG_SPI_NXP_FLEXSPI=m - SPI - drivers/spi/Kconfig - SPI (bool) - debian/config/config - CONFIG_SPI=y - debian/config/config.cloud - # CONFIG_SPI is not set compatible: "fsl,lx2160a-dspi" - source: drivers/spi/spi-fsl-dspi.c - SPI_FSL_DSPI - drivers/spi/Kconfig - SPI_FSL_DSPI (tristate) - debian/config/config - # CONFIG_SPI_FSL_DSPI is not set - debian/config/arm64/config - CONFIG_SPI_FSL_DSPI=m - SPI - drivers/spi/Kconfig - SPI (bool) - debian/config/config - CONFIG_SPI=y - debian/config/config.cloud - # CONFIG_SPI is not set compatible: "fsl,ls2085a-dspi" - source: drivers/spi/spi-fsl-dspi.c - SPI_FSL_DSPI - drivers/spi/Kconfig - SPI_FSL_DSPI (tristate) - debian/config/config - # CONFIG_SPI_FSL_DSPI is not set - debian/config/arm64/config - CONFIG_SPI_FSL_DSPI=m - SPI - drivers/spi/Kconfig - SPI (bool) - debian/config/config - CONFIG_SPI=y - debian/config/config.cloud - # CONFIG_SPI is not set compatible: "fsl,esdhc" - source: drivers/mmc/host/sdhci-of-esdhc.c - MMC_SDHCI_OF_ESDHC - drivers/mmc/host/Kconfig - MMC_SDHCI_OF_ESDHC (tristate) - debian/config/arm64/config - CONFIG_MMC_SDHCI_OF_ESDHC=m compatible: "fsl,lx2160ar1-flexcan" - source: drivers/net/can/flexcan/flexcan-core.c - CAN_FLEXCAN - drivers/net/can/Kconfig - CAN_FLEXCAN (tristate) - debian/config/arm64/config - CONFIG_CAN_FLEXCAN=m - CAN - net/can/Kconfig - CAN (tristate) - debian/config/config - CONFIG_CAN=m - debian/config/config.cloud - # CONFIG_CAN is not set compatible: "arm,sbsa-uart" - source: drivers/tty/serial/amba-pl011.c - SERIAL_AMBA_PL011 - drivers/tty/serial/Kconfig - SERIAL_AMBA_PL011 (tristate) - debian/config/arm64/config - CONFIG_SERIAL_AMBA_PL011=y compatible: "arm,pl011" compatible: "fsl,qoriq-gpio" - source: drivers/gpio/gpio-mpc8xxx.c - GPIO_MPC8XXX - drivers/gpio/Kconfig - GPIO_MPC8XXX (bool) - debian/config/arm64/config - CONFIG_GPIO_MPC8XXX=y - GPIOLIB - drivers/gpio/Kconfig - GPIOLIB (bool) - debian/config/config - # CONFIG_GPIOLIB is not set - debian/config/config.cloud - # CONFIG_GPIOLIB is not set - debian/config/arm64/config - CONFIG_GPIOLIB=y - source: arch/powerpc/platforms/85xx/sgy_cts1000.c - FSL_SOC_BOOKE - arch/powerpc/platforms/85xx/Kconfig - FSL_SOC_BOOKE (bool, default y) - SGY_CTS1000 - arch/powerpc/platforms/85xx/Kconfig - SGY_CTS1000 (tristate) compatible: "arm,sbsa-gwdt" - source: drivers/watchdog/sbsa_gwdt.c - ARM_SBSA_WATCHDOG - drivers/watchdog/Kconfig - ARM_SBSA_WATCHDOG (tristate) - debian/config/arm64/config - CONFIG_ARM_SBSA_WATCHDOG=m - WATCHDOG - drivers/watchdog/Kconfig - WATCHDOG (bool) - debian/config/config - CONFIG_WATCHDOG=y compatible: "fsl,lx2160a-rcpm" compatible: "fsl,qoriq-rcpm-2.1+" - source: drivers/soc/fsl/rcpm.c - FSL_RCPM - drivers/soc/fsl/Kconfig - FSL_RCPM (bool) compatible: "fsl,lx2160a-ftm-alarm" - source: drivers/rtc/rtc-fsl-ftm-alarm.c - RTC_DRV_FSL_FTM_ALARM - drivers/rtc/Kconfig - RTC_DRV_FSL_FTM_ALARM (tristate) - RTC_LIB - drivers/rtc/Kconfig - RTC_LIB (bool) compatible: "snps,dwc3" - source: drivers/usb/dwc3/core.c - USB_DWC3 - drivers/usb/dwc3/Kconfig - USB_DWC3 (tristate) - debian/config/config - # CONFIG_USB_DWC3 is not set - debian/config/arm64/config - CONFIG_USB_DWC3=m - OF - drivers/of/Kconfig - OF (bool) - debian/config/config - # CONFIG_OF is not set - debian/config/config.cloud - # CONFIG_OF is not set - PCI - drivers/pci/Kconfig - PCI (bool) - debian/config/arm64/config - CONFIG_PCI=y - USB - drivers/usb/Kconfig - USB (tristate) - USB_GADGET - drivers/usb/gadget/Kconfig - USB_GADGET (tristate) - debian/config/config - # CONFIG_USB_GADGET is not set - debian/config/arm64/config - CONFIG_USB_GADGET=m - USB_PHY - drivers/usb/phy/Kconfig - USB_PHY (non-visible) - USB_SUPPORT - drivers/usb/Kconfig - USB_SUPPORT (bool, default y) - debian/config/config - CONFIG_USB_SUPPORT=y - debian/config/config.cloud - # CONFIG_USB_SUPPORT is not set compatible: "fsl,lx2160a-ahci" - source: drivers/ata/ahci_qoriq.c - AHCI_QORIQ - drivers/ata/Kconfig - AHCI_QORIQ (tristate) - debian/config/config - # CONFIG_AHCI_QORIQ is not set - debian/config/arm64/config - CONFIG_AHCI_QORIQ=m - debian/config/arm64/config.cloud-arm64 - # CONFIG_AHCI_QORIQ is not set - ATA - drivers/ata/Kconfig - ATA (tristate) - debian/config/config - CONFIG_ATA=m compatible: "fsl,lx2160a-pcie" - source: drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c - PCIE_LAYERSCAPE_GEN4 - drivers/pci/controller/mobiveil/Kconfig - PCIE_LAYERSCAPE_GEN4 (bool) compatible: "arm,mmu-500" - source: drivers/iommu/arm/arm-smmu/arm-smmu.c - ARM_SMMU - drivers/iommu/Kconfig - ARM_SMMU (tristate) - debian/config/arm64/config - CONFIG_ARM_SMMU=y compatible: "fsl,dpaa2-console" - source: drivers/soc/fsl/dpaa2-console.c - DPAA2_CONSOLE - drivers/soc/fsl/Kconfig - DPAA2_CONSOLE (tristate, default y) - debian/config/arm64/config - CONFIG_DPAA2_CONSOLE=m compatible: "fsl,dpaa2-ptp" - source: drivers/ptp/ptp_qoriq.c - PTP_1588_CLOCK_QORIQ - drivers/ptp/Kconfig: - PTP_1588_CLOCK_QORIQ (tristate, default y) - debian/config/config - CONFIG_PTP_1588_CLOCK_QORIQ=m - debian/config/arm64/config - CONFIG_PTP_1588_CLOCK_QORIQ=m compatible: "fsl,fman-memac-mdio" - source: drivers/net/ethernet/freescale/xgmac_mdio.c - FSL_XGMAC_MDIO - drivers/net/ethernet/freescale/Kconfig - FSL_XGMAC_MDIO (tristate) - debian/config/arm64/config - CONFIG_FSL_XGMAC_MDIO=m - NET_VENDOR_FREESCALE - drivers/net/ethernet/freescale/Kconfig - NET_VENDOR_FREESCALE (bool, default y) - debian/config/arm64/config - CONFIG_NET_VENDOR_FREESCALE=y - ETHERNET - drivers/net/ethernet/Kconfig - ETHERNET (bool, default y) - debian/config/config - CONFIG_ETHERNET=y compatible: "fsl,qoriq-mc" - source: drivers/bus/fsl-mc/fsl-mc-bus.c - FSL_MC_BUS - drivers/bus/fsl-mc/Kconfig - FSL_MC_BUS (bool) - debian/config/arm64/config - CONFIG_FSL_MC_BUS=y compatible: "fsl,qoriq-mc-dpmac" compatible: "linaro,optee-tz" - source: drivers/tee/optee/smc_abi.c - OPTEE - drivers/tee/optee/Kconfig - OPTEE (tristate) - debian/config/arm64/config - CONFIG_OPTEE=m - TEE - drivers/tee/Kconfig - TEE (tristate) - debian/config/arm64/config - CONFIG_TEE=m
signature.asc
Description: This is a digitally signed message part.