Add NPCM7xx patches to dev-4.19
Subsystems (8)
Tomer Maimon
maintainercover Add NPCM7xx patches to dev-4.19
Add the following NPCM7xx patches to dev-4.19:
1. NPCM7xx FIU driver(SPI-NOR).
2. NPCM7xx I2C driver.
3. NPCM7xx BIOS post code driver.
4. NPCM7xx PCI mailbox driver.
5. NPCM7xx ETHERNET MAC Controller driver.
6. NPCM7xx defconfig.
Tomer Maimon (11):
dt-binding: mtd: add NPCM FIU controller
mtd: spi-nor: add NPCM FIU controller driver
dt-bindings: i2c: npcm7xx: add binding for i2c controller
i2c: npcm: driver for Poleg i2c controller
dt-binding: bmc: Add NPCM7xx LPC BPC documentation
misc: npcm7xx-lpc-bpc: add NPCM7xx BIOS post code driver
dt-binding: bmc: add npcm7xx pci mailbox document
misc: mbox: add npcm7xx pci mailbox driver
dt-binding: net: document NPCM7xx EMC DT bindings
net: npcm: add NPCM7xx Ethernet MAC controller
arm: npcm: add configuration for EVB based NPCM7xx BMC
.../devicetree/bindings/bmc/npcm7xx-lpc-bpc.txt | 26 + .../devicetree/bindings/bmc/npcm7xx-pci-mbox.txt | 19 + .../devicetree/bindings/i2c/i2c-npcm7xx.txt | 29 + Documentation/devicetree/bindings/mtd/npcm-fiu.txt | 64 + .../bindings/net/nuvoton,npcm7xx-emc.txt | 36 + arch/arm/configs/npcm7xx_defconfig | 106 + drivers/i2c/busses/Kconfig | 11 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-npcm7xx.c | 3128 ++++++++++++++++++++ drivers/misc/Kconfig | 15 + drivers/misc/Makefile | 2 + drivers/misc/npcm7xx-lpc-bpc.c | 392 +++ drivers/misc/npcm7xx-pci-mbox.c | 288 ++ drivers/mtd/spi-nor/Kconfig | 8 + drivers/mtd/spi-nor/Makefile | 1 + drivers/mtd/spi-nor/npcm-fiu.c | 930 ++++++ drivers/net/ethernet/nuvoton/Kconfig | 17 +- drivers/net/ethernet/nuvoton/Makefile | 2 + drivers/net/ethernet/nuvoton/npcm7xx_emc.c | 2099 +++++++++++++ 19 files changed, 7173 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/bmc/npcm7xx-lpc-bpc.txt create mode 100644 Documentation/devicetree/bindings/bmc/npcm7xx-pci-mbox.txt create mode 100644 Documentation/devicetree/bindings/i2c/i2c-npcm7xx.txt create mode 100644 Documentation/devicetree/bindings/mtd/npcm-fiu.txt create mode 100644 Documentation/devicetree/bindings/net/nuvoton,npcm7xx-emc.txt create mode 100644 arch/arm/configs/npcm7xx_defconfig create mode 100644 drivers/i2c/busses/i2c-npcm7xx.c create mode 100644 drivers/misc/npcm7xx-lpc-bpc.c create mode 100644 drivers/misc/npcm7xx-pci-mbox.c create mode 100644 drivers/mtd/spi-nor/npcm-fiu.c create mode 100644 drivers/net/ethernet/nuvoton/npcm7xx_emc.c
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 1/11 dt-binding: mtd: add NPCM FIU controller
Added device tree binding documentation for Nuvoton BMC NPCM Flash Interface Unit(FIU) SPI-NOR controller.
--- Documentation/devicetree/bindings/mtd/npcm-fiu.txt | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Documentation/devicetree/bindings/mtd/npcm-fiu.txt
Documentation/devicetree/bindings/mtd/npcm-fiu.txt new file +64 -0
@@ -0,0 +1,64 @@ +* Nuvoton FLASH Interface Unit (FIU) SPI Controller + +NPCM FIU supports single, dual and quad communication interface. + +The NPCM7XX supports three FIU modules, +FIU0 and FIUx supports two chip selects, +FIU3 support four chip select. + +Required properties: + - compatible : "nuvoton,npcm750-fiu" for the NPCM7XX BMC + - #address-cells : should be 1. + - #size-cells : should be 0. + - reg : the first contains the register location and length, + the second contains the memory mapping address and length + - reg-names: Should contain the reg names "control" and "memory" + - clocks : phandle of F reference clock. + +Required properties in case the pins can be muxed: + - pinctrl-names : a pinctrl state named "default" must be defined. + - pinctrl-0 : phandle referencing pin configuration of the device. + +Optional property: + - spix-mode: enable spix-mode for an expansion bus to an ASIC or CPLD. + +The SPI device must be a child of the FIU node and must have a +compatible property as specified in bindings/mtd/jedec,spi-nor.txt + +Required property: +- reg: chip select number. + +Optional property: +- spi-rx-bus-width: see ../spi/spi-bus.txt for the description. + +Aliases: +- All the FIU controller nodes should be represented in the aliases node using + the following format 'fiu{n}' where n is a unique number for the alias. + In the NPCM7XX BMC: + fiu0 represent fiu 0 controller + fiu1 represent fiu 3 controller + fiu2 represent fiu x controller + +Example: +fiu3: fiu@c00000000 { + compatible = "nuvoton,npcm750-fiu"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfb000000 0x1000>, <0x80000000 0x10000000>; + reg-names = "control", "memory"; + clocks = <&clk NPCM7XX_CLK_AHB>; + pinctrl-names = "default"; + pinctrl-0 = <&spi3_pins>; + spi-nor@0 { + compatible = "jedec,spi-nor"; + spi-rx-bus-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + partition@0 { + label = "flash_data"; + reg = <0x0 0x800000>; + }; + }; +}; +
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 2/11 mtd: spi-nor: add NPCM FIU controller driver
In reply to Tomer MaimonAdd Nuvoton NPCM BMC Flash Interface Unit(FIU) SPI-NOR controller driver
The FIU supports single, dual or quad communication interface.
the FIU controller can operate in following modes:
- User Mode Access(UMA): provides flash access by using an indirect address/data mechanism.
- direct rd/wr mode: maps the flash memory into the core address space.
- SPI-X mode: used for an expansion bus to an ASIC or CPLD.
--- drivers/mtd/spi-nor/Kconfig | 8 + drivers/mtd/spi-nor/Makefile | 1 + drivers/mtd/spi-nor/npcm-fiu.c | 930 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 939 insertions(+) create mode 100644 drivers/mtd/spi-nor/npcm-fiu.c
drivers/mtd/spi-nor/Kconfig +8 -0
@@ -75,6 +75,14 @@ config SPI_HISI_SFC help This enables support for hisilicon SPI-NOR flash controller. +config SPI_NPCM_FIU + tristate "NPCM FLASH Interface unit(FIU) controller " + depends on ARCH_NPCM || COMPILE_TEST + help + This enables support for the FLASH Interface unit(FIU) controller. + This driver does not support generic SPI. The implementation only + supports SPI NOR. + config SPI_NXP_SPIFI tristate "NXP SPI Flash Interface (SPIFI)" depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
drivers/mtd/spi-nor/Makefile +1 -0
@@ -6,6 +6,7 @@ obj-$(CONFIG_SPI_CADENCE_QUADSPI) += cadence-quadspi.o obj-$(CONFIG_SPI_FSL_QUADSPI) += fsl-quadspi.o obj-$(CONFIG_SPI_HISI_SFC) += hisi-sfc.o obj-$(CONFIG_MTD_MT81xx_NOR) += mtk-quadspi.o +obj-$(CONFIG_SPI_NPCM_FIU) += npcm-fiu.o obj-$(CONFIG_SPI_NXP_SPIFI) += nxp-spifi.o obj-$(CONFIG_SPI_INTEL_SPI) += intel-spi.o obj-$(CONFIG_SPI_INTEL_SPI_PCI) += intel-spi-pci.o
drivers/mtd/spi-nor/npcm-fiu.c new file +930 -0
930 lines not on this page · raw message
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 3/11 dt-bindings: i2c: npcm7xx: add binding for i2c controller
In reply to Tomer Maimon--- .../devicetree/bindings/i2c/i2c-npcm7xx.txt | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/i2c-npcm7xx.txt
Documentation/devicetree/bindings/i2c/i2c-npcm7xx.txt new file +29 -0
@@ -0,0 +1,29 @@ +Nuvoton NPCM7XX I2C bus + +The NPCM750x includes sixteen I2C bus controllers. All Controllers support +both master and slave mode. Each controller has two 16 byte HW FIFO for TX and +RX. + +Required properties: +- compatible : must be "nuvoton,npcm750-i2c" +- reg : Offset and length of the register set for the device. +- interrupts : Contain the I2C interrupt with flags for falling edge. +- clocks : phandle of I2C reference clock. + +Optional: +- bus-frequency : Contain the I2C bus frequency, + the default I2C bus frequency is 100000. +- pinctrl-0 : must be <&smbX_pins>, X is module number + (on NPCM7XX it's 0 to 15) +- pinctrl-names : should be set to "default" +Example: + + i2c0: i2c@80000 { + compatible = "nuvoton,npcm750-i2c"; + reg = <0x80000 0x1000>; + clocks = <&clk NPCM7XX_CLK_APB2>; + bus-frequency = <100000>; + interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&smb0_pins>; + };
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 4/11 i2c: npcm: driver for Poleg i2c controller
In reply to Tomer Maimon--- drivers/i2c/busses/Kconfig | 11 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-npcm7xx.c | 3128 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 3140 insertions(+) create mode 100644 drivers/i2c/busses/i2c-npcm7xx.c
drivers/i2c/busses/Kconfig +11 -0
@@ -739,6 +739,17 @@ config I2C_NOMADIK I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, as well as the STA2X11 PCIe I/O HUB. +config I2C_NPCM7XX + tristate "Nuvoton I2C Controller" + depends on ARCH_NPCM7XX + select CRC8 + help + If you say yes to this option, support will be included for the + Nuvoton I2C controller. + + This driver can also be built as a module. If so, the module + will be called i2c-npcm7xx. + config I2C_OCORES tristate "OpenCores I2C Controller" help
drivers/i2c/busses/Makefile +1 -0
@@ -74,6 +74,7 @@ obj-$(CONFIG_I2C_MT65XX) += i2c-mt65xx.o obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o obj-$(CONFIG_I2C_MXS) += i2c-mxs.o obj-$(CONFIG_I2C_NOMADIK) += i2c-nomadik.o +obj-$(CONFIG_I2C_NPCM7XX) += i2c-npcm7xx.o obj-$(CONFIG_I2C_OCORES) += i2c-ocores.o obj-$(CONFIG_I2C_OMAP) += i2c-omap.o obj-$(CONFIG_I2C_OWL) += i2c-owl.o
drivers/i2c/busses/i2c-npcm7xx.c new file +3128 -0
2,976 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.14.1
Part of the diff is not shown here. View the raw message.
Tomer Maimon
maintainerPATCH 5/11 dt-binding: bmc: Add NPCM7xx LPC BPC documentation
In reply to Tomer MaimonAdded device tree binding documentation for Nuvoton BMC NPCM7xx BIOS Post Code (BPC).
The NPCM7xx BPC monitoring two configurable I/O addresses written by the host on Low Pin Count (LPC) bus.
--- .../devicetree/bindings/bmc/npcm7xx-lpc-bpc.txt | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Documentation/devicetree/bindings/bmc/npcm7xx-lpc-bpc.txt
Documentation/devicetree/bindings/bmc/npcm7xx-lpc-bpc.txt new file +26 -0
@@ -0,0 +1,26 @@ +Nuvoton NPCM7xx LPC BPC interface + +Nuvoton BMC NPCM7xx BIOS Post Code (BPC) monitoring two +configurable I/O addresses written by the host on the +Low Pin Count (LPC) bus, the capure data stored in 128-word FIFO. + +NPCM7xx BPC supports capture double words, when using capture +double word only I/O address 1 is monitored. + +Required properties for lpc_bpc node +- compatible : "nuvoton,npcm750-lpc-bpc" for Poleg NPCM7XX. +- reg : specifies physical base address and size of the registers. +- interrupts : contain the LPC BPC with flags for falling edge. +- monitor-ports : contain monitor I/O addresses, at least one monitor I/O + address required + +Optional property for lpc_bpc node +- bpc-en-dwcapture : enable capture double words support. + +Example: + lpc_bpc: lpc-bpc@f0007040 { + compatible = "nuvoton,npcm7xx-lpc-bpc"; + reg = <0xf0007040 0x14>; + monitor-ports = <0x80>; + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; + };
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 6/11 misc: npcm7xx-lpc-bpc: add NPCM7xx BIOS post code driver
In reply to Tomer MaimonAdd NPCM7xx BIOS post code (BPC) driver,
the BPC monitoring two I/O address written
by the host on the LPC.
--- drivers/misc/Kconfig | 8 + drivers/misc/Makefile | 1 + drivers/misc/npcm7xx-lpc-bpc.c | 392 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 401 insertions(+) create mode 100644 drivers/misc/npcm7xx-lpc-bpc.c
drivers/misc/Kconfig +8 -0
@@ -520,6 +520,14 @@ config MISC_RTSX tristate default MISC_RTSX_PCI || MISC_RTSX_USB +config NPCM7XX_LPC_BPC + tristate "NPCM7xx LPC BIOS Post Code support" + depends on (ARCH_NPCM7XX || COMPILE_TEST) + help + Provides a NPCM7xx driver to control the LPC BIOS Post Code + interface which allows the BMC to monitoring and save + the data written by the host to an arbitrary LPC I/O port. + source "drivers/misc/c2port/Kconfig" source "drivers/misc/eeprom/Kconfig" source "drivers/misc/cb710/Kconfig"
drivers/misc/Makefile +1 -0
@@ -59,3 +59,4 @@ obj-$(CONFIG_ASPEED_LPC_MBOX) += aspeed-lpc-mbox.o obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o obj-$(CONFIG_OCXL) += ocxl/ obj-$(CONFIG_MISC_RTSX) += cardreader/ +obj-$(CONFIG_NPCM7XX_LPC_BPC) += npcm7xx-lpc-bpc.o
drivers/misc/npcm7xx-lpc-bpc.c new file +392 -0
392 lines not on this page · raw message
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 7/11 dt-binding: bmc: add npcm7xx pci mailbox document
In reply to Tomer MaimonAdded device tree binding documentation for Nuvoton BMC NPCM7XX PCI mailbox.
--- .../devicetree/bindings/bmc/npcm7xx-pci-mbox.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Documentation/devicetree/bindings/bmc/npcm7xx-pci-mbox.txt
Documentation/devicetree/bindings/bmc/npcm7xx-pci-mbox.txt new file +19 -0
@@ -0,0 +1,19 @@ +Nuvoton NPCM7xx PCI mail box interface + +Nuvoton BMC NPCM7xx PCI mail box, The mailbox is a high-bandwidth +communication module between the BMC CPU and host CPU. + +Required properties for lpc_bpc node +- compatible : "nuvoton,npcm750-pci-mbox" for Poleg NPCM7XX. +- reg : specifies two address space + 1. physical base address and size of the registers. + 2. physical base address and size of the dual-ported RAM. +- interrupts : contain the PCI mail box interrupt with flags for falling edge. + +Example: + pcimbox: pcimbox@f0848000 { + compatible = "nuvoton,npcm750-pci-mbox", "simple-mfd", "syscon"; + reg = <0xf084C000 0x8 + 0xf0848000 0x3F00>; + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; + };
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 8/11 misc: mbox: add npcm7xx pci mailbox driver
In reply to Tomer MaimonAdd Nuvoton BMC NPCM7XX PCI Mailbox driver.
--- drivers/misc/Kconfig | 7 + drivers/misc/Makefile | 1 + drivers/misc/npcm7xx-pci-mbox.c | 288 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 296 insertions(+) create mode 100644 drivers/misc/npcm7xx-pci-mbox.c
drivers/misc/Kconfig +7 -0
@@ -528,6 +528,13 @@ config NPCM7XX_LPC_BPC interface which allows the BMC to monitoring and save the data written by the host to an arbitrary LPC I/O port. +config NPCM7XX_PCI_MBOX + tristate "NPCM7xx PCI Mailbox Controller" + depends on (ARCH_NPCM7XX || COMPILE_TEST) && REGMAP && MFD_SYSCON + ---help--- + Expose the NPCM750/730/715/705 PCI MBOX registers found on + Nuvoton SOCs to userspace. + source "drivers/misc/c2port/Kconfig" source "drivers/misc/eeprom/Kconfig" source "drivers/misc/cb710/Kconfig"
drivers/misc/Makefile +1 -0
@@ -60,3 +60,4 @@ obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o obj-$(CONFIG_OCXL) += ocxl/ obj-$(CONFIG_MISC_RTSX) += cardreader/ obj-$(CONFIG_NPCM7XX_LPC_BPC) += npcm7xx-lpc-bpc.o +obj-$(CONFIG_NPCM7XX_PCI_MBOX) += npcm7xx-pci-mbox.o
drivers/misc/npcm7xx-pci-mbox.c new file +288 -0
288 lines not on this page · raw message
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 9/11 dt-binding: net: document NPCM7xx EMC DT bindings
In reply to Tomer MaimonAdded device tree binding documentation for
Nuvoton NPCM7xx Ethernet MAC Controller (EMC).
--- .../bindings/net/nuvoton,npcm7xx-emc.txt | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/nuvoton,npcm7xx-emc.txt
Documentation/devicetree/bindings/net/nuvoton,npcm7xx-emc.txt new file +36 -0
@@ -0,0 +1,36 @@ +Nuvoton NPCM7XX 10/100 Ethernet MAC Controller (EMC) + +The NPCM750x provides two identical Ethernet MAC Controllers +for WAN/LAN applications + +Required properties: +- device_type : Should be "network" +- compatible : "nuvoton,npcm750-emc" for Poleg NPCM750. +- reg : Offset and length of the register set for the device. +- interrupts : Contain the emc interrupts with flags for falling edge. + first interrupt dedicated to Txirq + second interrupt dedicated to Rxirq +- phy-mode : Should be "rmii" (see ethernet.txt in the same directory) +- clocks : phandle of emc reference clock. +- use-ncsi : Use the NC-SI stack instead of an MDIO PHY + +Example: + +emc0: eth@f0825000 { + device_type = "network"; + compatible = "nuvoton,npcm750-emc"; + reg = <0xf0825000 0x1000>; + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; + phy-mode = "rmii"; + clocks = <&clk NPCM7XX_CLK_AHB>; + + #use-ncsi; /* add this to support ncsi */ + + clock-names = "clk_emc"; + pinctrl-names = "default"; + pinctrl-0 = <&r1_pins + &r1err_pins + &r1md_pins>; + status = "okay"; +};
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 10/11 net: npcm: add NPCM7xx Ethernet MAC controller
In reply to Tomer MaimonAdd Nuvoton BMC NPCM7xx Ethernet MAC controller (EMC) driver.
--- drivers/net/ethernet/nuvoton/Kconfig | 17 +- drivers/net/ethernet/nuvoton/Makefile | 2 + drivers/net/ethernet/nuvoton/npcm7xx_emc.c | 2099 ++++++++++++++++++++++++++++ 3 files changed, 2117 insertions(+), 1 deletion(-) create mode 100644 drivers/net/ethernet/nuvoton/npcm7xx_emc.c
drivers/net/ethernet/nuvoton/Kconfig +16 -1
@@ -5,7 +5,7 @@ config NET_VENDOR_NUVOTON bool "Nuvoton devices" default y - depends on ARM && ARCH_W90X900 + depends on ARM && (ARCH_W90X900 || ARCH_NPCM7XX) ---help--- If you have a network (Ethernet) card belonging to this class, say Y.
@@ -25,4 +25,19 @@ config W90P910_ETH Say Y here if you want to use built-in Ethernet ports on w90p910 processor. +config NPCM7XX_EMC_ETH + bool "Nuvoton NPCM7XX Ethernet EMC" + depends on ARM && ARCH_NPCM7XX + select PHYLIB + select MII + ---help--- + Say Y here if you want to use built-in Ethernet MAC + on NPCM750 MCU. + +config NPCM7XX_EMC_ETH_DEBUG + bool "Nuvoton NPCM7XX Ethernet EMC debug" + depends on NPCM7XX_EMC_ETH + ---help--- + Say Y here if you want debug info via /proc/driver/npcm7xx_emc.x + endif # NET_VENDOR_NUVOTON
drivers/net/ethernet/nuvoton/Makefile +2 -0
@@ -2,4 +2,6 @@ # Makefile for the Nuvoton network device drivers. # +#Eternet 10/100 EMC obj-$(CONFIG_W90P910_ETH) += w90p910_ether.o +obj-$(CONFIG_NPCM7XX_EMC_ETH) += npcm7xx_emc.o
drivers/net/ethernet/nuvoton/npcm7xx_emc.c new file +2099 -0
2,099 lines not on this page · raw message
Signature · 1 line
2.14.1
Tomer Maimon
maintainerPATCH 11/11 arm: npcm: add configuration for EVB based NPCM7xx BMC
In reply to Tomer Maimonadd configuration definition for evaluation board based NPCM7xx (Poleg) BMC.
--- arch/arm/configs/npcm7xx_defconfig | 106 +++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 arch/arm/configs/npcm7xx_defconfig
arch/arm/configs/npcm7xx_defconfig new file +106 -0
@@ -0,0 +1,106 @@ +CONFIG_KERNEL_XZ=y +CONFIG_SYSVIPC=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_LOG_BUF_SHIFT=21 +CONFIG_CGROUPS=y +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_EMBEDDED=y +CONFIG_SLAB=y +CONFIG_ARCH_NPCM=y +CONFIG_ARCH_NPCM7XX=y +CONFIG_SMP=y +CONFIG_VMSPLIT_3G_OPT=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_CRYPTO=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_DEFAULT_DEADLINE=y +CONFIG_BINFMT_MISC=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_RAM=y +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_SPI_NPCM_FIU=y +CONFIG_OF_OVERLAY=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_NBD=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_NPCM7XX_LPC_BPC=y +CONFIG_NPCM7XX_PCI_MBOX=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_NETDEVICES=y +CONFIG_NPCM7XX_EMC_ETH=y +CONFIG_STMMAC_ETH=y +CONFIG_BROADCOM_PHY=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_NPCM7XX_KCS_IPMI_BMC=y +CONFIG_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_NPCM7XX=y +CONFIG_SPI=y +CONFIG_SPI_NPCM_PSPI=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_SENSORS_LM75=y +CONFIG_SENSORS_NPCM7XX=y +CONFIG_SENSORS_TMP102=y +CONFIG_WATCHDOG=y +CONFIG_USB_HIDDEV=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_GADGET=y +CONFIG_USB_MASS_STORAGE=m +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_IIO=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_ROMFS_FS=y +CONFIG_NFS_FS=y +CONFIG_ROOT_NFS=y +CONFIG_CIFS=y +CONFIG_CIFS_XATTR=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_REDUCED=y +CONFIG_READABLE_ASM=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_FUNCTION_TRACER=y
Signature · 1 line
2.14.1
Hi Tomer,
Quoted 2 lines · Tomer Maimon
Add the following NPCM7xx patches to dev-4.19:
I had some email issues where not all of these patches arrived in my inbox. They are on patchwork, so I was able to review them.
Quoted 3 lines
1. NPCM7xx FIU driver(SPI-NOR).
2. NPCM7xx I2C driver.
The i2c does not build, so I did not include that patch:
../drivers/i2c/busses/i2c-npcm7xx.c:9:10: fatal error:linux/clk/nuvoton.h: No such file or directory
#include <linux/clk/nuvoton.h>
^~~~~~~~~~~~~~~~~~~~~Please re-send it once you've tested that it applies and builds. It would be great if you had also tested it on hardware before sending.
Quoted 1 line
3. NPCM7xx BIOS post code driver.
This introduces a warning:
../drivers/misc/npcm7xx-lpc-bpc.c: In function ‘npcm7xx_bpc_irq’:../drivers/misc/npcm7xx-lpc-bpc.c:150:25: warning: ‘last_addr_bit’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (lpc_bpc->en_dwcap && last_addr_bit) {
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~I would strongly encourage you to look at the aspeed snoop driver and adopt a common userspace interface for this code. It's important to do that before userspace code is written that depends on this interface.
Quoted 1 line
4. NPCM7xx PCI mailbox driver.
I didn't merge this one has it contained a bad size check. Please take a look at npcm7xx_mbox_write:
+ if (count + *ppos > mbox->max_buf_size)
+ return -EINVAL;
If you resend just the mailbox driver (and bindings) I will merge them separately.
Quoted 2 lines
5. NPCM7xx ETHERNET MAC Controller driver.
6. NPCM7xx defconfig.
I found some warnings and errors when building your patches
The device tree updates cause this warning when building:
DTC arch/arm/boot/dts/nuvoton-npcm750-evb.dtbarch/arm/boot/dts/nuvoton-npcm750-evb.dtb: Warning (pci_bridge):
/ahb/axi-pcie@e1000000: node name is not "pci" or "pcie"
The ADC driver causes this warning:
../drivers/iio/adc/npcm_adc.c: In function ‘npcm_adc_probe’:../drivers/iio/adc/npcm_adc.c:301:9: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return ret;
^~~I took a look at the driver and it is clear it needs some further work. eg:
if (PTR_ERR(info->vref) != -ENODEV) {
goto err_disable_clk;
return PTR_ERR(info->vref);
}and:
if (of_device_is_compatible(np, "nuvoton,npcm750-adc")) {Can you please take another look at the series before we merge it? Here's a checklist:
1. Build the code
2. Check for warnings
3. Run the patches through checkpatch.pl
Thanks,
Joel