Marvell Berlin SoCs did not have a custom defconfig and were only
supported in multi_v7_defconfig.
Adds a proper defconfig, allowing to boot a Berlin SoC with all the
currently supported features: SMP, Pinmux, AHCI, Ethernet, I2C, GPIO,
USB, SDHCI.
Booting with the rootfs on NFS is also supported.
Signed-off-by: Antoine Tenart <[email protected]>
---
arch/arm/configs/berlin_defconfig | 104 ++++++++++++++++++++++++++++++++++++++
1 file changed, 104 insertions(+)
create mode 100644 arch/arm/configs/berlin_defconfig
diff --git a/arch/arm/configs/berlin_defconfig b/arch/arm/configs/berlin_defconfig
new file mode 100644
index 000000000000..12430995cab2
--- /dev/null
+++ b/arch/arm/configs/berlin_defconfig
@@ -0,0 +1,104 @@
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_JUMP_LABEL=y
+CONFIG_ARCH_BERLIN=y
+CONFIG_MACH_BERLIN_BG2=y
+CONFIG_MACH_BERLIN_BG2CD=y
+CONFIG_MACH_BERLIN_BG2Q=y
+CONFIG_SMP=y
+CONFIG_AEABI=y
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+CONFIG_CMDLINE="console=ttyS0,115200"
+CONFIG_VFP=y
+CONFIG_NEON=y
+# CONFIG_SUSPEND is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+# CONFIG_INET_DIAG is not set
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET6_XFRM_MODE_BEET is not set
+# CONFIG_IPV6_SIT is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_UEVENT_HELPER is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_BLK_DEV is not set
+CONFIG_BLK_DEV_SD=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_CORE is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_CADENCE is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CIRRUS is not set
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+CONFIG_PXA168_ETH=y
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_USB_NET_DRIVERS is not set
+# CONFIG_WLAN is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_GPIO_DWAPB=y
+# CONFIG_HWMON is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_PXAV3=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PHY_BERLIN_USB=y
+CONFIG_PHY_BERLIN_SATA=y
+CONFIG_EXT4_FS=y
+CONFIG_CONFIGFS_FS=y
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_PRINTK_TIME=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_FTRACE is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
--
2.2.2
On Tuesday 03 February 2015 12:28:52 Antoine Tenart wrote:
> Marvell Berlin SoCs did not have a custom defconfig and were only
> supported in multi_v7_defconfig.
>
> Adds a proper defconfig, allowing to boot a Berlin SoC with all the
> currently supported features: SMP, Pinmux, AHCI, Ethernet, I2C, GPIO,
> USB, SDHCI.
>
>
Are there any features that are not currently supported by
multi_v7_defconfig? If so, please also add them there as
loadable modules.
Arnd
Hi Arnd,
On Tue, Feb 03, 2015 at 01:54:42PM +0100, Arnd Bergmann wrote:
> On Tuesday 03 February 2015 12:28:52 Antoine Tenart wrote:
> > Marvell Berlin SoCs did not have a custom defconfig and were only
> > supported in multi_v7_defconfig.
> >
> > Adds a proper defconfig, allowing to boot a Berlin SoC with all the
> > currently supported features: SMP, Pinmux, AHCI, Ethernet, I2C, GPIO,
> > USB, SDHCI.
> >
> >
>
> Are there any features that are not currently supported by
> multi_v7_defconfig? If so, please also add them there as
> loadable modules.
I just checked and it seems some of them are missing:
- pxa168 ethernet support
- Berlin USB PHY support
- Berlin SATA PHY support
I'll cook up a patch to add these 3 features into multi_v7_defconfig.
Thanks!
Antoine
--
Antoine T?nart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
On 03.02.2015 13:54, Arnd Bergmann wrote:
> On Tuesday 03 February 2015 12:28:52 Antoine Tenart wrote:
>> Marvell Berlin SoCs did not have a custom defconfig and were only
>> supported in multi_v7_defconfig.
>>
>> Adds a proper defconfig, allowing to boot a Berlin SoC with all the
>> currently supported features: SMP, Pinmux, AHCI, Ethernet, I2C, GPIO,
>> USB, SDHCI.
>>
>>
>
> Are there any features that are not currently supported by
> multi_v7_defconfig? If so, please also add them there as
> loadable modules.
Antoine, Arnd,
do we really need two potentially diverging defconfigs?
I am aware that multi_v7_defconfig adds a lot of stuff that is
not required for Berlin, but still I think in terms of coverage
(both Berlin and non-Berlin stuff) multi_v7 is sufficient, isn't
it?
However, if there is a strong desire for Berlin-only defconfig,
I'll agree.
Sebastian
Hi Sebastian,
On Tue, Feb 03, 2015 at 11:26:46PM +0100, Sebastian Hesselbarth wrote:
> On 03.02.2015 13:54, Arnd Bergmann wrote:
> >On Tuesday 03 February 2015 12:28:52 Antoine Tenart wrote:
> >>Marvell Berlin SoCs did not have a custom defconfig and were only
> >>supported in multi_v7_defconfig.
> >>
> >>Adds a proper defconfig, allowing to boot a Berlin SoC with all the
> >>currently supported features: SMP, Pinmux, AHCI, Ethernet, I2C, GPIO,
> >>USB, SDHCI.
> >>
> >>
> >
> >Are there any features that are not currently supported by
> >multi_v7_defconfig? If so, please also add them there as
> >loadable modules.
>
> do we really need two potentially diverging defconfigs?
>
> I am aware that multi_v7_defconfig adds a lot of stuff that is
> not required for Berlin, but still I think in terms of coverage
> (both Berlin and non-Berlin stuff) multi_v7 is sufficient, isn't
> it?
In term of coverage, multi_v7_defconfig should be sufficient. The main
advantage of having a custom Berlin defconfig would be for me to have a
small kernel image and a configuration to start with without having to
maintain it out of tree, for Berlin related developments.
It's not mandatory, but it's useful at least for me. So the question
is whether we want this defconfig mainlined or out of tree.
Antoine
--
Antoine T?nart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
On Wednesday 04 February 2015 09:54:04 Antoine Tenart wrote:
> Hi Sebastian,
>
> On Tue, Feb 03, 2015 at 11:26:46PM +0100, Sebastian Hesselbarth wrote:
> > On 03.02.2015 13:54, Arnd Bergmann wrote:
> > >On Tuesday 03 February 2015 12:28:52 Antoine Tenart wrote:
> > >>Marvell Berlin SoCs did not have a custom defconfig and were only
> > >>supported in multi_v7_defconfig.
> > >>
> > >>Adds a proper defconfig, allowing to boot a Berlin SoC with all the
> > >>currently supported features: SMP, Pinmux, AHCI, Ethernet, I2C, GPIO,
> > >>USB, SDHCI.
> > >>
> > >>
> > >
> > >Are there any features that are not currently supported by
> > >multi_v7_defconfig? If so, please also add them there as
> > >loadable modules.
> >
> > do we really need two potentially diverging defconfigs?
> >
> > I am aware that multi_v7_defconfig adds a lot of stuff that is
> > not required for Berlin, but still I think in terms of coverage
> > (both Berlin and non-Berlin stuff) multi_v7 is sufficient, isn't
> > it?
>
> In term of coverage, multi_v7_defconfig should be sufficient. The main
> advantage of having a custom Berlin defconfig would be for me to have a
> small kernel image and a configuration to start with without having to
> maintain it out of tree, for Berlin related developments.
>
> It's not mandatory, but it's useful at least for me. So the question
> is whether we want this defconfig mainlined or out of tree.
I would prefer to have fewer defconfigs in general, but we generally
tend to do one defconfig per mach directory because it's always been
that way. Older platforms have more than one, and we try to cut them
down.
If all platform specific drivers were loadable modules or had an
explicit dependency on the platform, you could trivially turn the
multi_v7_defconfig into a platform specific one by turning off the
other platforms, but at the moment it's not that easy.
Arnd