diff --git a/.gitignore b/.gitignore index 2a888b23d..93aa862ec 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ clog *.bz2 *.rpm *.orig +*.sign kernel-[234].*/ perf-man-*.tar.gz diff --git a/0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch b/0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch new file mode 100644 index 000000000..6e8a2e039 --- /dev/null +++ b/0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch @@ -0,0 +1,109 @@ +From 3ce5852ec6add45a28fe1706e9163351940e905c Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 2 Oct 2017 18:25:29 -0400 +Subject: [PATCH 1/3] Make get_cert_list() not complain about cert lists that + aren't present. + +Signed-off-by: Peter Jones +--- + certs/load_uefi.c | 37 ++++++++++++++++++++++--------------- + 1 file changed, 22 insertions(+), 15 deletions(-) + +diff --git a/certs/load_uefi.c b/certs/load_uefi.c +index 3d884598601..9ef34c44fd1 100644 +--- a/certs/load_uefi.c ++++ b/certs/load_uefi.c +@@ -35,8 +35,8 @@ static __init bool uefi_check_ignore_db(void) + /* + * Get a certificate list blob from the named EFI variable. + */ +-static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, +- unsigned long *size) ++static __init int get_cert_list(efi_char16_t *name, efi_guid_t *guid, ++ unsigned long *size, void **cert_list) + { + efi_status_t status; + unsigned long lsize = 4; +@@ -44,26 +44,33 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, + void *db; + + status = efi.get_variable(name, guid, NULL, &lsize, &tmpdb); ++ if (status == EFI_NOT_FOUND) { ++ *size = 0; ++ *cert_list = NULL; ++ return 0; ++ } ++ + if (status != EFI_BUFFER_TOO_SMALL) { + pr_err("Couldn't get size: 0x%lx\n", status); +- return NULL; ++ return efi_status_to_err(status); + } + + db = kmalloc(lsize, GFP_KERNEL); + if (!db) { + pr_err("Couldn't allocate memory for uefi cert list\n"); +- return NULL; ++ return -ENOMEM; + } + + status = efi.get_variable(name, guid, NULL, &lsize, db); + if (status != EFI_SUCCESS) { + kfree(db); + pr_err("Error reading db var: 0x%lx\n", status); +- return NULL; ++ return efi_status_to_err(status); + } + + *size = lsize; +- return db; ++ *cert_list = db; ++ return 0; + } + + /* +@@ -152,10 +159,10 @@ static int __init load_uefi_certs(void) + * an error if we can't get them. + */ + if (!uefi_check_ignore_db()) { +- db = get_cert_list(L"db", &secure_var, &dbsize); +- if (!db) { ++ rc = get_cert_list(L"db", &secure_var, &dbsize, &db); ++ if (rc < 0) { + pr_err("MODSIGN: Couldn't get UEFI db list\n"); +- } else { ++ } else if (dbsize != 0) { + rc = parse_efi_signature_list("UEFI:db", + db, dbsize, get_handler_for_db); + if (rc) +@@ -164,10 +171,10 @@ static int __init load_uefi_certs(void) + } + } + +- mok = get_cert_list(L"MokListRT", &mok_var, &moksize); +- if (!mok) { ++ rc = get_cert_list(L"MokListRT", &mok_var, &moksize, &mok); ++ if (rc < 0) { + pr_info("MODSIGN: Couldn't get UEFI MokListRT\n"); +- } else { ++ } else if (moksize != 0) { + rc = parse_efi_signature_list("UEFI:MokListRT", + mok, moksize, get_handler_for_db); + if (rc) +@@ -175,10 +182,10 @@ static int __init load_uefi_certs(void) + kfree(mok); + } + +- dbx = get_cert_list(L"dbx", &secure_var, &dbxsize); +- if (!dbx) { ++ rc = get_cert_list(L"dbx", &secure_var, &dbxsize, &dbx); ++ if (rc < 0) { + pr_info("MODSIGN: Couldn't get UEFI dbx list\n"); +- } else { ++ } else if (dbxsize != 0) { + rc = parse_efi_signature_list("UEFI:dbx", + dbx, dbxsize, + get_handler_for_dbx); +-- +2.15.0 + diff --git a/0001-xfs-enhance-dinode-verifier.patch b/0001-xfs-enhance-dinode-verifier.patch new file mode 100644 index 000000000..230e79387 --- /dev/null +++ b/0001-xfs-enhance-dinode-verifier.patch @@ -0,0 +1,72 @@ +From b42db0860e13067fcc7cbfba3966c9e652668bbc Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Mon, 16 Apr 2018 23:06:53 -0700 +Subject: [PATCH] xfs: enhance dinode verifier + +Add several more validations to xfs_dinode_verify: + +- For LOCAL data fork formats, di_nextents must be 0. +- For LOCAL attr fork formats, di_anextents must be 0. +- For inodes with no attr fork offset, + - format must be XFS_DINODE_FMT_EXTENTS if set at all + - di_anextents must be 0. + +Thanks to dchinner for pointing out a couple related checks I had +forgotten to add. + +Signed-off-by: Eric Sandeen +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199377 +Reviewed-by: Darrick J. Wong +Signed-off-by: Darrick J. Wong +--- + fs/xfs/libxfs/xfs_inode_buf.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c +index ef68b1de006a..1201107eabc6 100644 +--- a/fs/xfs/libxfs/xfs_inode_buf.c ++++ b/fs/xfs/libxfs/xfs_inode_buf.c +@@ -466,6 +466,8 @@ xfs_dinode_verify( + return __this_address; + if (di_size > XFS_DFORK_DSIZE(dip, mp)) + return __this_address; ++ if (dip->di_nextents) ++ return __this_address; + /* fall through */ + case XFS_DINODE_FMT_EXTENTS: + case XFS_DINODE_FMT_BTREE: +@@ -484,12 +486,31 @@ xfs_dinode_verify( + if (XFS_DFORK_Q(dip)) { + switch (dip->di_aformat) { + case XFS_DINODE_FMT_LOCAL: ++ if (dip->di_anextents) ++ return __this_address; ++ /* fall through */ + case XFS_DINODE_FMT_EXTENTS: + case XFS_DINODE_FMT_BTREE: + break; + default: + return __this_address; + } ++ } else { ++ /* ++ * If there is no fork offset, this may be a freshly-made inode ++ * in a new disk cluster, in which case di_aformat is zeroed. ++ * Otherwise, such an inode must be in EXTENTS format; this goes ++ * for freed inodes as well. ++ */ ++ switch (dip->di_aformat) { ++ case 0: ++ case XFS_DINODE_FMT_EXTENTS: ++ break; ++ default: ++ return __this_address; ++ } ++ if (dip->di_anextents) ++ return __this_address; + } + + /* only version 3 or greater inodes are extensively verified here */ +-- +2.17.0 + diff --git a/0001-xfs-set-format-back-to-extents-if-xfs_bmap_extents_t.patch b/0001-xfs-set-format-back-to-extents-if-xfs_bmap_extents_t.patch new file mode 100644 index 000000000..9c6814c65 --- /dev/null +++ b/0001-xfs-set-format-back-to-extents-if-xfs_bmap_extents_t.patch @@ -0,0 +1,45 @@ +From 2c4306f719b083d17df2963bc761777576b8ad1b Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Mon, 16 Apr 2018 23:07:27 -0700 +Subject: [PATCH] xfs: set format back to extents if xfs_bmap_extents_to_btree + +If xfs_bmap_extents_to_btree fails in a mode where we call +xfs_iroot_realloc(-1) to de-allocate the root, set the +format back to extents. + +Otherwise we can assume we can dereference ifp->if_broot +based on the XFS_DINODE_FMT_BTREE format, and crash. + +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199423 +Signed-off-by: Eric Sandeen +Reviewed-by: Christoph Hellwig +Reviewed-by: Darrick J. Wong +Signed-off-by: Darrick J. Wong +--- + fs/xfs/libxfs/xfs_bmap.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c +index 6a7c2f03ea11..040eeda8426f 100644 +--- a/fs/xfs/libxfs/xfs_bmap.c ++++ b/fs/xfs/libxfs/xfs_bmap.c +@@ -725,12 +725,16 @@ xfs_bmap_extents_to_btree( + *logflagsp = 0; + if ((error = xfs_alloc_vextent(&args))) { + xfs_iroot_realloc(ip, -1, whichfork); ++ ASSERT(ifp->if_broot == NULL); ++ XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_EXTENTS); + xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); + return error; + } + + if (WARN_ON_ONCE(args.fsbno == NULLFSBLOCK)) { + xfs_iroot_realloc(ip, -1, whichfork); ++ ASSERT(ifp->if_broot == NULL); ++ XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_EXTENTS); + xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); + return -ENOSPC; + } +-- +2.17.0 + diff --git a/0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch b/0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch new file mode 100644 index 000000000..0844550b6 --- /dev/null +++ b/0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch @@ -0,0 +1,183 @@ +From c8218e9b3c38fcd36a2d06eec09952a0c6cee9e0 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 2 Oct 2017 18:22:13 -0400 +Subject: [PATCH 2/3] Add efi_status_to_str() and rework efi_status_to_err(). + +This adds efi_status_to_str() for use when printing efi_status_t +messages, and reworks efi_status_to_err() so that the two use a common +list of errors. + +Signed-off-by: Peter Jones +--- + include/linux/efi.h | 3 ++ + drivers/firmware/efi/efi.c | 122 ++++++++++++++++++++++++++++++++++----------- + 2 files changed, 95 insertions(+), 30 deletions(-) + +diff --git a/include/linux/efi.h b/include/linux/efi.h +index 18b16bf5ce1..436b3c93c3d 100644 +--- a/include/linux/efi.h ++++ b/include/linux/efi.h +@@ -42,6 +42,8 @@ + #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1))) + #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1))) + ++#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1))) ++ + typedef unsigned long efi_status_t; + typedef u8 efi_bool_t; + typedef u16 efi_char16_t; /* UNICODE character */ +@@ -1183,6 +1185,7 @@ static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} + #endif + + extern int efi_status_to_err(efi_status_t status); ++extern const char *efi_status_to_str(efi_status_t status); + + /* + * Variable Attributes +diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c +index 557a47829d0..e8f9c7d84e9 100644 +--- a/drivers/firmware/efi/efi.c ++++ b/drivers/firmware/efi/efi.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include + +@@ -865,40 +866,101 @@ int efi_mem_type(unsigned long phys_addr) + } + #endif + ++struct efi_error_code { ++ efi_status_t status; ++ int errno; ++ const char *description; ++}; ++ ++static const struct efi_error_code efi_error_codes[] = { ++ { EFI_SUCCESS, 0, "Success"}, ++#if 0 ++ { EFI_LOAD_ERROR, -EPICK_AN_ERRNO, "Load Error"}, ++#endif ++ { EFI_INVALID_PARAMETER, -EINVAL, "Invalid Parameter"}, ++ { EFI_UNSUPPORTED, -ENOSYS, "Unsupported"}, ++ { EFI_BAD_BUFFER_SIZE, -ENOSPC, "Bad Buffer Size"}, ++ { EFI_BUFFER_TOO_SMALL, -ENOSPC, "Buffer Too Small"}, ++ { EFI_NOT_READY, -EAGAIN, "Not Ready"}, ++ { EFI_DEVICE_ERROR, -EIO, "Device Error"}, ++ { EFI_WRITE_PROTECTED, -EROFS, "Write Protected"}, ++ { EFI_OUT_OF_RESOURCES, -ENOMEM, "Out of Resources"}, ++#if 0 ++ { EFI_VOLUME_CORRUPTED, -EPICK_AN_ERRNO, "Volume Corrupt"}, ++ { EFI_VOLUME_FULL, -EPICK_AN_ERRNO, "Volume Full"}, ++ { EFI_NO_MEDIA, -EPICK_AN_ERRNO, "No Media"}, ++ { EFI_MEDIA_CHANGED, -EPICK_AN_ERRNO, "Media changed"}, ++#endif ++ { EFI_NOT_FOUND, -ENOENT, "Not Found"}, ++#if 0 ++ { EFI_ACCESS_DENIED, -EPICK_AN_ERRNO, "Access Denied"}, ++ { EFI_NO_RESPONSE, -EPICK_AN_ERRNO, "No Response"}, ++ { EFI_NO_MAPPING, -EPICK_AN_ERRNO, "No mapping"}, ++ { EFI_TIMEOUT, -EPICK_AN_ERRNO, "Time out"}, ++ { EFI_NOT_STARTED, -EPICK_AN_ERRNO, "Not started"}, ++ { EFI_ALREADY_STARTED, -EPICK_AN_ERRNO, "Already started"}, ++#endif ++ { EFI_ABORTED, -EINTR, "Aborted"}, ++#if 0 ++ { EFI_ICMP_ERROR, -EPICK_AN_ERRNO, "ICMP Error"}, ++ { EFI_TFTP_ERROR, -EPICK_AN_ERRNO, "TFTP Error"}, ++ { EFI_PROTOCOL_ERROR, -EPICK_AN_ERRNO, "Protocol Error"}, ++ { EFI_INCOMPATIBLE_VERSION, -EPICK_AN_ERRNO, "Incompatible Version"}, ++#endif ++ { EFI_SECURITY_VIOLATION, -EACCES, "Security Policy Violation"}, ++#if 0 ++ { EFI_CRC_ERROR, -EPICK_AN_ERRNO, "CRC Error"}, ++ { EFI_END_OF_MEDIA, -EPICK_AN_ERRNO, "End of Media"}, ++ { EFI_END_OF_FILE, -EPICK_AN_ERRNO, "End of File"}, ++ { EFI_INVALID_LANGUAGE, -EPICK_AN_ERRNO, "Invalid Languages"}, ++ { EFI_COMPROMISED_DATA, -EPICK_AN_ERRNO, "Compromised Data"}, ++ ++ // warnings ++ { EFI_WARN_UNKOWN_GLYPH, -EPICK_AN_ERRNO, "Warning Unknown Glyph"}, ++ { EFI_WARN_DELETE_FAILURE, -EPICK_AN_ERRNO, "Warning Delete Failure"}, ++ { EFI_WARN_WRITE_FAILURE, -EPICK_AN_ERRNO, "Warning Write Failure"}, ++ { EFI_WARN_BUFFER_TOO_SMALL, -EPICK_AN_ERRNO, "Warning Buffer Too Small"}, ++#endif ++}; ++ ++static int ++efi_status_cmp_bsearch(const void *key, const void *item) ++{ ++ u64 status = (u64)(uintptr_t)key; ++ struct efi_error_code *code = (struct efi_error_code *)item; ++ ++ if (status < code->status) ++ return -1; ++ if (status > code->status) ++ return 1; ++ return 0; ++} ++ + int efi_status_to_err(efi_status_t status) + { +- int err; ++ struct efi_error_code *found; ++ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code); + +- switch (status) { +- case EFI_SUCCESS: +- err = 0; +- break; +- case EFI_INVALID_PARAMETER: +- err = -EINVAL; +- break; +- case EFI_OUT_OF_RESOURCES: +- err = -ENOSPC; +- break; +- case EFI_DEVICE_ERROR: +- err = -EIO; +- break; +- case EFI_WRITE_PROTECTED: +- err = -EROFS; +- break; +- case EFI_SECURITY_VIOLATION: +- err = -EACCES; +- break; +- case EFI_NOT_FOUND: +- err = -ENOENT; +- break; +- case EFI_ABORTED: +- err = -EINTR; +- break; +- default: +- err = -EINVAL; +- } ++ found = bsearch((void *)(uintptr_t)status, efi_error_codes, ++ sizeof(struct efi_error_code), num, ++ efi_status_cmp_bsearch); ++ if (!found) ++ return -EINVAL; ++ return found->errno; ++} + +- return err; ++const char * ++efi_status_to_str(efi_status_t status) ++{ ++ struct efi_error_code *found; ++ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code); ++ ++ found = bsearch((void *)(uintptr_t)status, efi_error_codes, ++ sizeof(struct efi_error_code), num, ++ efi_status_cmp_bsearch); ++ if (!found) ++ return "Unknown error code"; ++ return found->description; + } + + bool efi_is_table_address(unsigned long phys_addr) +-- +2.15.0 + diff --git a/0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch b/0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch new file mode 100644 index 000000000..abb313a29 --- /dev/null +++ b/0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch @@ -0,0 +1,38 @@ +From 520e902d864930e2d4f329983d9ae9781a24231f Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 2 Oct 2017 18:18:30 -0400 +Subject: [PATCH 3/3] Make get_cert_list() use efi_status_to_str() to print + error messages. + +Signed-off-by: Peter Jones +--- + certs/load_uefi.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/certs/load_uefi.c b/certs/load_uefi.c +index 9ef34c44fd1..13a2826715d 100644 +--- a/certs/load_uefi.c ++++ b/certs/load_uefi.c +@@ -51,7 +51,8 @@ static __init int get_cert_list(efi_char16_t *name, efi_guid_t *guid, + } + + if (status != EFI_BUFFER_TOO_SMALL) { +- pr_err("Couldn't get size: 0x%lx\n", status); ++ pr_err("Couldn't get size: %s (0x%lx)\n", ++ efi_status_to_str(status), status); + return efi_status_to_err(status); + } + +@@ -64,7 +65,8 @@ static __init int get_cert_list(efi_char16_t *name, efi_guid_t *guid, + status = efi.get_variable(name, guid, NULL, &lsize, db); + if (status != EFI_SUCCESS) { + kfree(db); +- pr_err("Error reading db var: 0x%lx\n", status); ++ pr_err("Error reading db var: %s (0x%lx)\n", ++ efi_status_to_str(status), status); + return efi_status_to_err(status); + } + +-- +2.15.0 + diff --git a/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch b/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch new file mode 100644 index 000000000..3dcfd4969 --- /dev/null +++ b/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch @@ -0,0 +1,64 @@ +From dbdda4277cf0422a9ccb7ea98d0263c3cdbecdf6 Mon Sep 17 00:00:00 2001 +From: Mark Salter +Date: Tue, 8 May 2018 21:54:39 -0400 +Subject: [PATCH] ACPI / irq: Workaround firmware issue on X-Gene based + m400 + +The ACPI firmware on the xgene-based m400 platorms erroneously +describes its UART interrupt as ACPI_PRODUCER rather than +ACPI_CONSUMER. This leads to the UART driver being unable to +find its interrupt and the kernel unable find a console. +Work around this by avoiding the producer/consumer check +for X-Gene UARTs. + +Signed-off-by: Mark Salter +--- + drivers/acpi/irq.c | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c +index 7c352cba0528..028c1a564cff 100644 +--- a/drivers/acpi/irq.c ++++ b/drivers/acpi/irq.c +@@ -129,6 +129,7 @@ struct acpi_irq_parse_one_ctx { + unsigned int index; + unsigned long *res_flags; + struct irq_fwspec *fwspec; ++ bool skip_producer_check; + }; + + /** +@@ -200,7 +201,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares, + return AE_CTRL_TERMINATE; + case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: + eirq = &ares->data.extended_irq; +- if (eirq->producer_consumer == ACPI_PRODUCER) ++ if (!ctx->skip_producer_check && ++ eirq->producer_consumer == ACPI_PRODUCER) + return AE_OK; + if (ctx->index >= eirq->interrupt_count) { + ctx->index -= eirq->interrupt_count; +@@ -235,8 +237,19 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares, + static int acpi_irq_parse_one(acpi_handle handle, unsigned int index, + struct irq_fwspec *fwspec, unsigned long *flags) + { +- struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec }; ++ struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false }; + ++ /* ++ * Firmware on arm64-based HPE m400 platform incorrectly marks ++ * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER. ++ * Don't do the producer/consumer check for that device. ++ */ ++ if (IS_ENABLED(CONFIG_ARM64)) { ++ struct acpi_device *adev = acpi_bus_get_acpi_device(handle); ++ ++ if (adev && !strcmp(acpi_device_hid(adev), "APMC0D08")) ++ ctx.skip_producer_check = true; ++ } + acpi_walk_resources(handle, METHOD_NAME__CRS, acpi_irq_parse_one_cb, &ctx); + return ctx.rc; + } +-- +2.17.0 + diff --git a/ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch b/ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch new file mode 100644 index 000000000..56baf5ec6 --- /dev/null +++ b/ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch @@ -0,0 +1,44 @@ +From patchwork Fri Apr 20 03:29:47 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: ACPI / scan: Fix regression related to X-Gene UARTs +From: Mark Salter +X-Patchwork-Id: 10351797 +Message-Id: <20180420032947.23023-1-msalter@redhat.com> +To: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Danis?= +Cc: "Rafael J . Wysocki" , + linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org +Date: Thu, 19 Apr 2018 23:29:47 -0400 + +Commit e361d1f85855 ("ACPI / scan: Fix enumeration for special UART +devices") caused a regression with some X-Gene based platforms (Mustang +and M400) with invalid DSDT. The DSDT makes it appear that the UART +device is also a slave device attached to itself. With the above commit +the UART won't be enumerated by ACPI scan (slave serial devices shouldn't +be). So check for X-Gene UART device and skip slace device check on it. + +Signed-off-by: Mark Salter +--- + drivers/acpi/scan.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c +index cc234e6a6297..1dcdd0122862 100644 +--- a/drivers/acpi/scan.c ++++ b/drivers/acpi/scan.c +@@ -1551,6 +1551,14 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) + fwnode_property_present(&device->fwnode, "baud"))) + return true; + ++ /* ++ * Firmware on some arm64 X-Gene platforms will make the UART ++ * device appear as both a UART and a slave of that UART. Just ++ * bail out here for X-Gene UARTs. ++ */ ++ if (!strcmp(acpi_device_hid(device), "APMC0D08")) ++ return false; ++ + INIT_LIST_HEAD(&resource_list); + acpi_dev_get_resources(device, &resource_list, + acpi_check_serial_bus_slave, diff --git a/Add-EFI-signature-data-types.patch b/Add-EFI-signature-data-types.patch index 40d14f949..f7f7c36d3 100644 --- a/Add-EFI-signature-data-types.patch +++ b/Add-EFI-signature-data-types.patch @@ -1,37 +1,36 @@ -From ba3f737b8521314b62edaa7d4cc4bdc9aeefe394 Mon Sep 17 00:00:00 2001 +From 0451d4e795929a69a0fda6d960aa4b077c5bd179 Mon Sep 17 00:00:00 2001 From: Dave Howells -Date: Tue, 23 Oct 2012 09:30:54 -0400 -Subject: [PATCH 15/20] Add EFI signature data types +Date: Fri, 5 May 2017 08:21:58 +0100 +Subject: [PATCH 1/4] efi: Add EFI signature data types -Add the data types that are used for containing hashes, keys and certificates -for cryptographic verification. - -Bugzilla: N/A -Upstream-status: Fedora mustard for now +Add the data types that are used for containing hashes, keys and +certificates for cryptographic verification along with their corresponding +type GUIDs. Signed-off-by: David Howells --- - include/linux/efi.h | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) + include/linux/efi.h | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) diff --git a/include/linux/efi.h b/include/linux/efi.h -index 5af91b58afae..190858d62fe3 100644 +index ec36f42..3259ad6 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -603,6 +603,9 @@ void efi_native_runtime_setup(void); - #define LINUX_EFI_LOADER_ENTRY_GUID EFI_GUID(0x4a67b082, 0x0a4c, 0x41cf, 0xb6, 0xc7, 0x44, 0x0b, 0x29, 0xbb, 0x8c, 0x4f) - #define LINUX_EFI_RANDOM_SEED_TABLE_GUID EFI_GUID(0x1ce1e5bc, 0x7ceb, 0x42f2, 0x81, 0xe5, 0x8a, 0xad, 0xf1, 0x80, 0xf5, 0x7b) - -+#define EFI_CERT_SHA256_GUID EFI_GUID(0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28) -+#define EFI_CERT_X509_GUID EFI_GUID(0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72) +@@ -614,6 +614,10 @@ void efi_native_runtime_setup(void); + #define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f) + #define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23) + ++#define EFI_CERT_SHA256_GUID EFI_GUID(0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28) ++#define EFI_CERT_X509_GUID EFI_GUID(0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72) ++#define EFI_CERT_X509_SHA256_GUID EFI_GUID(0x3bd2a492, 0x96c0, 0x4079, 0xb4, 0x20, 0xfc, 0xf9, 0x8e, 0xf1, 0x03, 0xed) + - typedef struct { - efi_guid_t guid; - u64 table; -@@ -853,6 +856,20 @@ typedef struct { + /* + * This GUID is used to pass to the kernel proper the struct screen_info + * structure that was populated by the stub based on the GOP protocol instance +@@ -873,6 +877,27 @@ typedef struct { efi_memory_desc_t entry[0]; } efi_memory_attributes_table_t; - + +typedef struct { + efi_guid_t signature_owner; + u8 signature_data[]; @@ -45,6 +44,13 @@ index 5af91b58afae..190858d62fe3 100644 + u8 signature_header[]; + /* efi_signature_data_t signatures[][] */ +} efi_signature_list_t; ++ ++typedef u8 efi_sha256_hash_t[32]; ++ ++typedef struct { ++ efi_sha256_hash_t to_be_signed_hash; ++ efi_time_t time_of_revocation; ++} efi_cert_x509_sha256_t; + /* * All runtime access to EFI goes through this structure: diff --git a/Add-an-EFI-signature-blob-parser-and-key-loader.patch b/Add-an-EFI-signature-blob-parser-and-key-loader.patch index f57abc9f2..e3941eeaa 100644 --- a/Add-an-EFI-signature-blob-parser-and-key-loader.patch +++ b/Add-an-EFI-signature-blob-parser-and-key-loader.patch @@ -1,29 +1,38 @@ -From 822b4b3eb76ca451a416a51f0a7bfedfa5c5ea39 Mon Sep 17 00:00:00 2001 +From e4c62c12635a371e43bd17e8d33a936668264491 Mon Sep 17 00:00:00 2001 From: Dave Howells -Date: Tue, 23 Oct 2012 09:36:28 -0400 -Subject: [PATCH 16/20] Add an EFI signature blob parser and key loader. +Date: Fri, 5 May 2017 08:21:58 +0100 +Subject: [PATCH 2/4] efi: Add an EFI signature blob parser -X.509 certificates are loaded into the specified keyring as asymmetric type -keys. +Add a function to parse an EFI signature blob looking for elements of +interest. A list is made up of a series of sublists, where all the +elements in a sublist are of the same type, but sublists can be of +different types. + +For each sublist encountered, the function pointed to by the +get_handler_for_guid argument is called with the type specifier GUID and +returns either a pointer to a function to handle elements of that type or +NULL if the type is not of interest. + +If the sublist is of interest, each element is passed to the handler +function in turn. -[labbott@fedoraproject.org: Drop KEY_ALLOC_TRUSTED] Signed-off-by: David Howells --- - crypto/asymmetric_keys/Kconfig | 8 +++ - crypto/asymmetric_keys/Makefile | 1 + - crypto/asymmetric_keys/efi_parser.c | 108 ++++++++++++++++++++++++++++++++++++ - include/linux/efi.h | 4 ++ - 4 files changed, 121 insertions(+) - create mode 100644 crypto/asymmetric_keys/efi_parser.c + certs/Kconfig | 8 ++++ + certs/Makefile | 1 + + certs/efi_parser.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + include/linux/efi.h | 9 +++++ + 4 files changed, 130 insertions(+) + create mode 100644 certs/efi_parser.c + +diff --git a/certs/Kconfig b/certs/Kconfig +index 6ce51ed..630ae09 100644 +--- a/certs/Kconfig ++++ b/certs/Kconfig +@@ -82,4 +82,12 @@ config SYSTEM_BLACKLIST_HASH_LIST + wrapper to incorporate the list into the kernel. Each should + be a string of hex digits. -diff --git a/crypto/asymmetric_keys/Kconfig b/crypto/asymmetric_keys/Kconfig -index 331f6baf2df8..5f9002d3192e 100644 ---- a/crypto/asymmetric_keys/Kconfig -+++ b/crypto/asymmetric_keys/Kconfig -@@ -61,4 +61,12 @@ config SIGNED_PE_FILE_VERIFICATION - This option provides support for verifying the signature(s) on a - signed PE binary. - +config EFI_SIGNATURE_LIST_PARSER + bool "EFI signature list parser" + depends on EFI @@ -32,28 +41,28 @@ index 331f6baf2df8..5f9002d3192e 100644 + This option provides support for parsing EFI signature lists for + X.509 certificates and turning them into keys. + - endif # ASYMMETRIC_KEY_TYPE -diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile -index 6516855bec18..c099fe15ed6d 100644 ---- a/crypto/asymmetric_keys/Makefile -+++ b/crypto/asymmetric_keys/Makefile -@@ -10,6 +10,7 @@ asymmetric_keys-y := \ - signature.o - - obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o + endmenu +diff --git a/certs/Makefile b/certs/Makefile +index 4119bb3..738151a 100644 +--- a/certs/Makefile ++++ b/certs/Makefile +@@ -9,6 +9,7 @@ obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist_hashes.o + else + obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist_nohashes.o + endif +obj-$(CONFIG_EFI_SIGNATURE_LIST_PARSER) += efi_parser.o - - # - # X.509 Certificate handling -diff --git a/crypto/asymmetric_keys/efi_parser.c b/crypto/asymmetric_keys/efi_parser.c + + ifeq ($(CONFIG_SYSTEM_TRUSTED_KEYRING),y) + +diff --git a/certs/efi_parser.c b/certs/efi_parser.c new file mode 100644 -index 000000000000..636feb18b733 +index 0000000..4e396f9 --- /dev/null -+++ b/crypto/asymmetric_keys/efi_parser.c -@@ -0,0 +1,108 @@ ++++ b/certs/efi_parser.c +@@ -0,0 +1,112 @@ +/* EFI signature/key/certificate list parser + * -+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved. ++ * Copyright (C) 2012, 2016 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or @@ -67,27 +76,44 @@ index 000000000000..636feb18b733 +#include +#include +#include -+#include -+ -+static __initdata efi_guid_t efi_cert_x509_guid = EFI_CERT_X509_GUID; + +/** + * parse_efi_signature_list - Parse an EFI signature list for certificates ++ * @source: The source of the key + * @data: The data blob to parse + * @size: The size of the data blob -+ * @keyring: The keyring to add extracted keys to ++ * @get_handler_for_guid: Get the handler func for the sig type (or NULL) ++ * ++ * Parse an EFI signature list looking for elements of interest. A list is ++ * made up of a series of sublists, where all the elements in a sublist are of ++ * the same type, but sublists can be of different types. ++ * ++ * For each sublist encountered, the @get_handler_for_guid function is called ++ * with the type specifier GUID and returns either a pointer to a function to ++ * handle elements of that type or NULL if the type is not of interest. ++ * ++ * If the sublist is of interest, each element is passed to the handler ++ * function in turn. ++ * ++ * Error EBADMSG is returned if the list doesn't parse correctly and 0 is ++ * returned if the list was parsed correctly. No error can be returned from ++ * the @get_handler_for_guid function or the element handler function it ++ * returns. + */ -+int __init parse_efi_signature_list(const void *data, size_t size, struct key *keyring) ++int __init parse_efi_signature_list( ++ const char *source, ++ const void *data, size_t size, ++ efi_element_handler_t (*get_handler_for_guid)(const efi_guid_t *)) +{ ++ efi_element_handler_t handler; + unsigned offs = 0; -+ size_t lsize, esize, hsize, elsize; + + pr_devel("-->%s(,%zu)\n", __func__, size); + + while (size > 0) { -+ efi_signature_list_t list; + const efi_signature_data_t *elem; -+ key_ref_t key; ++ efi_signature_list_t list; ++ size_t lsize, esize, hsize, elsize; + + if (size < sizeof(list)) + return -EBADMSG; @@ -108,6 +134,7 @@ index 000000000000..636feb18b733 + __func__, offs); + return -EBADMSG; + } ++ + if (lsize < sizeof(list) || + lsize - sizeof(list) < hsize || + esize < sizeof(*elem) || @@ -117,7 +144,8 @@ index 000000000000..636feb18b733 + return -EBADMSG; + } + -+ if (efi_guidcmp(list.signature_type, efi_cert_x509_guid) != 0) { ++ handler = get_handler_for_guid(&list.signature_type); ++ if (!handler) { + data += lsize; + size -= lsize; + offs += lsize; @@ -132,24 +160,9 @@ index 000000000000..636feb18b733 + elem = data; + + pr_devel("ELEM[%04x]\n", offs); -+ -+ key = key_create_or_update( -+ make_key_ref(keyring, 1), -+ "asymmetric", -+ NULL, ++ handler(source, + &elem->signature_data, -+ esize - sizeof(*elem), -+ (KEY_POS_ALL & ~KEY_POS_SETATTR) | -+ KEY_USR_VIEW, -+ KEY_ALLOC_NOT_IN_QUOTA); -+ -+ if (IS_ERR(key)) -+ pr_err("Problem loading in-kernel X.509 certificate (%ld)\n", -+ PTR_ERR(key)); -+ else -+ pr_notice("Loaded cert '%s' linked to '%s'\n", -+ key_ref_to_ptr(key)->description, -+ keyring->description); ++ esize - sizeof(*elem)); + + data += esize; + size -= esize; @@ -160,16 +173,21 @@ index 000000000000..636feb18b733 + return 0; +} diff --git a/include/linux/efi.h b/include/linux/efi.h -index 190858d62fe3..668aa1244885 100644 +index 3259ad6..08024c6 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -1025,6 +1025,10 @@ extern int efi_memattr_apply_permissions(struct mm_struct *mm, +@@ -1055,6 +1055,15 @@ extern int efi_memattr_apply_permissions(struct mm_struct *mm, char * __init efi_md_typeattr_format(char *buf, size_t size, const efi_memory_desc_t *md); - -+struct key; -+extern int __init parse_efi_signature_list(const void *data, size_t size, -+ struct key *keyring); + ++ ++typedef void (*efi_element_handler_t)(const char *source, ++ const void *element_data, ++ size_t element_size); ++extern int __init parse_efi_signature_list( ++ const char *source, ++ const void *data, size_t size, ++ efi_element_handler_t (*get_handler_for_guid)(const efi_guid_t *)); + /** * efi_range_is_wc - check the WC bit on an address range diff --git a/AllWinner-h3.patch b/AllWinner-h3.patch deleted file mode 100644 index c75da8aa8..000000000 --- a/AllWinner-h3.patch +++ /dev/null @@ -1,1080 +0,0 @@ -From patchwork Mon Mar 6 17:17:45 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8, 1/6] ARM: dts: sun8i: h3: drop skeleton.dtsi inclusion in H3 DTSI -From: Icenowy Zheng -X-Patchwork-Id: 9607205 -Message-Id: <20170306171750.7491-2-icenowy@aosc.xyz> -To: Rob Herring , - Maxime Ripard , - Chen-Yu Tsai -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Icenowy Zheng -Date: Tue, 7 Mar 2017 01:17:45 +0800 - -The skeleton.dtsi file is now deprecated, and do not exist in ARM64 -environment. - -Since we will soon reuse most part of H3 DTSI for H5, which is an ARM64 -chip, drop skeleton.dtsi inclusion now. - -Signed-off-by: Icenowy Zheng ---- -Changes in v8: -- Add h3: in commit message. - - arch/arm/boot/dts/sun8i-h3.dtsi | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index 27780b97c863..9a3435527fde 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -40,8 +40,6 @@ - * OTHER DEALINGS IN THE SOFTWARE. - */ - --#include "skeleton.dtsi" -- - #include - #include - #include -From patchwork Mon Mar 6 17:17:46 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8, - 2/6] ARM: dts: sun8i: h3: drop pinctrl-a10.h inclusion for H3 DTSI -From: Icenowy Zheng -X-Patchwork-Id: 9607207 -Message-Id: <20170306171750.7491-3-icenowy@aosc.xyz> -To: Rob Herring , - Maxime Ripard , - Chen-Yu Tsai -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Icenowy Zheng -Date: Tue, 7 Mar 2017 01:17:46 +0800 - -After converting to generic pinconf binding, pinctrl-a10.h is now not -used at all. - -Drop its inclusion for H3 DTSI. - -Signed-off-by: Icenowy Zheng ---- -Changes in v8: -- Add h3: in commit message. - - arch/arm/boot/dts/sun8i-h3.dtsi | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index 9a3435527fde..b250e6d03b57 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -42,7 +42,6 @@ - - #include - #include --#include - #include - - / { -From patchwork Mon Mar 6 17:17:47 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8, - 3/6] ARM: dts: sun8i: h3: correct the GIC compatible in H3 to gic-400 -From: Icenowy Zheng -X-Patchwork-Id: 9607209 -Message-Id: <20170306171750.7491-4-icenowy@aosc.xyz> -To: Rob Herring , - Maxime Ripard , - Chen-Yu Tsai -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Icenowy Zheng -Date: Tue, 7 Mar 2017 01:17:47 +0800 - -According to the datasheets provided by Allwinner, both Allwinner H3 and -H5 use GIC-400 as their interrupt controller. - -For better device tree reusing, correct the GIC compatible in H3 DTSI to -"arm,gic-400", thus this node can be reused in H5. - -Signed-off-by: Icenowy Zheng ---- -Changes in v8: -- Add h3: in commit message. - - arch/arm/boot/dts/sun8i-h3.dtsi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index b250e6d03b57..c13fbfb92592 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -586,7 +586,7 @@ - }; - - gic: interrupt-controller@01c81000 { -- compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; -+ compatible = "arm,gic-400"; - reg = <0x01c81000 0x1000>, - <0x01c82000 0x2000>, - <0x01c84000 0x2000>, -From patchwork Mon Mar 6 17:17:48 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v8,4/6] arm: dts: sun8i: h3: split Allwinner H3 .dtsi -From: Icenowy Zheng -X-Patchwork-Id: 9607211 -Message-Id: <20170306171750.7491-5-icenowy@aosc.xyz> -To: Rob Herring , - Maxime Ripard , - Chen-Yu Tsai -Cc: devicetree@vger.kernel.org, Andre Przywara , - linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, - Icenowy Zheng , linux-arm-kernel@lists.infradead.org -Date: Tue, 7 Mar 2017 01:17:48 +0800 - -From: Andre Przywara - -The new Allwinner H5 SoC is pin-compatible to the H3 SoC, but with the -Cortex-A7 cores replaced by Cortex-A53 cores and the MMC controller -updated. So we should really share almost the whole .dtsi. -In preparation for that move the peripheral parts of the existing -sun8i-h3.dtsi into a new sunxi-h3-h5.dtsi. -The actual sun8i-h3.dtsi then includes that and defines the H3 specific -parts on top of it. - -Signed-off-by: Andre Przywara -[Icenowy: also split out mmc and gic, as well as pio and ccu's - compatible, and make drop of skeleton into a seperated patch] -Signed-off-by: Icenowy Zheng ---- -Changes in v8: -- Add h3: in commit message. -Changes in v7: -- Extract GIC, skeleton.dtsi and pinctrl-a10.h changes to seperate patches. -Changes in v6: -- Extract GIC device node to sunxi-h3-h5.dtsi and correct its compatible - as "arm,gic-400". -Changes in v3: -- Use label-based syntax to reference nodes in H3 DTSI file. -Changes in v2: -- Rebase on current linux-next (because of the add of audio codec) - - arch/arm/boot/dts/sun8i-h3.dtsi | 771 ++++----------------- - .../boot/dts/{sun8i-h3.dtsi => sunxi-h3-h5.dtsi} | 73 +- - 2 files changed, 133 insertions(+), 711 deletions(-) - rewrite arch/arm/boot/dts/sun8i-h3.dtsi (83%) - copy arch/arm/boot/dts/{sun8i-h3.dtsi => sunxi-h3-h5.dtsi} (90%) - -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -dissimilarity index 83% -index c13fbfb92592..b36f9f423c39 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -1,645 +1,126 @@ --/* -- * Copyright (C) 2015 Jens Kuske -- * -- * This file is dual-licensed: you can use it either under the terms -- * of the GPL or the X11 license, at your option. Note that this dual -- * licensing only applies to this file, and not this project as a -- * whole. -- * -- * a) This file is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This file is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * Or, alternatively, -- * -- * b) Permission is hereby granted, free of charge, to any person -- * obtaining a copy of this software and associated documentation -- * files (the "Software"), to deal in the Software without -- * restriction, including without limitation the rights to use, -- * copy, modify, merge, publish, distribute, sublicense, and/or -- * sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following -- * conditions: -- * -- * The above copyright notice and this permission notice shall be -- * included in all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- */ -- --#include --#include --#include -- --/ { -- interrupt-parent = <&gic>; -- -- cpus { -- #address-cells = <1>; -- #size-cells = <0>; -- -- cpu@0 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <0>; -- }; -- -- cpu@1 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <1>; -- }; -- -- cpu@2 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <2>; -- }; -- -- cpu@3 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <3>; -- }; -- }; -- -- timer { -- compatible = "arm,armv7-timer"; -- interrupts = , -- , -- , -- ; -- }; -- -- clocks { -- #address-cells = <1>; -- #size-cells = <1>; -- ranges; -- -- osc24M: osc24M_clk { -- #clock-cells = <0>; -- compatible = "fixed-clock"; -- clock-frequency = <24000000>; -- clock-output-names = "osc24M"; -- }; -- -- osc32k: osc32k_clk { -- #clock-cells = <0>; -- compatible = "fixed-clock"; -- clock-frequency = <32768>; -- clock-output-names = "osc32k"; -- }; -- -- apb0: apb0_clk { -- compatible = "fixed-factor-clock"; -- #clock-cells = <0>; -- clock-div = <1>; -- clock-mult = <1>; -- clocks = <&osc24M>; -- clock-output-names = "apb0"; -- }; -- -- apb0_gates: clk@01f01428 { -- compatible = "allwinner,sun8i-h3-apb0-gates-clk", -- "allwinner,sun4i-a10-gates-clk"; -- reg = <0x01f01428 0x4>; -- #clock-cells = <1>; -- clocks = <&apb0>; -- clock-indices = <0>, <1>; -- clock-output-names = "apb0_pio", "apb0_ir"; -- }; -- -- ir_clk: ir_clk@01f01454 { -- compatible = "allwinner,sun4i-a10-mod0-clk"; -- reg = <0x01f01454 0x4>; -- #clock-cells = <0>; -- clocks = <&osc32k>, <&osc24M>; -- clock-output-names = "ir"; -- }; -- }; -- -- soc { -- compatible = "simple-bus"; -- #address-cells = <1>; -- #size-cells = <1>; -- ranges; -- -- dma: dma-controller@01c02000 { -- compatible = "allwinner,sun8i-h3-dma"; -- reg = <0x01c02000 0x1000>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_DMA>; -- resets = <&ccu RST_BUS_DMA>; -- #dma-cells = <1>; -- }; -- -- mmc0: mmc@01c0f000 { -- compatible = "allwinner,sun7i-a20-mmc"; -- reg = <0x01c0f000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC0>, -- <&ccu CLK_MMC0>, -- <&ccu CLK_MMC0_OUTPUT>, -- <&ccu CLK_MMC0_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; -- resets = <&ccu RST_BUS_MMC0>; -- reset-names = "ahb"; -- interrupts = ; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- mmc1: mmc@01c10000 { -- compatible = "allwinner,sun7i-a20-mmc"; -- reg = <0x01c10000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC1>, -- <&ccu CLK_MMC1>, -- <&ccu CLK_MMC1_OUTPUT>, -- <&ccu CLK_MMC1_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; -- resets = <&ccu RST_BUS_MMC1>; -- reset-names = "ahb"; -- interrupts = ; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- mmc2: mmc@01c11000 { -- compatible = "allwinner,sun7i-a20-mmc"; -- reg = <0x01c11000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC2>, -- <&ccu CLK_MMC2>, -- <&ccu CLK_MMC2_OUTPUT>, -- <&ccu CLK_MMC2_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; -- resets = <&ccu RST_BUS_MMC2>; -- reset-names = "ahb"; -- interrupts = ; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- usbphy: phy@01c19400 { -- compatible = "allwinner,sun8i-h3-usb-phy"; -- reg = <0x01c19400 0x2c>, -- <0x01c1a800 0x4>, -- <0x01c1b800 0x4>, -- <0x01c1c800 0x4>, -- <0x01c1d800 0x4>; -- reg-names = "phy_ctrl", -- "pmu0", -- "pmu1", -- "pmu2", -- "pmu3"; -- clocks = <&ccu CLK_USB_PHY0>, -- <&ccu CLK_USB_PHY1>, -- <&ccu CLK_USB_PHY2>, -- <&ccu CLK_USB_PHY3>; -- clock-names = "usb0_phy", -- "usb1_phy", -- "usb2_phy", -- "usb3_phy"; -- resets = <&ccu RST_USB_PHY0>, -- <&ccu RST_USB_PHY1>, -- <&ccu RST_USB_PHY2>, -- <&ccu RST_USB_PHY3>; -- reset-names = "usb0_reset", -- "usb1_reset", -- "usb2_reset", -- "usb3_reset"; -- status = "disabled"; -- #phy-cells = <1>; -- }; -- -- ehci1: usb@01c1b000 { -- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; -- reg = <0x01c1b000 0x100>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>; -- resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>; -- phys = <&usbphy 1>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ohci1: usb@01c1b400 { -- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; -- reg = <0x01c1b400 0x100>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>, -- <&ccu CLK_USB_OHCI1>; -- resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>; -- phys = <&usbphy 1>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ehci2: usb@01c1c000 { -- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; -- reg = <0x01c1c000 0x100>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>; -- resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>; -- phys = <&usbphy 2>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ohci2: usb@01c1c400 { -- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; -- reg = <0x01c1c400 0x100>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>, -- <&ccu CLK_USB_OHCI2>; -- resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>; -- phys = <&usbphy 2>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ehci3: usb@01c1d000 { -- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; -- reg = <0x01c1d000 0x100>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>; -- resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>; -- phys = <&usbphy 3>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ohci3: usb@01c1d400 { -- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; -- reg = <0x01c1d400 0x100>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>, -- <&ccu CLK_USB_OHCI3>; -- resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>; -- phys = <&usbphy 3>; -- phy-names = "usb"; -- status = "disabled"; -- }; -- -- ccu: clock@01c20000 { -- compatible = "allwinner,sun8i-h3-ccu"; -- reg = <0x01c20000 0x400>; -- clocks = <&osc24M>, <&osc32k>; -- clock-names = "hosc", "losc"; -- #clock-cells = <1>; -- #reset-cells = <1>; -- }; -- -- pio: pinctrl@01c20800 { -- compatible = "allwinner,sun8i-h3-pinctrl"; -- reg = <0x01c20800 0x400>; -- interrupts = , -- ; -- clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>; -- clock-names = "apb", "hosc", "losc"; -- gpio-controller; -- #gpio-cells = <3>; -- interrupt-controller; -- #interrupt-cells = <3>; -- -- i2c0_pins: i2c0 { -- pins = "PA11", "PA12"; -- function = "i2c0"; -- }; -- -- i2c1_pins: i2c1 { -- pins = "PA18", "PA19"; -- function = "i2c1"; -- }; -- -- i2c2_pins: i2c2 { -- pins = "PE12", "PE13"; -- function = "i2c2"; -- }; -- -- mmc0_pins_a: mmc0@0 { -- pins = "PF0", "PF1", "PF2", "PF3", -- "PF4", "PF5"; -- function = "mmc0"; -- drive-strength = <30>; -- bias-pull-up; -- }; -- -- mmc0_cd_pin: mmc0_cd_pin@0 { -- pins = "PF6"; -- function = "gpio_in"; -- bias-pull-up; -- }; -- -- mmc1_pins_a: mmc1@0 { -- pins = "PG0", "PG1", "PG2", "PG3", -- "PG4", "PG5"; -- function = "mmc1"; -- drive-strength = <30>; -- bias-pull-up; -- }; -- -- mmc2_8bit_pins: mmc2_8bit { -- pins = "PC5", "PC6", "PC8", -- "PC9", "PC10", "PC11", -- "PC12", "PC13", "PC14", -- "PC15", "PC16"; -- function = "mmc2"; -- drive-strength = <30>; -- bias-pull-up; -- }; -- -- spdif_tx_pins_a: spdif@0 { -- pins = "PA17"; -- function = "spdif"; -- }; -- -- spi0_pins: spi0 { -- pins = "PC0", "PC1", "PC2", "PC3"; -- function = "spi0"; -- }; -- -- spi1_pins: spi1 { -- pins = "PA15", "PA16", "PA14", "PA13"; -- function = "spi1"; -- }; -- -- uart0_pins_a: uart0@0 { -- pins = "PA4", "PA5"; -- function = "uart0"; -- }; -- -- uart1_pins: uart1 { -- pins = "PG6", "PG7"; -- function = "uart1"; -- }; -- -- uart1_rts_cts_pins: uart1_rts_cts { -- pins = "PG8", "PG9"; -- function = "uart1"; -- }; -- -- uart2_pins: uart2 { -- pins = "PA0", "PA1"; -- function = "uart2"; -- }; -- -- uart3_pins: uart3 { -- pins = "PA13", "PA14"; -- function = "uart3"; -- }; -- }; -- -- timer@01c20c00 { -- compatible = "allwinner,sun4i-a10-timer"; -- reg = <0x01c20c00 0xa0>; -- interrupts = , -- ; -- clocks = <&osc24M>; -- }; -- -- spi0: spi@01c68000 { -- compatible = "allwinner,sun8i-h3-spi"; -- reg = <0x01c68000 0x1000>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; -- clock-names = "ahb", "mod"; -- dmas = <&dma 23>, <&dma 23>; -- dma-names = "rx", "tx"; -- pinctrl-names = "default"; -- pinctrl-0 = <&spi0_pins>; -- resets = <&ccu RST_BUS_SPI0>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- spi1: spi@01c69000 { -- compatible = "allwinner,sun8i-h3-spi"; -- reg = <0x01c69000 0x1000>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; -- clock-names = "ahb", "mod"; -- dmas = <&dma 24>, <&dma 24>; -- dma-names = "rx", "tx"; -- pinctrl-names = "default"; -- pinctrl-0 = <&spi1_pins>; -- resets = <&ccu RST_BUS_SPI1>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- wdt0: watchdog@01c20ca0 { -- compatible = "allwinner,sun6i-a31-wdt"; -- reg = <0x01c20ca0 0x20>; -- interrupts = ; -- }; -- -- spdif: spdif@01c21000 { -- #sound-dai-cells = <0>; -- compatible = "allwinner,sun8i-h3-spdif"; -- reg = <0x01c21000 0x400>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; -- resets = <&ccu RST_BUS_SPDIF>; -- clock-names = "apb", "spdif"; -- dmas = <&dma 2>; -- dma-names = "tx"; -- status = "disabled"; -- }; -- -- pwm: pwm@01c21400 { -- compatible = "allwinner,sun8i-h3-pwm"; -- reg = <0x01c21400 0x8>; -- clocks = <&osc24M>; -- #pwm-cells = <3>; -- status = "disabled"; -- }; -- -- codec: codec@01c22c00 { -- #sound-dai-cells = <0>; -- compatible = "allwinner,sun8i-h3-codec"; -- reg = <0x01c22c00 0x400>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; -- clock-names = "apb", "codec"; -- resets = <&ccu RST_BUS_CODEC>; -- dmas = <&dma 15>, <&dma 15>; -- dma-names = "rx", "tx"; -- allwinner,codec-analog-controls = <&codec_analog>; -- status = "disabled"; -- }; -- -- uart0: serial@01c28000 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28000 0x400>; -- interrupts = ; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART0>; -- resets = <&ccu RST_BUS_UART0>; -- dmas = <&dma 6>, <&dma 6>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- uart1: serial@01c28400 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28400 0x400>; -- interrupts = ; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART1>; -- resets = <&ccu RST_BUS_UART1>; -- dmas = <&dma 7>, <&dma 7>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- uart2: serial@01c28800 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28800 0x400>; -- interrupts = ; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART2>; -- resets = <&ccu RST_BUS_UART2>; -- dmas = <&dma 8>, <&dma 8>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- uart3: serial@01c28c00 { -- compatible = "snps,dw-apb-uart"; -- reg = <0x01c28c00 0x400>; -- interrupts = ; -- reg-shift = <2>; -- reg-io-width = <4>; -- clocks = <&ccu CLK_BUS_UART3>; -- resets = <&ccu RST_BUS_UART3>; -- dmas = <&dma 9>, <&dma 9>; -- dma-names = "rx", "tx"; -- status = "disabled"; -- }; -- -- i2c0: i2c@01c2ac00 { -- compatible = "allwinner,sun6i-a31-i2c"; -- reg = <0x01c2ac00 0x400>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_I2C0>; -- resets = <&ccu RST_BUS_I2C0>; -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- i2c1: i2c@01c2b000 { -- compatible = "allwinner,sun6i-a31-i2c"; -- reg = <0x01c2b000 0x400>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_I2C1>; -- resets = <&ccu RST_BUS_I2C1>; -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c1_pins>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- i2c2: i2c@01c2b400 { -- compatible = "allwinner,sun6i-a31-i2c"; -- reg = <0x01c2b000 0x400>; -- interrupts = ; -- clocks = <&ccu CLK_BUS_I2C2>; -- resets = <&ccu RST_BUS_I2C2>; -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c2_pins>; -- status = "disabled"; -- #address-cells = <1>; -- #size-cells = <0>; -- }; -- -- gic: interrupt-controller@01c81000 { -- compatible = "arm,gic-400"; -- reg = <0x01c81000 0x1000>, -- <0x01c82000 0x2000>, -- <0x01c84000 0x2000>, -- <0x01c86000 0x2000>; -- interrupt-controller; -- #interrupt-cells = <3>; -- interrupts = ; -- }; -- -- rtc: rtc@01f00000 { -- compatible = "allwinner,sun6i-a31-rtc"; -- reg = <0x01f00000 0x54>; -- interrupts = , -- ; -- }; -- -- apb0_reset: reset@01f014b0 { -- reg = <0x01f014b0 0x4>; -- compatible = "allwinner,sun6i-a31-clock-reset"; -- #reset-cells = <1>; -- }; -- -- codec_analog: codec-analog@01f015c0 { -- compatible = "allwinner,sun8i-h3-codec-analog"; -- reg = <0x01f015c0 0x4>; -- }; -- -- ir: ir@01f02000 { -- compatible = "allwinner,sun5i-a13-ir"; -- clocks = <&apb0_gates 1>, <&ir_clk>; -- clock-names = "apb", "ir"; -- resets = <&apb0_reset 1>; -- interrupts = ; -- reg = <0x01f02000 0x40>; -- status = "disabled"; -- }; -- -- r_pio: pinctrl@01f02c00 { -- compatible = "allwinner,sun8i-h3-r-pinctrl"; -- reg = <0x01f02c00 0x400>; -- interrupts = ; -- clocks = <&apb0_gates 0>, <&osc24M>, <&osc32k>; -- clock-names = "apb", "hosc", "losc"; -- resets = <&apb0_reset 0>; -- gpio-controller; -- #gpio-cells = <3>; -- interrupt-controller; -- #interrupt-cells = <3>; -- -- ir_pins_a: ir@0 { -- pins = "PL11"; -- function = "s_cir_rx"; -- }; -- }; -- }; --}; -+/* -+ * Copyright (C) 2015 Jens Kuske -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use, -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+#include "sunxi-h3-h5.dtsi" -+ -+/ { -+ cpus { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ cpu@0 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <0>; -+ }; -+ -+ cpu@1 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <1>; -+ }; -+ -+ cpu@2 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <2>; -+ }; -+ -+ cpu@3 { -+ compatible = "arm,cortex-a7"; -+ device_type = "cpu"; -+ reg = <3>; -+ }; -+ }; -+ -+ timer { -+ compatible = "arm,armv7-timer"; -+ interrupts = , -+ , -+ , -+ ; -+ }; -+}; -+ -+&ccu { -+ compatible = "allwinner,sun8i-h3-ccu"; -+}; -+ -+&mmc0 { -+ compatible = "allwinner,sun7i-a20-mmc"; -+ clocks = <&ccu CLK_BUS_MMC0>, -+ <&ccu CLK_MMC0>, -+ <&ccu CLK_MMC0_OUTPUT>, -+ <&ccu CLK_MMC0_SAMPLE>; -+ clock-names = "ahb", -+ "mmc", -+ "output", -+ "sample"; -+}; -+ -+&mmc1 { -+ compatible = "allwinner,sun7i-a20-mmc"; -+ clocks = <&ccu CLK_BUS_MMC1>, -+ <&ccu CLK_MMC1>, -+ <&ccu CLK_MMC1_OUTPUT>, -+ <&ccu CLK_MMC1_SAMPLE>; -+ clock-names = "ahb", -+ "mmc", -+ "output", -+ "sample"; -+}; -+ -+&mmc2 { -+ compatible = "allwinner,sun7i-a20-mmc"; -+ clocks = <&ccu CLK_BUS_MMC2>, -+ <&ccu CLK_MMC2>, -+ <&ccu CLK_MMC2_OUTPUT>, -+ <&ccu CLK_MMC2_SAMPLE>; -+ clock-names = "ahb", -+ "mmc", -+ "output", -+ "sample"; -+}; -+ -+&pio { -+ compatible = "allwinner,sun8i-h3-pinctrl"; -+}; -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -similarity index 90% -copy from arch/arm/boot/dts/sun8i-h3.dtsi -copy to arch/arm/boot/dts/sunxi-h3-h5.dtsi -index c13fbfb92592..2494ea063cd4 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -46,43 +46,8 @@ - - / { - interrupt-parent = <&gic>; -- -- cpus { -- #address-cells = <1>; -- #size-cells = <0>; -- -- cpu@0 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <0>; -- }; -- -- cpu@1 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <1>; -- }; -- -- cpu@2 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <2>; -- }; -- -- cpu@3 { -- compatible = "arm,cortex-a7"; -- device_type = "cpu"; -- reg = <3>; -- }; -- }; -- -- timer { -- compatible = "arm,armv7-timer"; -- interrupts = , -- , -- , -- ; -- }; -+ #address-cells = <1>; -+ #size-cells = <1>; - - clocks { - #address-cells = <1>; -@@ -147,16 +112,8 @@ - }; - - mmc0: mmc@01c0f000 { -- compatible = "allwinner,sun7i-a20-mmc"; -+ /* compatible and clocks are in per SoC .dtsi file */ - reg = <0x01c0f000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC0>, -- <&ccu CLK_MMC0>, -- <&ccu CLK_MMC0_OUTPUT>, -- <&ccu CLK_MMC0_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; - resets = <&ccu RST_BUS_MMC0>; - reset-names = "ahb"; - interrupts = ; -@@ -166,16 +123,8 @@ - }; - - mmc1: mmc@01c10000 { -- compatible = "allwinner,sun7i-a20-mmc"; -+ /* compatible and clocks are in per SoC .dtsi file */ - reg = <0x01c10000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC1>, -- <&ccu CLK_MMC1>, -- <&ccu CLK_MMC1_OUTPUT>, -- <&ccu CLK_MMC1_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; - resets = <&ccu RST_BUS_MMC1>; - reset-names = "ahb"; - interrupts = ; -@@ -185,16 +134,8 @@ - }; - - mmc2: mmc@01c11000 { -- compatible = "allwinner,sun7i-a20-mmc"; -+ /* compatible and clocks are in per SoC .dtsi file */ - reg = <0x01c11000 0x1000>; -- clocks = <&ccu CLK_BUS_MMC2>, -- <&ccu CLK_MMC2>, -- <&ccu CLK_MMC2_OUTPUT>, -- <&ccu CLK_MMC2_SAMPLE>; -- clock-names = "ahb", -- "mmc", -- "output", -- "sample"; - resets = <&ccu RST_BUS_MMC2>; - reset-names = "ahb"; - interrupts = ; -@@ -305,7 +246,7 @@ - }; - - ccu: clock@01c20000 { -- compatible = "allwinner,sun8i-h3-ccu"; -+ /* compatible is in per SoC .dtsi file */ - reg = <0x01c20000 0x400>; - clocks = <&osc24M>, <&osc32k>; - clock-names = "hosc", "losc"; -@@ -314,7 +255,7 @@ - }; - - pio: pinctrl@01c20800 { -- compatible = "allwinner,sun8i-h3-pinctrl"; -+ /* compatible is in per SoC .dtsi file */ - reg = <0x01c20800 0x400>; - interrupts = , - ; diff --git a/AllWinner-net-emac.patch b/AllWinner-net-emac.patch deleted file mode 100644 index ebe9a3c94..000000000 --- a/AllWinner-net-emac.patch +++ /dev/null @@ -1,2179 +0,0 @@ -From patchwork Tue Mar 14 14:18:37 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2, 01/20] net-next: stmmac: export - stmmac_set_mac_addr/stmmac_get_mac_addr -From: Corentin LABBE -X-Patchwork-Id: 9623505 -Message-Id: <20170314141856.24560-2-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:37 +0100 - -Thoses symbol will be needed for the dwmac-sun8i ethernet driver. -For letting it to be build as module, they need to be exported. - -Signed-off-by: Corentin Labbe ---- - drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c -index e60bfca..0ab985c8 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c -+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c -@@ -248,6 +248,7 @@ void stmmac_set_mac_addr(void __iomem *ioaddr, u8 addr[6], - data = (addr[3] << 24) | (addr[2] << 16) | (addr[1] << 8) | addr[0]; - writel(data, ioaddr + low); - } -+EXPORT_SYMBOL_GPL(stmmac_set_mac_addr); - - /* Enable disable MAC RX/TX */ - void stmmac_set_mac(void __iomem *ioaddr, bool enable) -@@ -279,4 +280,4 @@ void stmmac_get_mac_addr(void __iomem *ioaddr, unsigned char *addr, - addr[4] = hi_addr & 0xff; - addr[5] = (hi_addr >> 8) & 0xff; - } -- -+EXPORT_SYMBOL_GPL(stmmac_get_mac_addr); -From patchwork Tue Mar 14 14:18:38 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,02/20] net-next: stmmac: add optional setup function -From: Corentin LABBE -X-Patchwork-Id: 9623509 -Message-Id: <20170314141856.24560-3-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:38 +0100 - -Instead of ading more ifthen logic for adding a new mac_device_info -setup function, it is easier to add a function pointer to the function -needed. - -Signed-off-by: Corentin Labbe ---- - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++- - include/linux/stmmac.h | 3 +++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index 4498a38..856ac57 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -3101,7 +3101,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv) - struct mac_device_info *mac; - - /* Identify the MAC HW device */ -- if (priv->plat->has_gmac) { -+ if (priv->plat->setup) { -+ mac = priv->plat->setup(priv); -+ } else if (priv->plat->has_gmac) { - priv->dev->priv_flags |= IFF_UNICAST_FLT; - mac = dwmac1000_setup(priv->ioaddr, - priv->plat->multicast_filter_bins, -diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h -index fc273e9..8f09f18 100644 ---- a/include/linux/stmmac.h -+++ b/include/linux/stmmac.h -@@ -109,6 +109,8 @@ struct stmmac_axi { - bool axi_rb; - }; - -+struct stmmac_priv; -+ - struct plat_stmmacenet_data { - int bus_id; - int phy_addr; -@@ -136,6 +138,7 @@ struct plat_stmmacenet_data { - void (*fix_mac_speed)(void *priv, unsigned int speed); - int (*init)(struct platform_device *pdev, void *priv); - void (*exit)(struct platform_device *pdev, void *priv); -+ struct mac_device_info *(*setup)(struct stmmac_priv *priv); - void *bsp_priv; - struct clk *stmmac_clk; - struct clk *pclk; -From patchwork Tue Mar 14 14:18:39 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2, - 03/20] ARM: sun8i: dt: Add DT bindings documentation for Allwinner - dwmac-sun8i -From: Corentin LABBE -X-Patchwork-Id: 9623517 -Message-Id: <20170314141856.24560-4-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:39 +0100 - -This patch adds documentation for Device-Tree bindings for the -Allwinner dwmac-sun8i driver. - -Signed-off-by: Corentin Labbe ---- - .../devicetree/bindings/net/dwmac-sun8i.txt | 77 ++++++++++++++++++++++ - 1 file changed, 77 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt - -diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt -new file mode 100644 -index 0000000..f01ef17 ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt -@@ -0,0 +1,77 @@ -+* Allwinner sun8i GMAC ethernet controller -+ -+This device is a platform glue layer for stmmac. -+Please see stmmac.txt for the other unchanged properties. -+ -+Required properties: -+- compatible: should be one of the following string: -+ "allwinner,sun8i-a83t-emac" -+ "allwinner,sun8i-h3-emac" -+ "allwinner,sun50i-a64-emac" -+- reg: address and length of the register for the device. -+- interrupts: interrupt for the device -+- interrupt-names: should be "macirq" -+- clocks: A phandle to the reference clock for this device -+- clock-names: should be "stmmaceth" -+- resets: A phandle to the reset control for this device -+- reset-names: should be "stmmaceth" -+- phy-mode: See ethernet.txt -+- phy-handle: See ethernet.txt -+- #address-cells: shall be 1 -+- #size-cells: shall be 0 -+- syscon: A phandle to the syscon of the SoC with one of the following -+ compatible string: -+ - allwinner,sun8i-h3-system-controller -+ - allwinner,sun8i-a64-system-controller -+ - allwinner,sun8i-a83t-system-controller -+ -+Optional properties: -+- allwinner,tx-delay: TX clock delay chain value. Range value is 0-0x07. Default is 0) -+- allwinner,rx-delay: RX clock delay chain value. Range value is 0-0x1F. Default is 0) -+Both delay properties are in 0.1ns step. -+ -+Optional properties for "allwinner,sun8i-h3-emac": -+- allwinner,leds-active-low: EPHY LEDs are active low -+ -+Required child node of emac: -+- mdio bus node: should be named mdio -+ -+Required properties of the mdio node: -+- #address-cells: shall be 1 -+- #size-cells: shall be 0 -+ -+The device node referenced by "phy" or "phy-handle" should be a child node -+of the mdio node. See phy.txt for the generic PHY bindings. -+ -+Required properties of the phy node with "allwinner,sun8i-h3-emac": -+- clocks: a phandle to the reference clock for the EPHY -+- resets: a phandle to the reset control for the EPHY -+ -+Example: -+ -+emac: ethernet@1c0b000 { -+ compatible = "allwinner,sun8i-h3-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c0b000 0x104>; -+ interrupts = ; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ phy = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ int_mii_phy: ethernet-phy@1 { -+ reg = <1>; -+ clocks = <&ccu CLK_BUS_EPHY>; -+ resets = <&ccu RST_BUS_EPHY>; -+ }; -+ }; -+}; -From patchwork Tue Mar 14 14:18:40 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2, - 04/20] ARM: sun8i: dt: Add DT bindings documentation for Allwinner - syscon -From: Corentin LABBE -X-Patchwork-Id: 9623533 -Message-Id: <20170314141856.24560-5-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:40 +0100 - -Signed-off-by: Corentin Labbe ---- - .../devicetree/bindings/misc/allwinner,syscon.txt | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - create mode 100644 Documentation/devicetree/bindings/misc/allwinner,syscon.txt - -diff --git a/Documentation/devicetree/bindings/misc/allwinner,syscon.txt b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt -new file mode 100644 -index 0000000..9f5f1f5 ---- /dev/null -+++ b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt -@@ -0,0 +1,19 @@ -+* Allwinner sun8i system controller -+ -+This file describes the bindings for the system controller present in -+Allwinner SoC H3, A83T and A64. -+The principal function of this syscon is to control EMAC PHY choice and -+config. -+ -+Required properties for the system controller: -+- reg: address and length of the register for the device. -+- compatible: should be "syscon" and one of the following string: -+ "allwinner,sun8i-h3-system-controller" -+ "allwinner,sun8i-a64-system-controller" -+ "allwinner,sun8i-a83t-system-controller" -+ -+Example: -+syscon: syscon@01c00000 { -+ compatible = "syscon", "allwinner,sun8i-h3-system-controller"; -+ reg = <0x01c00000 0x1000>; -+}; -From patchwork Tue Mar 14 14:18:41 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,05/20] net-next: stmmac: Add dwmac-sun8i -From: Corentin LABBE -X-Patchwork-Id: 9623523 -Message-Id: <20170314141856.24560-6-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:41 +0100 - -The dwmac-sun8i is a heavy hacked version of stmmac hardware by -allwinner. -In fact the only common part is the descriptor management and the first -register function. - -Signed-off-by: Corentin Labbe ---- - drivers/net/ethernet/stmicro/stmmac/Kconfig | 11 + - drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + - drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 938 +++++++++++++++++++++ - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 27 +- - .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 9 +- - include/linux/stmmac.h | 1 + - 6 files changed, 984 insertions(+), 3 deletions(-) - create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c - -diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig -index cfbe363..85c0e41 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/Kconfig -+++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig -@@ -145,6 +145,17 @@ config DWMAC_SUNXI - This selects Allwinner SoC glue layer support for the - stmmac device driver. This driver is used for A20/A31 - GMAC ethernet controller. -+ -+config DWMAC_SUN8I -+ tristate "Allwinner sun8i GMAC support" -+ default ARCH_SUNXI -+ depends on OF && (ARCH_SUNXI || COMPILE_TEST) -+ ---help--- -+ Support for Allwinner H3 A83T A64 EMAC ethernet controllers. -+ -+ This selects Allwinner SoC glue layer support for the -+ stmmac device driver. This driver is used for H3/A83T/A64 -+ EMAC ethernet controller. - endif - - config STMMAC_PCI -diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile -index 700c603..fd4937a 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/Makefile -+++ b/drivers/net/ethernet/stmicro/stmmac/Makefile -@@ -16,6 +16,7 @@ obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o - obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o - obj-$(CONFIG_DWMAC_STM32) += dwmac-stm32.o - obj-$(CONFIG_DWMAC_SUNXI) += dwmac-sunxi.o -+obj-$(CONFIG_DWMAC_SUN8I) += dwmac-sun8i.o - obj-$(CONFIG_DWMAC_DWC_QOS_ETH) += dwmac-dwc-qos-eth.o - obj-$(CONFIG_DWMAC_GENERIC) += dwmac-generic.o - stmmac-platform-objs:= stmmac_platform.o -diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c -new file mode 100644 -index 0000000..52ab67c ---- /dev/null -+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c -@@ -0,0 +1,938 @@ -+/* -+ * dwmac-sun8i.c - Allwinner sun8i DWMAC specific glue layer -+ * -+ * Copyright (C) 2017 Corentin Labbe -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "stmmac.h" -+#include "stmmac_platform.h" -+ -+/* General notes on dwmac-sun8i: -+ * Locking: no locking is necessary in this file because all necessary locking -+ * is done in the "stmmac files" -+ */ -+ -+/* struct emac_variant - Descrive dwmac-sun8i hardware variant -+ * @default_syscon_value: The default value of the EMAC register in syscon -+ * This value is used for disabling properly EMAC -+ * and used as a good starting value in case of the -+ * boot process(uboot) leave some stuff. -+ * @internal_phy: Does the MAC embed an internal PHY -+ * @support_mii: Does the MAC handle MII -+ * @support_rmii: Does the MAC handle RMII -+ * @support_rgmii: Does the MAC handle RGMII -+ */ -+struct emac_variant { -+ u32 default_syscon_value; -+ int internal_phy; -+ bool support_mii; -+ bool support_rmii; -+ bool support_rgmii; -+}; -+ -+/* struct sunxi_priv_data - hold all sunxi private data -+ * @tx_clk: reference to MAC TX clock -+ * @ephy_clk: reference to the optional EPHY clock for the internal PHY -+ * @regulator: reference to the optional regulator -+ * @rst_ephy: reference to the optional EPHY reset for the internal PHY -+ * @variant: reference to the current board variant -+ * @regmap: regmap for using the syscon -+ * @use_internal_phy: Does the current PHY choice imply using the internal PHY -+ */ -+struct sunxi_priv_data { -+ struct clk *tx_clk; -+ struct clk *ephy_clk; -+ struct regulator *regulator; -+ struct reset_control *rst_ephy; -+ const struct emac_variant *variant; -+ struct regmap *regmap; -+ bool use_internal_phy; -+}; -+ -+static const struct emac_variant emac_variant_h3 = { -+ .default_syscon_value = 0x58000, -+ .internal_phy = PHY_INTERFACE_MODE_MII, -+ .support_mii = true, -+ .support_rmii = true, -+ .support_rgmii = true -+}; -+ -+static const struct emac_variant emac_variant_a83t = { -+ .default_syscon_value = 0, -+ .internal_phy = 0, -+ .support_mii = true, -+ .support_rgmii = true -+}; -+ -+static const struct emac_variant emac_variant_a64 = { -+ .default_syscon_value = 0, -+ .internal_phy = 0, -+ .support_mii = true, -+ .support_rmii = true, -+ .support_rgmii = true -+}; -+ -+#define EMAC_BASIC_CTL0 0x00 -+#define EMAC_BASIC_CTL1 0x04 -+#define EMAC_INT_STA 0x08 -+#define EMAC_INT_EN 0x0C -+#define EMAC_TX_CTL0 0x10 -+#define EMAC_TX_CTL1 0x14 -+#define EMAC_TX_FLOW_CTL 0x1C -+#define EMAC_TX_DESC_LIST 0x20 -+#define EMAC_RX_CTL0 0x24 -+#define EMAC_RX_CTL1 0x28 -+#define EMAC_RX_DESC_LIST 0x34 -+#define EMAC_RX_FRM_FLT 0x38 -+#define EMAC_MDIO_CMD 0x48 -+#define EMAC_MDIO_DATA 0x4C -+#define EMAC_MACADDR_HI(reg) (0x50 + (reg) * 8) -+#define EMAC_MACADDR_LO(reg) (0x54 + (reg) * 8) -+#define EMAC_TX_DMA_STA 0xB0 -+#define EMAC_TX_CUR_DESC 0xB4 -+#define EMAC_TX_CUR_BUF 0xB8 -+#define EMAC_RX_DMA_STA 0xC0 -+#define EMAC_RX_CUR_DESC 0xC4 -+#define EMAC_RX_CUR_BUF 0xC8 -+ -+/* Use in EMAC_BASIC_CTL1 */ -+#define EMAC_BURSTLEN_SHIFT 24 -+ -+/* Used in EMAC_RX_FRM_FLT */ -+#define EMAC_FRM_FLT_RXALL BIT(0) -+#define EMAC_FRM_FLT_CTL BIT(13) -+#define EMAC_FRM_FLT_MULTICAST BIT(16) -+ -+/* Used in RX_CTL1*/ -+#define EMAC_RX_MD BIT(1) -+#define EMAC_RX_TH_MASK GENMASK(4, 5) -+#define EMAC_RX_TH_32 0 -+#define EMAC_RX_TH_64 (0x1 << 4) -+#define EMAC_RX_TH_96 (0x2 << 4) -+#define EMAC_RX_TH_128 (0x3 << 4) -+#define EMAC_RX_DMA_EN BIT(30) -+#define EMAC_RX_DMA_START BIT(31) -+ -+/* Used in TX_CTL1*/ -+#define EMAC_TX_MD BIT(1) -+#define EMAC_TX_NEXT_FRM BIT(2) -+#define EMAC_TX_TH_MASK GENMASK(8, 10) -+#define EMAC_TX_TH_64 0 -+#define EMAC_TX_TH_128 (0x1 << 8) -+#define EMAC_TX_TH_192 (0x2 << 8) -+#define EMAC_TX_TH_256 (0x3 << 8) -+#define EMAC_TX_DMA_EN BIT(30) -+#define EMAC_TX_DMA_START BIT(31) -+ -+/* Used in RX_CTL0 */ -+#define EMAC_RX_RECEIVER_EN BIT(31) -+#define EMAC_RX_DO_CRC BIT(27) -+#define EMAC_RX_FLOW_CTL_EN BIT(16) -+ -+/* Used in TX_CTL0 */ -+#define EMAC_TX_TRANSMITTER_EN BIT(31) -+ -+/* Used in EMAC_TX_FLOW_CTL */ -+#define EMAC_TX_FLOW_CTL_EN BIT(0) -+ -+/* Used in EMAC_INT_STA */ -+#define EMAC_TX_INT BIT(0) -+#define EMAC_TX_DMA_STOP_INT BIT(1) -+#define EMAC_TX_BUF_UA_INT BIT(2) -+#define EMAC_TX_TIMEOUT_INT BIT(3) -+#define EMAC_TX_UNDERFLOW_INT BIT(4) -+#define EMAC_TX_EARLY_INT BIT(5) -+#define EMAC_RX_INT BIT(8) -+#define EMAC_RX_BUF_UA_INT BIT(9) -+#define EMAC_RX_DMA_STOP_INT BIT(10) -+#define EMAC_RX_TIMEOUT_INT BIT(11) -+#define EMAC_RX_OVERFLOW_INT BIT(12) -+#define EMAC_RX_EARLY_INT BIT(13) -+#define EMAC_RGMII_STA_INT BIT(16) -+ -+#define MAC_ADDR_TYPE_DST BIT(31) -+ -+/* H3 specific bits for EPHY */ -+#define H3_EPHY_ADDR_SHIFT 20 -+#define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */ -+#define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */ -+#define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */ -+ -+/* H3/A64 specific bits */ -+#define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */ -+ -+/* Generic system control EMAC_CLK bits */ -+#define SYSCON_ETXDC_MASK GENMASK(2, 0) -+#define SYSCON_ETXDC_SHIFT 10 -+#define SYSCON_ERXDC_MASK GENMASK(4, 0) -+#define SYSCON_ERXDC_SHIFT 5 -+/* EMAC PHY Interface Type */ -+#define SYSCON_EPIT BIT(2) /* 1: RGMII, 0: MII */ -+#define SYSCON_ETCS_MASK GENMASK(1, 0) -+#define SYSCON_ETCS_MII 0x0 -+#define SYSCON_ETCS_EXT_GMII 0x1 -+#define SYSCON_ETCS_INT_GMII 0x2 -+#define SYSCON_EMAC_REG 0x30 -+ -+/* sun8i_dwmac_dma_reset() - reset the EMAC -+ * Called from stmmac via stmmac_dma_ops->reset -+ */ -+static int sun8i_dwmac_dma_reset(void __iomem *ioaddr) -+{ -+ writel(0, ioaddr + EMAC_RX_CTL1); -+ writel(0, ioaddr + EMAC_TX_CTL1); -+ writel(0, ioaddr + EMAC_RX_FRM_FLT); -+ writel(0, ioaddr + EMAC_RX_DESC_LIST); -+ writel(0, ioaddr + EMAC_TX_DESC_LIST); -+ writel(0, ioaddr + EMAC_INT_EN); -+ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA); -+ return 0; -+} -+ -+/* sun8i_dwmac_dma_init() - initialize the EMAC -+ * Called from stmmac via stmmac_dma_ops->init -+ */ -+static void sun8i_dwmac_dma_init(void __iomem *ioaddr, -+ struct stmmac_dma_cfg *dma_cfg, -+ u32 dma_tx, u32 dma_rx, int atds) -+{ -+ /* Write TX and RX descriptors address */ -+ writel(dma_rx, ioaddr + EMAC_RX_DESC_LIST); -+ writel(dma_tx, ioaddr + EMAC_TX_DESC_LIST); -+ -+ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN); -+ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA); -+} -+ -+/* sun8i_dwmac_dump_regs() - Dump EMAC address space -+ * Called from stmmac_dma_ops->dump_regs -+ * Used for ethtool -+ */ -+static void sun8i_dwmac_dump_regs(void __iomem *ioaddr, u32 *reg_space) -+{ -+ int i; -+ -+ for (i = 0; i < 0xC8; i += 4) { -+ if (i == 0x32 || i == 0x3C) -+ continue; -+ reg_space[i / 4] = readl(ioaddr + i); -+ } -+} -+ -+/* sun8i_dwmac_dump_mac_regs() - Dump EMAC address space -+ * Called from stmmac_ops->dump_regs -+ * Used for ethtool -+ */ -+static void sun8i_dwmac_dump_mac_regs(struct mac_device_info *hw, -+ u32 *reg_space) -+{ -+ int i; -+ void __iomem *ioaddr = hw->pcsr; -+ -+ for (i = 0; i < 0xC8; i += 4) { -+ if (i == 0x32 || i == 0x3C) -+ continue; -+ reg_space[i / 4] = readl(ioaddr + i); -+ } -+} -+ -+static void sun8i_dwmac_enable_dma_irq(void __iomem *ioaddr) -+{ -+ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN); -+} -+ -+static void sun8i_dwmac_disable_dma_irq(void __iomem *ioaddr) -+{ -+ writel(0, ioaddr + EMAC_INT_EN); -+} -+ -+static void sun8i_dwmac_dma_start_tx(void __iomem *ioaddr) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL0); -+ v |= EMAC_TX_TRANSMITTER_EN; -+ writel(v, ioaddr + EMAC_TX_CTL0); -+} -+ -+static void sun8i_dwmac_enable_dma_transmission(void __iomem *ioaddr) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL1); -+ v |= EMAC_TX_DMA_START; -+ v |= EMAC_TX_DMA_EN; -+ writel_relaxed(v, ioaddr + EMAC_TX_CTL1); -+} -+ -+static void sun8i_dwmac_dma_stop_tx(void __iomem *ioaddr) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL0); -+ v &= ~EMAC_TX_TRANSMITTER_EN; -+ writel(v, ioaddr + EMAC_TX_CTL0); -+} -+ -+static void sun8i_dwmac_dma_start_rx(void __iomem *ioaddr) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ v |= EMAC_RX_RECEIVER_EN; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ -+ v = readl(ioaddr + EMAC_RX_CTL1); -+ v |= EMAC_RX_DMA_START; -+ v |= EMAC_RX_DMA_EN; -+ writel(v, ioaddr + EMAC_RX_CTL1); -+} -+ -+static void sun8i_dwmac_dma_stop_rx(void __iomem *ioaddr) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ v &= ~EMAC_RX_RECEIVER_EN; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ -+ v = readl(ioaddr + EMAC_RX_CTL1); -+ v &= ~EMAC_RX_DMA_EN; -+ writel(v, ioaddr + EMAC_RX_CTL1); -+} -+ -+static int sun8i_dwmac_dma_interrupt(void __iomem *ioaddr, -+ struct stmmac_extra_stats *x) -+{ -+ u32 v; -+ int ret = 0; -+ -+ v = readl(ioaddr + EMAC_INT_STA); -+ -+ if (v & EMAC_TX_INT) { -+ ret |= handle_tx; -+ x->tx_normal_irq_n++; -+ } -+ -+ if (v & EMAC_TX_DMA_STOP_INT) -+ x->tx_process_stopped_irq++; -+ -+ if (v & EMAC_TX_BUF_UA_INT) -+ x->tx_process_stopped_irq++; -+ -+ if (v & EMAC_TX_TIMEOUT_INT) -+ ret |= tx_hard_error; -+ -+ if (v & EMAC_TX_UNDERFLOW_INT) { -+ ret |= tx_hard_error; -+ x->tx_undeflow_irq++; -+ } -+ -+ if (v & EMAC_TX_EARLY_INT) -+ x->tx_early_irq++; -+ -+ if (v & EMAC_RX_INT) { -+ ret |= handle_rx; -+ x->rx_normal_irq_n++; -+ } -+ -+ if (v & EMAC_RX_BUF_UA_INT) -+ x->rx_buf_unav_irq++; -+ -+ if (v & EMAC_RX_DMA_STOP_INT) -+ x->rx_process_stopped_irq++; -+ -+ if (v & EMAC_RX_TIMEOUT_INT) -+ ret |= tx_hard_error; -+ -+ if (v & EMAC_RX_OVERFLOW_INT) { -+ ret |= tx_hard_error; -+ x->rx_overflow_irq++; -+ } -+ -+ if (v & EMAC_RX_EARLY_INT) -+ x->rx_early_irq++; -+ -+ if (v & EMAC_RGMII_STA_INT) -+ x->irq_rgmii_n++; -+ -+ writel(v, ioaddr + EMAC_INT_STA); -+ -+ return ret; -+} -+ -+static void sun8i_dwmac_dma_operation_mode(void __iomem *ioaddr, int txmode, -+ int rxmode, int rxfifosz) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL1); -+ if (txmode == SF_DMA_MODE) { -+ v |= EMAC_TX_MD; -+ /* Undocumented bit (called TX_NEXT_FRM in BSP), the original -+ * comment is -+ * "Operating on second frame increase the performance -+ * especially when transmit store-and-forward is used." -+ */ -+ v |= EMAC_TX_NEXT_FRM; -+ } else { -+ v &= ~EMAC_TX_MD; -+ v &= ~EMAC_TX_TH_MASK; -+ if (txmode < 64) -+ v |= EMAC_TX_TH_64; -+ else if (txmode < 128) -+ v |= EMAC_TX_TH_128; -+ else if (txmode < 192) -+ v |= EMAC_TX_TH_192; -+ else if (txmode < 256) -+ v |= EMAC_TX_TH_256; -+ } -+ writel(v, ioaddr + EMAC_TX_CTL1); -+ -+ v = readl(ioaddr + EMAC_RX_CTL1); -+ if (rxmode == SF_DMA_MODE) { -+ v |= EMAC_RX_MD; -+ } else { -+ v &= ~EMAC_RX_MD; -+ v &= ~EMAC_RX_TH_MASK; -+ if (rxmode < 32) -+ v |= EMAC_RX_TH_32; -+ else if (rxmode < 64) -+ v |= EMAC_RX_TH_64; -+ else if (rxmode < 96) -+ v |= EMAC_RX_TH_96; -+ else if (rxmode < 128) -+ v |= EMAC_RX_TH_128; -+ } -+ writel(v, ioaddr + EMAC_RX_CTL1); -+} -+ -+static const struct stmmac_dma_ops sun8i_dwmac_dma_ops = { -+ .reset = sun8i_dwmac_dma_reset, -+ .init = sun8i_dwmac_dma_init, -+ .dump_regs = sun8i_dwmac_dump_regs, -+ .dma_mode = sun8i_dwmac_dma_operation_mode, -+ .enable_dma_transmission = sun8i_dwmac_enable_dma_transmission, -+ .enable_dma_irq = sun8i_dwmac_enable_dma_irq, -+ .disable_dma_irq = sun8i_dwmac_disable_dma_irq, -+ .start_tx = sun8i_dwmac_dma_start_tx, -+ .stop_tx = sun8i_dwmac_dma_stop_tx, -+ .start_rx = sun8i_dwmac_dma_start_rx, -+ .stop_rx = sun8i_dwmac_dma_stop_rx, -+ .dma_interrupt = sun8i_dwmac_dma_interrupt, -+}; -+ -+static int sun8i_dwmac_init(struct platform_device *pdev, void *priv) -+{ -+ struct sunxi_priv_data *gmac = priv; -+ int ret; -+ -+ if (gmac->regulator) { -+ ret = regulator_enable(gmac->regulator); -+ if (ret) { -+ dev_err(&pdev->dev, "Fail to enable regulator\n"); -+ return ret; -+ } -+ } -+ -+ ret = clk_prepare_enable(gmac->tx_clk); -+ if (ret) { -+ if (gmac->regulator) -+ regulator_disable(gmac->regulator); -+ dev_err(&pdev->dev, "Could not enable AHB clock\n"); -+ return ret; -+ } -+ -+ return 0; -+} -+ -+static void sun8i_dwmac_core_init(struct mac_device_info *hw, int mtu) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ v = (8 << EMAC_BURSTLEN_SHIFT); /* burst len */ -+ writel(v, ioaddr + EMAC_BASIC_CTL1); -+} -+ -+static void sun8i_dwmac_set_umac_addr(struct mac_device_info *hw, -+ unsigned char *addr, -+ unsigned int reg_n) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ stmmac_set_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n), -+ EMAC_MACADDR_LO(reg_n)); -+ if (reg_n > 0) { -+ v = readl(ioaddr + EMAC_MACADDR_HI(reg_n)); -+ v |= MAC_ADDR_TYPE_DST; -+ writel(v, ioaddr + EMAC_MACADDR_HI(reg_n)); -+ } -+} -+ -+static void sun8i_dwmac_get_umac_addr(struct mac_device_info *hw, -+ unsigned char *addr, -+ unsigned int reg_n) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ -+ stmmac_get_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n), -+ EMAC_MACADDR_LO(reg_n)); -+} -+ -+/* caution this function must return non 0 to work */ -+static int sun8i_dwmac_rx_ipc_enable(struct mac_device_info *hw) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ v |= EMAC_RX_DO_CRC; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ -+ return 1; -+} -+ -+static void sun8i_dwmac_set_filter(struct mac_device_info *hw, -+ struct net_device *dev) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ int i = 0; -+ struct netdev_hw_addr *ha; -+ -+ v = readl(ioaddr + EMAC_RX_FRM_FLT); -+ -+ v |= EMAC_FRM_FLT_CTL; -+ -+ if (dev->flags & IFF_PROMISC) { -+ v = EMAC_FRM_FLT_RXALL; -+ } else if (dev->flags & IFF_ALLMULTI) { -+ v = EMAC_FRM_FLT_MULTICAST; -+ } else if (!netdev_mc_empty(dev)) { -+ netdev_for_each_mc_addr(ha, dev) { -+ i++; -+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); -+ } -+ } -+ -+ if (netdev_uc_count(dev) + i > hw->unicast_filter_entries) { -+ netdev_info(dev, "Too many address, switching to promiscuous\n"); -+ v = EMAC_FRM_FLT_RXALL; -+ } else { -+ netdev_for_each_uc_addr(ha, dev) { -+ i++; -+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); -+ } -+ } -+ writel(v, ioaddr + EMAC_RX_FRM_FLT); -+} -+ -+static void sun8i_dwmac_flow_ctrl(struct mac_device_info *hw, -+ unsigned int duplex, -+ unsigned int fc, unsigned int pause_time) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ if (fc == FLOW_AUTO) -+ v |= EMAC_RX_FLOW_CTL_EN; -+ else -+ v &= ~EMAC_RX_FLOW_CTL_EN; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ -+ v = readl(ioaddr + EMAC_TX_FLOW_CTL); -+ if (fc == FLOW_AUTO) -+ v |= EMAC_TX_FLOW_CTL_EN; -+ else -+ v &= ~EMAC_TX_FLOW_CTL_EN; -+ writel(v, ioaddr + EMAC_TX_FLOW_CTL); -+} -+ -+static int sun8i_dwmac_reset(struct stmmac_priv *priv) -+{ -+ u32 v; -+ int err; -+ -+ v = readl(priv->ioaddr + EMAC_BASIC_CTL1); -+ writel(v | 0x01, priv->ioaddr + EMAC_BASIC_CTL1); -+ -+ err = readl_poll_timeout(priv->ioaddr + EMAC_BASIC_CTL1, v, -+ !(v & 0x01), 100, 10000); -+ -+ if (err) { -+ dev_err(priv->device, "EMAC reset timeout\n"); -+ return -EFAULT; -+ } -+ return 0; -+} -+ -+static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) -+{ -+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; -+ struct device_node *node = priv->device->of_node; -+ int ret; -+ u32 reg, val; -+ -+ regmap_read(gmac->regmap, SYSCON_EMAC_REG, &val); -+ reg = gmac->variant->default_syscon_value; -+ if (reg != val) -+ dev_warn(priv->device, -+ "Current syscon value is not the default %x (expect %x)\n", -+ val, reg); -+ -+ if (gmac->variant->internal_phy) { -+ if (!gmac->use_internal_phy) { -+ /* switch to external PHY interface */ -+ reg &= ~H3_EPHY_SELECT; -+ } else { -+ reg |= H3_EPHY_SELECT; -+ reg &= ~H3_EPHY_SHUTDOWN; -+ dev_dbg(priv->device, "Select internal_phy %x\n", reg); -+ -+ if (of_property_read_bool(priv->plat->phy_node, -+ "allwinner,leds-active-low")) -+ reg |= H3_EPHY_LED_POL; -+ else -+ reg &= ~H3_EPHY_LED_POL; -+ -+ ret = of_mdio_parse_addr(priv->device, -+ priv->plat->phy_node); -+ if (ret < 0) { -+ dev_err(priv->device, "Could not parse MDIO addr\n"); -+ return ret; -+ } -+ /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY -+ * address. No need to mask it again. -+ */ -+ reg |= ret << H3_EPHY_ADDR_SHIFT; -+ } -+ } -+ -+ if (!of_property_read_u32(node, "allwinner,tx-delay", &val)) { -+ dev_dbg(priv->device, "set tx-delay to %x\n", val); -+ if (val <= SYSCON_ETXDC_MASK) { -+ reg &= ~(SYSCON_ETXDC_MASK << SYSCON_ETXDC_SHIFT); -+ reg |= (val << SYSCON_ETXDC_SHIFT); -+ } else { -+ dev_err(priv->device, "Invalid TX clock delay: %d\n", -+ val); -+ return -EINVAL; -+ } -+ } -+ -+ if (!of_property_read_u32(node, "allwinner,rx-delay", &val)) { -+ dev_dbg(priv->device, "set rx-delay to %x\n", val); -+ if (val <= SYSCON_ERXDC_MASK) { -+ reg &= ~(SYSCON_ERXDC_MASK << SYSCON_ERXDC_SHIFT); -+ reg |= (val << SYSCON_ERXDC_SHIFT); -+ } else { -+ dev_err(priv->device, "Invalid RX clock delay: %d\n", -+ val); -+ return -EINVAL; -+ } -+ } -+ -+ /* Clear interface mode bits */ -+ reg &= ~(SYSCON_ETCS_MASK | SYSCON_EPIT); -+ if (gmac->variant->support_rmii) -+ reg &= ~SYSCON_RMII_EN; -+ -+ switch (priv->plat->interface) { -+ case PHY_INTERFACE_MODE_MII: -+ /* default */ -+ break; -+ case PHY_INTERFACE_MODE_RGMII: -+ reg |= SYSCON_EPIT | SYSCON_ETCS_INT_GMII; -+ break; -+ case PHY_INTERFACE_MODE_RMII: -+ reg |= SYSCON_RMII_EN | SYSCON_ETCS_EXT_GMII; -+ break; -+ default: -+ dev_err(priv->device, "Unsupported interface mode: %s", -+ phy_modes(priv->plat->interface)); -+ return -EINVAL; -+ } -+ -+ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg); -+ -+ return 0; -+} -+ -+static void sun8i_dwmac_unset_syscon(struct sunxi_priv_data *gmac) -+{ -+ u32 reg = gmac->variant->default_syscon_value; -+ -+ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg); -+} -+ -+static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv) -+{ -+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; -+ int ret; -+ -+ if (gmac->ephy_clk) { -+ ret = clk_prepare_enable(gmac->ephy_clk); -+ if (ret) { -+ dev_err(priv->device, "Cannot enable ephy\n"); -+ return ret; -+ } -+ } -+ -+ if (gmac->rst_ephy) { -+ ret = reset_control_deassert(gmac->rst_ephy); -+ if (ret) { -+ dev_err(priv->device, "Cannot deassert ephy\n"); -+ clk_disable_unprepare(gmac->ephy_clk); -+ return ret; -+ } -+ } -+ -+ return 0; -+} -+ -+static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac) -+{ -+ if (gmac->ephy_clk) -+ clk_disable_unprepare(gmac->ephy_clk); -+ if (gmac->rst_ephy) -+ reset_control_assert(gmac->rst_ephy); -+ return 0; -+} -+ -+static int sun8i_power_phy(struct stmmac_priv *priv) -+{ -+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; -+ int ret; -+ -+ ret = sun8i_dwmac_power_internal_phy(priv); -+ if (ret) -+ return ret; -+ -+ ret = sun8i_dwmac_set_syscon(priv); -+ if (ret) -+ goto error_phy; -+ -+ ret = sun8i_dwmac_reset(priv); -+ if (ret) -+ goto error_phy; -+ return 0; -+ -+error_phy: -+ sun8i_dwmac_unset_syscon(gmac); -+ sun8i_dwmac_unpower_internal_phy(gmac); -+ return ret; -+} -+ -+static void sun8i_unpower_phy(struct sunxi_priv_data *gmac) -+{ -+ sun8i_dwmac_unset_syscon(gmac); -+ sun8i_dwmac_unpower_internal_phy(gmac); -+} -+ -+static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv) -+{ -+ struct sunxi_priv_data *gmac = priv; -+ -+ sun8i_unpower_phy(gmac); -+ -+ clk_disable_unprepare(gmac->tx_clk); -+ -+ if (gmac->regulator) -+ regulator_disable(gmac->regulator); -+} -+ -+static const struct stmmac_ops sun8i_dwmac_ops = { -+ .core_init = sun8i_dwmac_core_init, -+ .dump_regs = sun8i_dwmac_dump_mac_regs, -+ .rx_ipc = sun8i_dwmac_rx_ipc_enable, -+ .set_filter = sun8i_dwmac_set_filter, -+ .flow_ctrl = sun8i_dwmac_flow_ctrl, -+ .set_umac_addr = sun8i_dwmac_set_umac_addr, -+ .get_umac_addr = sun8i_dwmac_get_umac_addr, -+}; -+ -+static struct mac_device_info *sun8i_dwmac_setup(struct stmmac_priv *priv) -+{ -+ struct mac_device_info *mac; -+ int ret; -+ -+ mac = devm_kzalloc(priv->device, sizeof(*mac), GFP_KERNEL); -+ if (!mac) -+ return NULL; -+ -+ ret = sun8i_power_phy(priv); -+ if (ret) -+ return NULL; -+ -+ mac->pcsr = priv->ioaddr; -+ mac->mac = &sun8i_dwmac_ops; -+ mac->dma = &sun8i_dwmac_dma_ops; -+ -+ mac->link.port = 0; -+ mac->link.duplex = BIT(0); -+ mac->link.speed = 1; -+ mac->mii.addr = EMAC_MDIO_CMD; -+ mac->mii.data = EMAC_MDIO_DATA; -+ mac->mii.reg_shift = 4; -+ mac->mii.reg_mask = GENMASK(8, 4); -+ mac->mii.addr_shift = 12; -+ mac->mii.addr_mask = GENMASK(16, 12); -+ mac->mii.clk_csr_shift = 20; -+ mac->mii.clk_csr_mask = GENMASK(22, 20); -+ mac->unicast_filter_entries = 8; -+ -+ /* Synopsys Id is not available */ -+ priv->synopsys_id = 0; -+ -+ return mac; -+} -+ -+static int sun8i_dwmac_probe(struct platform_device *pdev) -+{ -+ struct plat_stmmacenet_data *plat_dat; -+ struct stmmac_resources stmmac_res; -+ struct sunxi_priv_data *gmac; -+ struct device *dev = &pdev->dev; -+ int ret; -+ -+ ret = stmmac_get_platform_resources(pdev, &stmmac_res); -+ if (ret) -+ return ret; -+ -+ plat_dat = stmmac_probe_config_dt(pdev, &stmmac_res.mac); -+ if (IS_ERR(plat_dat)) -+ return PTR_ERR(plat_dat); -+ -+ gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL); -+ if (!gmac) -+ return -ENOMEM; -+ -+ gmac->variant = of_device_get_match_data(&pdev->dev); -+ if (!gmac->variant) { -+ dev_err(&pdev->dev, "Missing sun8i-emac variant\n"); -+ return -EINVAL; -+ } -+ -+ gmac->tx_clk = devm_clk_get(dev, "stmmaceth"); -+ if (IS_ERR(gmac->tx_clk)) { -+ dev_err(dev, "could not get tx clock\n"); -+ return PTR_ERR(gmac->tx_clk); -+ } -+ -+ /* Optional regulator for PHY */ -+ gmac->regulator = devm_regulator_get_optional(dev, "phy"); -+ if (IS_ERR(gmac->regulator)) { -+ if (PTR_ERR(gmac->regulator) == -EPROBE_DEFER) -+ return -EPROBE_DEFER; -+ dev_info(dev, "no regulator found\n"); -+ gmac->regulator = NULL; -+ } -+ -+ gmac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, -+ "syscon"); -+ if (IS_ERR(gmac->regmap)) { -+ ret = PTR_ERR(gmac->regmap); -+ dev_err(&pdev->dev, "unable to map SYSCON:%d\n", ret); -+ return ret; -+ } -+ -+ plat_dat->interface = of_get_phy_mode(dev->of_node); -+ if (plat_dat->interface == gmac->variant->internal_phy) { -+ dev_info(&pdev->dev, "Will use internal PHY\n"); -+ gmac->use_internal_phy = true; -+ gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0); -+ if (IS_ERR(gmac->ephy_clk)) { -+ ret = PTR_ERR(gmac->ephy_clk); -+ dev_err(&pdev->dev, "Cannot get EPHY clock err=%d\n", -+ ret); -+ return -EINVAL; -+ } -+ -+ gmac->rst_ephy = of_reset_control_get(plat_dat->phy_node, NULL); -+ if (IS_ERR(gmac->rst_ephy)) { -+ ret = PTR_ERR(gmac->rst_ephy); -+ if (ret == -EPROBE_DEFER) -+ return ret; -+ dev_err(&pdev->dev, "No EPHY reset control found %d\n", -+ ret); -+ return -EINVAL; -+ } -+ } else { -+ dev_info(&pdev->dev, "Will use external PHY\n"); -+ gmac->use_internal_phy = false; -+ } -+ -+ /* platform data specifying hardware features and callbacks. -+ * hardware features were copied from Allwinner drivers. -+ */ -+ plat_dat->rx_coe = STMMAC_RX_COE_TYPE2; -+ plat_dat->tx_coe = 1; -+ plat_dat->has_sun8i = true; -+ plat_dat->bsp_priv = gmac; -+ plat_dat->init = sun8i_dwmac_init; -+ plat_dat->exit = sun8i_dwmac_exit; -+ plat_dat->setup = sun8i_dwmac_setup; -+ -+ ret = sun8i_dwmac_init(pdev, plat_dat->bsp_priv); -+ if (ret) -+ return ret; -+ -+ ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); -+ if (ret) -+ sun8i_dwmac_exit(pdev, plat_dat->bsp_priv); -+ -+ return ret; -+} -+ -+static const struct of_device_id sun8i_dwmac_match[] = { -+ { .compatible = "allwinner,sun8i-h3-emac", -+ .data = &emac_variant_h3 }, -+ { .compatible = "allwinner,sun8i-a83t-emac", -+ .data = &emac_variant_a83t }, -+ { .compatible = "allwinner,sun50i-a64-emac", -+ .data = &emac_variant_a64 }, -+ { } -+}; -+MODULE_DEVICE_TABLE(of, sun8i_dwmac_match); -+ -+static struct platform_driver sun8i_dwmac_driver = { -+ .probe = sun8i_dwmac_probe, -+ .remove = stmmac_pltfr_remove, -+ .driver = { -+ .name = "sun8i-dwmac", -+ .pm = &stmmac_pltfr_pm_ops, -+ .of_match_table = sun8i_dwmac_match, -+ }, -+}; -+module_platform_driver(sun8i_dwmac_driver); -+ -+MODULE_AUTHOR("Corentin Labbe "); -+MODULE_DESCRIPTION("Allwinner sun8i DWMAC specific glue layer"); -+MODULE_LICENSE("GPL"); -diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index 856ac57..05e8018 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -177,6 +177,17 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv) - else if ((clk_rate >= CSR_F_250M) && (clk_rate < CSR_F_300M)) - priv->clk_csr = STMMAC_CSR_250_300M; - } -+ -+ if (priv->plat->has_sun8i) { -+ if (clk_rate > 160000000) -+ priv->clk_csr = 0x03; -+ else if (clk_rate > 80000000) -+ priv->clk_csr = 0x02; -+ else if (clk_rate > 40000000) -+ priv->clk_csr = 0x01; -+ else -+ priv->clk_csr = 0; -+ } - } - - static void print_pkt(unsigned char *buf, int len) -@@ -697,6 +708,10 @@ static void stmmac_adjust_link(struct net_device *dev) - if (phydev->link) { - u32 ctrl = readl(priv->ioaddr + MAC_CTRL_REG); - -+ /* disable loopback */ -+ if (priv->plat->has_sun8i) -+ ctrl &= ~BIT(1); -+ - /* Now we make sure that we can be in full duplex mode. - * If not, we operate in half-duplex mode. */ - if (phydev->duplex != priv->oldduplex) { -@@ -714,6 +729,8 @@ static void stmmac_adjust_link(struct net_device *dev) - - if (phydev->speed != priv->speed) { - new_state = 1; -+ if (priv->plat->has_sun8i) -+ ctrl &= ~GENMASK(3, 2); - switch (phydev->speed) { - case 1000: - if (priv->plat->has_gmac || -@@ -725,6 +742,8 @@ static void stmmac_adjust_link(struct net_device *dev) - priv->plat->has_gmac4) { - ctrl |= priv->hw->link.port; - ctrl |= priv->hw->link.speed; -+ } else if (priv->plat->has_sun8i) { -+ ctrl |= 3 << 2; - } else { - ctrl &= ~priv->hw->link.port; - } -@@ -734,6 +753,8 @@ static void stmmac_adjust_link(struct net_device *dev) - priv->plat->has_gmac4) { - ctrl |= priv->hw->link.port; - ctrl &= ~(priv->hw->link.speed); -+ } else if (priv->plat->has_sun8i) { -+ ctrl |= 2 << 2; - } else { - ctrl &= ~priv->hw->link.port; - } -@@ -1702,7 +1723,7 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp) - /* Enable the MAC Rx/Tx */ - if (priv->synopsys_id >= DWMAC_CORE_4_00) - stmmac_dwmac4_set_mac(priv->ioaddr, true); -- else -+ else if (!priv->plat->has_sun8i) - stmmac_set_mac(priv->ioaddr, true); - - /* Set the HW DMA mode and the COE */ -@@ -3123,6 +3144,10 @@ static int stmmac_hw_init(struct stmmac_priv *priv) - - priv->hw = mac; - -+ /* dwmac-sun8i only work in chain mode */ -+ if (priv->plat->has_sun8i) -+ chain_mode = 1; -+ - /* To use the chained or ring mode */ - if (priv->synopsys_id >= DWMAC_CORE_4_00) { - priv->hw->mode = &dwmac4_ring_mode_ops; -diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -index 0ba1caf..3c21862 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -@@ -160,6 +160,12 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, - struct device_node *np, struct device *dev) - { - bool mdio = true; -+ static const struct of_device_id need_mdio_ids[] = { -+ { .compatible = "snps,dwc-qos-ethernet-4.10" }, -+ { .compatible = "allwinner,sun8i-a83t-emac" }, -+ { .compatible = "allwinner,sun8i-h3-emac" }, -+ { .compatible = "allwinner,sun50i-a64-emac" }, -+ }; - - /* If phy-handle property is passed from DT, use it as the PHY */ - plat->phy_node = of_parse_phandle(np, "phy-handle", 0); -@@ -176,8 +182,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, - mdio = false; - } - -- /* exception for dwmac-dwc-qos-eth glue logic */ -- if (of_device_is_compatible(np, "snps,dwc-qos-ethernet-4.10")) { -+ if (of_match_node(need_mdio_ids, np)) { - plat->mdio_node = of_get_child_by_name(np, "mdio"); - } else { - /** -diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h -index 8f09f18..100386c 100644 ---- a/include/linux/stmmac.h -+++ b/include/linux/stmmac.h -@@ -147,6 +147,7 @@ struct plat_stmmacenet_data { - struct reset_control *stmmac_rst; - struct stmmac_axi *axi; - int has_gmac4; -+ bool has_sun8i; - bool tso_en; - int mac_port_sel_speed; - bool en_tx_lpi_clockgating; -From patchwork Tue Mar 14 14:18:42 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2, 06/20] ARM: dts: sunxi-h3-h5: Add dt node for the syscon control - module -From: Corentin LABBE -X-Patchwork-Id: 9623549 -Message-Id: <20170314141856.24560-7-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:42 +0100 - -This patch add the dt node for the syscon register present on the -Allwinner H3/H5 - -Only two register are present in this syscon and the only one useful is -the one dedicated to EMAC clock.. - -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sunxi-h3-h5.dtsi | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -index 2494ea0..07e4f36 100644 ---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi -+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -102,6 +102,12 @@ - #size-cells = <1>; - ranges; - -+ syscon: syscon@01c00000 { -+ compatible = "syscon", -+ "allwinner,sun8i-h3-system-controller"; -+ reg = <0x01c00000 0x1000>; -+ }; -+ - dma: dma-controller@01c02000 { - compatible = "allwinner,sun8i-h3-dma"; - reg = <0x01c02000 0x1000>; -From patchwork Tue Mar 14 14:18:43 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,07/20] ARM: dts: sunxi-h3-h5: add dwmac-sun8i ethernet driver -From: Corentin LABBE -X-Patchwork-Id: 9623561 -Message-Id: <20170314141856.24560-8-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:43 +0100 - -The dwmac-sun8i is an ethernet MAC hardware that support 10/100/1000 -speed. - -This patch enable the dwmac-sun8i on Allwinner H3/H5 SoC Device-tree. -SoC H3/H5 have an internal PHY, so optionals syscon and ephy are set. - -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sunxi-h3-h5.dtsi | 33 +++++++++++++++++++++++++++++++++ - 1 file changed, 33 insertions(+) - -diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -index 07e4f36..c35af5e 100644 ---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi -+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -272,6 +272,14 @@ - interrupt-controller; - #interrupt-cells = <3>; - -+ emac_rgmii_pins: emac0@0 { -+ pins = "PD0", "PD1", "PD2", "PD3", "PD4", -+ "PD5", "PD7", "PD8", "PD9", "PD10", -+ "PD12", "PD13", "PD15", "PD16", "PD17"; -+ function = "emac"; -+ drive-strength = <40>; -+ }; -+ - i2c0_pins: i2c0 { - pins = "PA11", "PA12"; - function = "i2c0"; -@@ -368,6 +376,31 @@ - clocks = <&osc24M>; - }; - -+ emac: ethernet@1c30000 { -+ compatible = "allwinner,sun8i-h3-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c30000 0x104>; -+ interrupts = ; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "disabled"; -+ -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ int_mii_phy: ethernet-phy@1 { -+ reg = <1>; -+ clocks = <&ccu CLK_BUS_EPHY>; -+ resets = <&ccu RST_BUS_EPHY>; -+ }; -+ }; -+ }; -+ - spi0: spi@01c68000 { - compatible = "allwinner,sun8i-h3-spi"; - reg = <0x01c68000 0x1000>; -From patchwork Tue Mar 14 14:18:44 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,08/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Banana Pi M2+ -From: Corentin LABBE -X-Patchwork-Id: 9623539 -Message-Id: <20170314141856.24560-9-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, LABBE Corentin , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:44 +0100 - -From: LABBE Corentin - -The dwmac-sun8i hardware is present on the Banana Pi M2+ -It uses an external PHY rtl8211e via RGMII. - -This patch create the needed regulator, emac and phy nodes. - -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 37 +++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -index 52acbe1..30b0a41 100644 ---- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -@@ -90,6 +90,18 @@ - pinctrl-0 = <&wifi_en_bpi_m2p>; - reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ - }; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac_power_pin_orangepi>; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; - }; - - &ehci1 { -@@ -186,3 +198,28 @@ - /* USB VBUS is on as long as VCC-IO is on */ - status = "okay"; - }; -+ -+&pio { -+ gmac_power_pin_orangepi: gmac_power_pin@0 { -+ pins = "PD6"; -+ function = "gpio_out"; -+ drive-strength = <10>; -+ }; -+}; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <0>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -From patchwork Tue Mar 14 14:18:45 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,09/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI PC -From: Corentin LABBE -X-Patchwork-Id: 9623555 -Message-Id: <20170314141856.24560-10-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, LABBE Corentin , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:45 +0100 - -From: LABBE Corentin - -The dwmac-sun8i hardware is present on the Orange PI PC. -It uses the internal PHY. - -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -index f148111..746c25a 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -@@ -53,6 +53,7 @@ - - aliases { - serial0 = &uart0; -+ ethernet0 = &emac; - }; - - chosen { -@@ -184,3 +185,10 @@ - /* USB VBUS is always on */ - status = "okay"; - }; -+ -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -From patchwork Tue Mar 14 14:18:46 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,10/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi 2 -From: Corentin LABBE -X-Patchwork-Id: 9623557 -Message-Id: <20170314141856.24560-11-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:46 +0100 - -The dwmac-sun8i hardware is present on the Orange PI 2. -It uses the internal PHY. - -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -index 5b6d145..3f54b12 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -@@ -55,6 +55,7 @@ - serial0 = &uart0; - /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ - ethernet1 = &rtl8189; -+ ethernet0 = &emac; - }; - - chosen { -@@ -203,3 +204,10 @@ - usb1_vbus-supply = <®_usb1_vbus>; - status = "okay"; - }; -+ -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -From patchwork Tue Mar 14 14:18:47 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,11/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI One -From: Corentin LABBE -X-Patchwork-Id: 9623541 -Message-Id: <20170314141856.24560-12-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:47 +0100 - -The dwmac-sun8i hardware is present on the Orange PI One. -It uses the internal PHY. - -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -index ea8fd13..1f98ddc 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -@@ -53,6 +53,7 @@ - - aliases { - serial0 = &uart0; -+ ethernet0 = &emac; - }; - - chosen { -@@ -93,6 +94,13 @@ - status = "okay"; - }; - -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; -From patchwork Tue Mar 14 14:18:48 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,12/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi plus -From: Corentin LABBE -X-Patchwork-Id: 9623569 -Message-Id: <20170314141856.24560-13-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:48 +0100 - -The dwmac-sun8i hardware is present on the Orange PI plus. -It uses an external PHY rtl8211e via RGMII. - -This patch create the needed regulator, emac and phy nodes. - -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 35 ++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -index 8c40ab7..4e075a2 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -@@ -58,6 +58,18 @@ - enable-active-high; - gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; - }; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac_power_pin_orangepi>; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; - }; - - &ehci3 { -@@ -86,8 +98,31 @@ - pins = "PG11"; - function = "gpio_out"; - }; -+ -+ gmac_power_pin_orangepi: gmac_power_pin@0 { -+ pins = "PD6"; -+ function = "gpio_out"; -+ drive-strength = <10>; -+ }; - }; - - &usbphy { - usb3_vbus-supply = <®_usb3_vbus>; - }; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <0>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -From patchwork Tue Mar 14 14:18:49 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2, - 13/20] ARM: dts: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to - active high -From: Corentin LABBE -X-Patchwork-Id: 9623593 -Message-Id: <20170314141856.24560-14-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:49 +0100 - -On the Orange Pi PC Plus, the polarity of the LEDs on the RJ45 Ethernet -port were changed from active low to active high. - -Signed-off-by: Chen-Yu Tsai -Signed-off-by: Corentin Labbe ---- - arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -index 8b93f5c..0380769 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -@@ -86,3 +86,8 @@ - /* eMMC is missing pull-ups */ - bias-pull-up; - }; -+ -+&emac { -+ /* LEDs changed to active high on the plus */ -+ /delete-property/ allwinner,leds-active-low; -+}; -From patchwork Tue Mar 14 14:18:50 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2, 14/20] ARM64: dts: sun50i-a64: Add dt node for the syscon control - module -From: Corentin LABBE -X-Patchwork-Id: 9623591 -Message-Id: <20170314141856.24560-15-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:50 +0100 - -This patch add the dt node for the syscon register present on the -Allwinner A64. - -Only two register are present in this syscon and the only one useful is -the one dedicated to EMAC clock. - -Signed-off-by: Corentin Labbe ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 1c64ea2..3b09af2 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -121,6 +121,12 @@ - #size-cells = <1>; - ranges; - -+ syscon: syscon@01c00000 { -+ compatible = "syscon", -+ "allwinner,sun8i-h3-system-controller"; -+ reg = <0x01c00000 0x1000>; -+ }; -+ - mmc0: mmc@1c0f000 { - compatible = "allwinner,sun50i-a64-mmc"; - reg = <0x01c0f000 0x1000>; -From patchwork Tue Mar 14 14:18:51 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,15/20] ARM64: dts: sun50i-a64: add dwmac-sun8i Ethernet driver -From: Corentin LABBE -X-Patchwork-Id: 9623621 -Message-Id: <20170314141856.24560-16-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:51 +0100 - -The dwmac-sun8i is an Ethernet MAC that supports 10/100/1000 Mbit -connections. It is very similar to the device found in the Allwinner -H3, but lacks the internal 100 Mbit PHY and its associated control -bits. -This adds the necessary bits to the Allwinner A64 SoC .dtsi, but keeps -it disabled at this level. - -Signed-off-by: Corentin Labbe ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 37 +++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 3b09af2..57d69e5 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -277,6 +277,23 @@ - bias-pull-up; - }; - -+ rmii_pins: rmii_pins { -+ pins = "PD10", "PD11", "PD13", "PD14", -+ "PD17", "PD18", "PD19", "PD20", -+ "PD22", "PD23"; -+ function = "emac"; -+ drive-strength = <40>; -+ }; -+ -+ rgmii_pins: rgmii_pins { -+ pins = "PD8", "PD9", "PD10", "PD11", -+ "PD12", "PD13", "PD15", -+ "PD16", "PD17", "PD18", "PD19", -+ "PD20", "PD21", "PD22", "PD23"; -+ function = "emac"; -+ drive-strength = <40>; -+ }; -+ - uart0_pins_a: uart0@0 { - pins = "PB8", "PB9"; - function = "uart0"; -@@ -381,6 +398,26 @@ - #size-cells = <0>; - }; - -+ emac: ethernet@1c30000 { -+ compatible = "allwinner,sun50i-a64-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c30000 0x100>; -+ interrupts = ; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ }; -+ - gic: interrupt-controller@1c81000 { - compatible = "arm,gic-400"; - reg = <0x01c81000 0x1000>, -From patchwork Tue Mar 14 14:18:52 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,16/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64 -From: Corentin LABBE -X-Patchwork-Id: 9623607 -Message-Id: <20170314141856.24560-17-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:52 +0100 - -The dwmac-sun8i hardware is present on the pine64 -It uses an external PHY via RMII. - -Signed-off-by: Corentin Labbe ---- - arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -index c680ed3..b53994d 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -@@ -109,3 +109,18 @@ - &usbphy { - status = "okay"; - }; -+ -+&mdio { -+ ext_rmii_phy1: ethernet-phy@1 { -+ reg = <1>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rmii_pins>; -+ phy-mode = "rmii"; -+ phy-handle = <&ext_rmii_phy1>; -+ status = "okay"; -+ -+}; -From patchwork Tue Mar 14 14:18:53 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,17/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64 plus -From: Corentin LABBE -X-Patchwork-Id: 9623597 -Message-Id: <20170314141856.24560-18-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:53 +0100 - -The dwmac-sun8i hardware is present on the pine64 plus. -It uses an external PHY rtl8211e via RGMII. - -Signed-off-by: Corentin Labbe ---- - arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -index 790d14d..8e06aed 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -@@ -46,5 +46,19 @@ - model = "Pine64+"; - compatible = "pine64,pine64-plus", "allwinner,sun50i-a64"; - -- /* TODO: Camera, Ethernet PHY, touchscreen, etc. */ -+ /* TODO: Camera, touchscreen, etc. */ -+}; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <1>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rgmii_pins>; -+ phy-mode = "rgmii"; -+ phy-handle = <&ext_rgmii_phy>; -+ status = "okay"; - }; -From patchwork Tue Mar 14 14:18:54 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2, - 18/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on the BananaPi M64 -From: Corentin LABBE -X-Patchwork-Id: 9623595 -Message-Id: <20170314141856.24560-19-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, - davem@davemloft.net -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, Corentin Labbe , - linux-arm-kernel@lists.infradead.org -Date: Tue, 14 Mar 2017 15:18:54 +0100 - -The dwmac-sun8i hardware is present on the BananaPi M64. -It uses an external PHY rtl8211e via RGMII. - -Signed-off-by: Corentin Labbe ---- - arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -index 6872135..347c262 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -@@ -77,6 +77,20 @@ - bias-pull-up; - }; - -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ reg = <1>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rgmii_pins>; -+ phy-mode = "rgmii"; -+ phy-handle = <&ext_rgmii_phy>; -+ status = "okay"; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins>; diff --git a/CVE-2017-7477.patch b/CVE-2017-7477.patch deleted file mode 100644 index 6405614cc..000000000 --- a/CVE-2017-7477.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 4d6fa57b4dab0d77f4d8e9d9c73d1e63f6fe8fee Mon Sep 17 00:00:00 2001 -From: "Jason A. Donenfeld" -Date: Fri, 21 Apr 2017 23:14:48 +0200 -Subject: macsec: avoid heap overflow in skb_to_sgvec - -While this may appear as a humdrum one line change, it's actually quite -important. An sk_buff stores data in three places: - -1. A linear chunk of allocated memory in skb->data. This is the easiest - one to work with, but it precludes using scatterdata since the memory - must be linear. -2. The array skb_shinfo(skb)->frags, which is of maximum length - MAX_SKB_FRAGS. This is nice for scattergather, since these fragments - can point to different pages. -3. skb_shinfo(skb)->frag_list, which is a pointer to another sk_buff, - which in turn can have data in either (1) or (2). - -The first two are rather easy to deal with, since they're of a fixed -maximum length, while the third one is not, since there can be -potentially limitless chains of fragments. Fortunately dealing with -frag_list is opt-in for drivers, so drivers don't actually have to deal -with this mess. For whatever reason, macsec decided it wanted pain, and -so it explicitly specified NETIF_F_FRAGLIST. - -Because dealing with (1), (2), and (3) is insane, most users of sk_buff -doing any sort of crypto or paging operation calls a convenient function -called skb_to_sgvec (which happens to be recursive if (3) is in use!). -This takes a sk_buff as input, and writes into its output pointer an -array of scattergather list items. Sometimes people like to declare a -fixed size scattergather list on the stack; othertimes people like to -allocate a fixed size scattergather list on the heap. However, if you're -doing it in a fixed-size fashion, you really shouldn't be using -NETIF_F_FRAGLIST too (unless you're also ensuring the sk_buff and its -frag_list children arent't shared and then you check the number of -fragments in total required.) - -Macsec specifically does this: - - size += sizeof(struct scatterlist) * (MAX_SKB_FRAGS + 1); - tmp = kmalloc(size, GFP_ATOMIC); - *sg = (struct scatterlist *)(tmp + sg_offset); - ... - sg_init_table(sg, MAX_SKB_FRAGS + 1); - skb_to_sgvec(skb, sg, 0, skb->len); - -Specifying MAX_SKB_FRAGS + 1 is the right answer usually, but not if you're -using NETIF_F_FRAGLIST, in which case the call to skb_to_sgvec will -overflow the heap, and disaster ensues. - -Signed-off-by: Jason A. Donenfeld -Cc: stable@vger.kernel.org -Cc: security@kernel.org -Signed-off-by: David S. Miller ---- - drivers/net/macsec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c -index ff0a5ed..dbab05a 100644 ---- a/drivers/net/macsec.c -+++ b/drivers/net/macsec.c -@@ -2716,7 +2716,7 @@ static netdev_tx_t macsec_start_xmit(struct sk_buff *skb, - } - - #define MACSEC_FEATURES \ -- (NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST) -+ (NETIF_F_SG | NETIF_F_HIGHDMA) - static struct lock_class_key macsec_netdev_addr_lock_key; - - static int macsec_dev_init(struct net_device *dev) --- -cgit v1.1 - diff --git a/CVE-2017-7645.patch b/CVE-2017-7645.patch deleted file mode 100644 index 0be019cc3..000000000 --- a/CVE-2017-7645.patch +++ /dev/null @@ -1,180 +0,0 @@ -From: "J. Bruce Fields" -Date: 2017-04-14 15:04:40 -Subject: [PATCH] nfsd: check for oversized NFSv2/v3 arguments - -A client can append random data to the end of an NFSv2 or NFSv3 RPC call -without our complaining; we'll just stop parsing at the end of the -expected data and ignore the rest. - -Encoded arguments and replies are stored together in an array of pages, -and if a call is too large it could leave inadequate space for the -reply. This is normally OK because NFS RPC's typically have either -short arguments and long replies (like READ) or long arguments and short -replies (like WRITE). But a client that sends an incorrectly long reply -can violate those assumptions. This was observed to cause crashes. - -So, insist that the argument not be any longer than we expect. - -Also, several operations increment rq_next_page in the decode routine -before checking the argument size, which can leave rq_next_page pointing -well past the end of the page array, causing trouble later in -svc_free_pages. - -As followup we may also want to rewrite the encoding routines to check -more carefully that they aren't running off the end of the page array. - -Reported-by: Tuomas Haanpää -Reported-by: Ari Kauppi -Cc: stable@vger.kernel.org -Signed-off-by: J. Bruce Fields ---- - fs/nfsd/nfs3xdr.c | 23 +++++++++++++++++------ - fs/nfsd/nfsxdr.c | 13 ++++++++++--- - include/linux/sunrpc/svc.h | 3 +-- - 3 files changed, 28 insertions(+), 11 deletions(-) - -diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c -index dba2ff8eaa68..be66bcadfaea 100644 ---- a/fs/nfsd/nfs3xdr.c -+++ b/fs/nfsd/nfs3xdr.c -@@ -334,8 +334,11 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - if (!p) - return 0; - p = xdr_decode_hyper(p, &args->offset); -- - args->count = ntohl(*p++); -+ -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - len = min(args->count, max_blocksize); - - /* set up the kvec */ -@@ -349,7 +352,7 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - v++; - } - args->vlen = v; -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -536,9 +539,11 @@ nfs3svc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, - p = decode_fh(p, &args->fh); - if (!p) - return 0; -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -564,10 +569,14 @@ nfs3svc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, - args->verf = p; p += 2; - args->dircount = ~0; - args->count = ntohl(*p++); -+ -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - args->count = min_t(u32, args->count, PAGE_SIZE); - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -585,6 +594,9 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p, - args->dircount = ntohl(*p++); - args->count = ntohl(*p++); - -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - len = args->count = min(args->count, max_blocksize); - while (len > 0) { - struct page *p = *(rqstp->rq_next_page++); -@@ -592,8 +604,7 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p, - args->buffer = page_address(p); - len -= PAGE_SIZE; - } -- -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c -index 41b468a6a90f..79268369f7b3 100644 ---- a/fs/nfsd/nfsxdr.c -+++ b/fs/nfsd/nfsxdr.c -@@ -257,6 +257,9 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - len = args->count = ntohl(*p++); - p++; /* totalcount - unused */ - -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; -+ - len = min_t(unsigned int, len, NFSSVC_MAXBLKSIZE_V2); - - /* set up somewhere to store response. -@@ -272,7 +275,7 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, - v++; - } - args->vlen = v; -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -360,9 +363,11 @@ nfssvc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd_readli - p = decode_fh(p, &args->fh); - if (!p) - return 0; -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - int -@@ -400,9 +405,11 @@ nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, - args->cookie = ntohl(*p++); - args->count = ntohl(*p++); - args->count = min_t(u32, args->count, PAGE_SIZE); -+ if (!xdr_argsize_check(rqstp, p)) -+ return 0; - args->buffer = page_address(*(rqstp->rq_next_page++)); - -- return xdr_argsize_check(rqstp, p); -+ return 1; - } - - /* -diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h -index e770abeed32d..6ef19cf658b4 100644 ---- a/include/linux/sunrpc/svc.h -+++ b/include/linux/sunrpc/svc.h -@@ -336,8 +336,7 @@ xdr_argsize_check(struct svc_rqst *rqstp, __be32 *p) - { - char *cp = (char *)p; - struct kvec *vec = &rqstp->rq_arg.head[0]; -- return cp >= (char*)vec->iov_base -- && cp <= (char*)vec->iov_base + vec->iov_len; -+ return cp == (char *)vec->iov_base + vec->iov_len; - } - - static inline int --- -2.9.3 - --- -To unsubscribe from this list: send the line "unsubscribe linux-nfs" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/Fix-for-module-sig-verification.patch b/Fix-for-module-sig-verification.patch new file mode 100644 index 000000000..3a5de65eb --- /dev/null +++ b/Fix-for-module-sig-verification.patch @@ -0,0 +1,24 @@ +From ea6e7d9d0fe3e448aef19b3943d4897ae0bef128 Mon Sep 17 00:00:00 2001 +From: Fedora Kernel Team +Date: Thu, 3 Aug 2017 13:46:51 -0500 +Subject: [PATCH] Fix for module sig verification + +--- + kernel/module_signing.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kernel/module_signing.c b/kernel/module_signing.c +index 937c844..d3d6f95 100644 +--- a/kernel/module_signing.c ++++ b/kernel/module_signing.c +@@ -81,6 +81,6 @@ int mod_verify_sig(const void *mod, unsigned long *_modlen) + } + + return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, +- NULL, VERIFYING_MODULE_SIGNATURE, ++ (void *)1UL, VERIFYING_MODULE_SIGNATURE, + NULL, NULL); + } +-- +2.13.3 + diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch deleted file mode 100644 index 262c960b8..000000000 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 2a54526850121cd0d7cf649a321488b4dab5731d Mon Sep 17 00:00:00 2001 -From: Josh Boyer -Date: Fri, 26 Oct 2012 12:36:24 -0400 -Subject: [PATCH 17/20] KEYS: Add a system blacklist keyring - -This adds an additional keyring that is used to store certificates that -are blacklisted. This keyring is searched first when loading signed modules -and if the module's certificate is found, it will refuse to load. This is -useful in cases where third party certificates are used for module signing. - -Signed-off-by: Josh Boyer ---- - certs/system_keyring.c | 22 ++++++++++++++++++++++ - include/keys/system_keyring.h | 4 ++++ - init/Kconfig | 9 +++++++++ - 3 files changed, 35 insertions(+) - -diff --git a/certs/system_keyring.c b/certs/system_keyring.c -index 50979d6dcecd..787eeead2f57 100644 ---- a/certs/system_keyring.c -+++ b/certs/system_keyring.c -@@ -22,6 +22,9 @@ static struct key *builtin_trusted_keys; - #ifdef CONFIG_SECONDARY_TRUSTED_KEYRING - static struct key *secondary_trusted_keys; - #endif -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+struct key *system_blacklist_keyring; -+#endif - - extern __initconst const u8 system_certificate_list[]; - extern __initconst const unsigned long system_certificate_list_size; -@@ -99,6 +102,16 @@ static __init int system_trusted_keyring_init(void) - if (key_link(secondary_trusted_keys, builtin_trusted_keys) < 0) - panic("Can't link trusted keyrings\n"); - #endif -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+ system_blacklist_keyring = keyring_alloc(".system_blacklist_keyring", -+ KUIDT_INIT(0), KGIDT_INIT(0), current_cred(), -+ ((KEY_POS_ALL & ~KEY_POS_SETATTR) | -+ KEY_USR_VIEW | KEY_USR_READ | KEY_USR_SEARCH), -+ KEY_ALLOC_NOT_IN_QUOTA, -+ NULL, NULL); -+ if (IS_ERR(system_blacklist_keyring)) -+ panic("Can't allocate system blacklist keyring\n"); -+#endif - - return 0; - } -@@ -214,6 +227,15 @@ int verify_pkcs7_signature(const void *data, size_t len, - trusted_keys = builtin_trusted_keys; - #endif - } -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+ ret = pkcs7_validate_trust(pkcs7, system_blacklist_keyring); -+ if (!ret) { -+ /* module is signed with a cert in the blacklist. reject */ -+ pr_err("Module key is in the blacklist\n"); -+ ret = -EKEYREJECTED; -+ goto error; -+ } -+#endif - ret = pkcs7_validate_trust(pkcs7, trusted_keys); - if (ret < 0) { - if (ret == -ENOKEY) -diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h -index fbd4647767e9..5bc291a3d261 100644 ---- a/include/keys/system_keyring.h -+++ b/include/keys/system_keyring.h -@@ -33,6 +33,10 @@ extern int restrict_link_by_builtin_and_secondary_trusted( - #define restrict_link_by_builtin_and_secondary_trusted restrict_link_by_builtin_trusted - #endif - -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+extern struct key *system_blacklist_keyring; -+#endif -+ - #ifdef CONFIG_IMA_BLACKLIST_KEYRING - extern struct key *ima_blacklist_keyring; - -diff --git a/init/Kconfig b/init/Kconfig -index 34407f15e6d3..461ad575a608 100644 ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -1859,6 +1859,15 @@ config SYSTEM_DATA_VERIFICATION - module verification, kexec image verification and firmware blob - verification. - -+config SYSTEM_BLACKLIST_KEYRING -+ bool "Provide system-wide ring of blacklisted keys" -+ depends on KEYS -+ help -+ Provide a system keyring to which blacklisted keys can be added. -+ Keys in the keyring are considered entirely untrusted. Keys in this -+ keyring are used by the module signature checking to reject loading -+ of modules signed with a blacklisted key. -+ - config PROFILING - bool "Profiling support" - help --- -2.9.3 - diff --git a/KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch b/KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch new file mode 100644 index 000000000..1cc1e5370 --- /dev/null +++ b/KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch @@ -0,0 +1,95 @@ +From fb2ac204a70da565de9ef9a9d6d69a40c2d59727 Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Fri, 5 May 2017 08:21:56 +0100 +Subject: [PATCH] KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + +Allow keys to be added to the system secondary certificates keyring during +kernel initialisation in an unrestricted fashion. Such keys are implicitly +trusted and don't have their trust chains checked on link. + +This allows keys in the UEFI database to be added in secure boot mode for +the purposes of module signing. + +Signed-off-by: David Howells +--- + certs/internal.h | 18 ++++++++++++++++++ + certs/system_keyring.c | 33 +++++++++++++++++++++++++++++++++ + 2 files changed, 51 insertions(+) + create mode 100644 certs/internal.h + +diff --git a/certs/internal.h b/certs/internal.h +new file mode 100644 +index 0000000..5dcbefb +--- /dev/null ++++ b/certs/internal.h +@@ -0,0 +1,18 @@ ++/* Internal definitions ++ * ++ * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved. ++ * Written by David Howells (dhowells@redhat.com) ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public Licence ++ * as published by the Free Software Foundation; either version ++ * 2 of the Licence, or (at your option) any later version. ++ */ ++ ++/* ++ * system_keyring.c ++ */ ++#ifdef CONFIG_SECONDARY_TRUSTED_KEYRING ++extern void __init add_trusted_secondary_key(const char *source, ++ const void *data, size_t len); ++#endif +diff --git a/certs/system_keyring.c b/certs/system_keyring.c +index 6251d1b..5ac8ba6 100644 +--- a/certs/system_keyring.c ++++ b/certs/system_keyring.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include "internal.h" + + static struct key *builtin_trusted_keys; + #ifdef CONFIG_SECONDARY_TRUSTED_KEYRING +@@ -265,3 +266,35 @@ int verify_pkcs7_signature(const void *data, size_t len, + EXPORT_SYMBOL_GPL(verify_pkcs7_signature); + + #endif /* CONFIG_SYSTEM_DATA_VERIFICATION */ ++ ++#ifdef CONFIG_SECONDARY_TRUSTED_KEYRING ++/** ++ * add_trusted_secondary_key - Add to secondary keyring with no validation ++ * @source: Source of key ++ * @data: The blob holding the key ++ * @len: The length of the data blob ++ * ++ * Add a key to the secondary keyring without checking its trust chain. This ++ * is available only during kernel initialisation. ++ */ ++void __init add_trusted_secondary_key(const char *source, ++ const void *data, size_t len) ++{ ++ key_ref_t key; ++ ++ key = key_create_or_update(make_key_ref(secondary_trusted_keys, 1), ++ "asymmetric", ++ NULL, data, len, ++ (KEY_POS_ALL & ~KEY_POS_SETATTR) | ++ KEY_USR_VIEW, ++ KEY_ALLOC_NOT_IN_QUOTA | ++ KEY_ALLOC_BYPASS_RESTRICTION); ++ ++ if (IS_ERR(key)) ++ pr_err("Problem loading %s X.509 certificate (%ld)\n", ++ source, PTR_ERR(key)); ++ else ++ pr_notice("Loaded %s cert '%s' linked to secondary sys keyring\n", ++ source, key_ref_to_ptr(key)->description); ++} ++#endif /* CONFIG_SECONDARY_TRUSTED_KEYRING */ +-- +2.9.3 + diff --git a/MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch b/MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch deleted file mode 100644 index 6f5d8b6ab..000000000 --- a/MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 71db1b222ecdf6cb4356f6f1e2bd45cd2f0e85e1 Mon Sep 17 00:00:00 2001 -From: Laura Abbott -Date: Tue, 18 Oct 2016 13:58:44 -0700 -Subject: [PATCH] MODSIGN: Don't try secure boot if EFI runtime is disabled - -Secure boot depends on having EFI runtime variable access. The code -does not handle a lack of runtime variables gracefully. Add a check -to just bail out of EFI runtime is disabled. - -Signed-off-by: Laura Abbott ---- - kernel/modsign_uefi.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/kernel/modsign_uefi.c b/kernel/modsign_uefi.c -index a41da14..2bdaf76 100644 ---- a/kernel/modsign_uefi.c -+++ b/kernel/modsign_uefi.c -@@ -71,6 +71,10 @@ static int __init load_uefi_certs(void) - if (!efi_enabled(EFI_SECURE_BOOT)) - return 0; - -+ /* Things blow up if efi runtime is disabled */ -+ if (efi_runtime_disabled()) -+ return 0; -+ - keyring = get_system_keyring(); - if (!keyring) { - pr_err("MODSIGN: Couldn't get system keyring\n"); --- -2.7.4 - diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index 76084d472..08195ff4e 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -1,7 +1,7 @@ -From 8a4535bcfe24d317be675e53cdc8c61d22fdc7f3 Mon Sep 17 00:00:00 2001 +From 90dc66270b02981b19a085c6a9184e3452b7b3e8 Mon Sep 17 00:00:00 2001 From: Josh Boyer -Date: Fri, 26 Oct 2012 12:42:16 -0400 -Subject: [PATCH 18/20] MODSIGN: Import certificates from UEFI Secure Boot +Date: Fri, 5 May 2017 08:21:59 +0100 +Subject: [PATCH 3/4] MODSIGN: Import certificates from UEFI Secure Boot Secure Boot stores a list of allowed certificates in the 'db' variable. This imports those certificates into the system trusted keyring. This @@ -11,104 +11,68 @@ variable, a user can allow a module signed with that certificate to load. The shim UEFI bootloader has a similar certificate list stored in the 'MokListRT' variable. We import those as well. -In the opposite case, Secure Boot maintains a list of disallowed -certificates in the 'dbx' variable. We load those certificates into -the newly introduced system blacklist keyring and forbid any module -signed with those from loading. +Secure Boot also maintains a list of disallowed certificates in the 'dbx' +variable. We load those certificates into the newly introduced system +blacklist keyring and forbid any module signed with those from loading and +forbid the use within the kernel of any key with a matching hash. + +This facility is enabled by setting CONFIG_LOAD_UEFI_KEYS. Signed-off-by: Josh Boyer +Signed-off-by: David Howells --- - certs/system_keyring.c | 13 ++++++ - include/keys/system_keyring.h | 1 + - init/Kconfig | 9 ++++ - kernel/Makefile | 3 ++ - kernel/modsign_uefi.c | 99 +++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 125 insertions(+) - create mode 100644 kernel/modsign_uefi.c + certs/Kconfig | 16 ++++++ + certs/Makefile | 4 ++ + certs/load_uefi.c | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 188 insertions(+) + create mode 100644 certs/load_uefi.c -diff --git a/certs/system_keyring.c b/certs/system_keyring.c -index 787eeead2f57..4d9123ed5c07 100644 ---- a/certs/system_keyring.c -+++ b/certs/system_keyring.c -@@ -30,6 +30,19 @@ extern __initconst const u8 system_certificate_list[]; - extern __initconst const unsigned long system_certificate_list_size; - - /** -+ * get_system_keyring - Return a pointer to the system keyring -+ * -+ */ -+struct key *get_system_keyring(void) -+{ -+ struct key *system_keyring = NULL; -+ -+ system_keyring = builtin_trusted_keys; -+ return system_keyring; -+} -+EXPORT_SYMBOL_GPL(get_system_keyring); -+ -+/** - * restrict_link_to_builtin_trusted - Restrict keyring addition by built in CA - * - * Restrict the addition of keys into a keyring based on the key-to-be-added -diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h -index 5bc291a3d261..56ff5715ab67 100644 ---- a/include/keys/system_keyring.h -+++ b/include/keys/system_keyring.h -@@ -36,6 +36,7 @@ extern int restrict_link_by_builtin_and_secondary_trusted( - #ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING - extern struct key *system_blacklist_keyring; - #endif -+extern struct key *get_system_keyring(void); - - #ifdef CONFIG_IMA_BLACKLIST_KEYRING - extern struct key *ima_blacklist_keyring; -diff --git a/init/Kconfig b/init/Kconfig -index 461ad575a608..93646fd7b1c8 100644 ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -2009,6 +2009,15 @@ config MODULE_SIG_ALL - comment "Do not forget to sign required modules with scripts/sign-file" - depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL - -+config MODULE_SIG_UEFI -+ bool "Allow modules signed with certs stored in UEFI" -+ depends on MODULE_SIG && SYSTEM_BLACKLIST_KEYRING && EFI -+ select EFI_SIGNATURE_LIST_PARSER +diff --git a/certs/Kconfig b/certs/Kconfig +index 630ae09..edf9f75 100644 +--- a/certs/Kconfig ++++ b/certs/Kconfig +@@ -90,4 +90,20 @@ config EFI_SIGNATURE_LIST_PARSER + This option provides support for parsing EFI signature lists for + X.509 certificates and turning them into keys. + ++config LOAD_UEFI_KEYS ++ bool "Load certs and blacklist from UEFI db for module checking" ++ depends on SYSTEM_BLACKLIST_KEYRING ++ depends on SECONDARY_TRUSTED_KEYRING ++ depends on EFI ++ depends on EFI_SIGNATURE_LIST_PARSER + help -+ This will import certificates stored in UEFI and allow modules -+ signed with those to be loaded. It will also disallow loading -+ of modules stored in the UEFI dbx variable. ++ If the kernel is booted in secure boot mode, this option will cause ++ the kernel to load the certificates from the UEFI db and MokListRT ++ into the secondary trusted keyring. It will also load any X.509 ++ SHA256 hashes in the dbx list into the blacklist. + - choice - prompt "Which hash algorithm should modules be signed with?" - depends on MODULE_SIG -diff --git a/kernel/Makefile b/kernel/Makefile -index eb26e12c6c2a..e0c2268cb97e 100644 ---- a/kernel/Makefile -+++ b/kernel/Makefile -@@ -57,6 +57,7 @@ endif - obj-$(CONFIG_UID16) += uid16.o - obj-$(CONFIG_MODULES) += module.o - obj-$(CONFIG_MODULE_SIG) += module_signing.o -+obj-$(CONFIG_MODULE_SIG_UEFI) += modsign_uefi.o - obj-$(CONFIG_KALLSYMS) += kallsyms.o - obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o - obj-$(CONFIG_KEXEC_CORE) += kexec_core.o -@@ -113,6 +114,8 @@ obj-$(CONFIG_MEMBARRIER) += membarrier.o - - obj-$(CONFIG_HAS_IOMEM) += memremap.o - -+$(obj)/modsign_uefi.o: KBUILD_CFLAGS += -fshort-wchar ++ The effect of this is that, if the kernel is booted in secure boot ++ mode, modules signed with UEFI-stored keys will be permitted to be ++ loaded and keys that match the blacklist will be rejected. + - $(obj)/configs.o: $(obj)/config_data.h - - targets += config_data.gz -diff --git a/kernel/modsign_uefi.c b/kernel/modsign_uefi.c + endmenu +diff --git a/certs/Makefile b/certs/Makefile +index 738151a..a5e057a 100644 +--- a/certs/Makefile ++++ b/certs/Makefile +@@ -11,6 +11,10 @@ obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist_nohashes.o + endif + obj-$(CONFIG_EFI_SIGNATURE_LIST_PARSER) += efi_parser.o + ++obj-$(CONFIG_LOAD_UEFI_KEYS) += load_uefi.o ++$(obj)/load_uefi.o: KBUILD_CFLAGS += -fshort-wchar ++ ++ + ifeq ($(CONFIG_SYSTEM_TRUSTED_KEYRING),y) + + $(eval $(call config_filename,SYSTEM_TRUSTED_KEYS)) +diff --git a/certs/load_uefi.c b/certs/load_uefi.c new file mode 100644 -index 000000000000..fe4a6f2bf10a +index 0000000..b44e464 --- /dev/null -+++ b/kernel/modsign_uefi.c -@@ -0,0 +1,99 @@ ++++ b/certs/load_uefi.c +@@ -0,0 +1,168 @@ +#include +#include +#include @@ -117,14 +81,22 @@ index 000000000000..fe4a6f2bf10a +#include +#include +#include -+#include "module-internal.h" ++#include "internal.h" + -+static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, unsigned long *size) ++static __initdata efi_guid_t efi_cert_x509_guid = EFI_CERT_X509_GUID; ++static __initdata efi_guid_t efi_cert_x509_sha256_guid = EFI_CERT_X509_SHA256_GUID; ++static __initdata efi_guid_t efi_cert_sha256_guid = EFI_CERT_SHA256_GUID; ++ ++/* ++ * Get a certificate list blob from the named EFI variable. ++ */ ++static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, ++ unsigned long *size) +{ + efi_status_t status; + unsigned long lsize = 4; + unsigned long tmpdb[4]; -+ void *db = NULL; ++ void *db; + + status = efi.get_variable(name, guid, NULL, &lsize, &tmpdb); + if (status != EFI_BUFFER_TOO_SMALL) { @@ -135,23 +107,89 @@ index 000000000000..fe4a6f2bf10a + db = kmalloc(lsize, GFP_KERNEL); + if (!db) { + pr_err("Couldn't allocate memory for uefi cert list\n"); -+ goto out; ++ return NULL; + } + + status = efi.get_variable(name, guid, NULL, &lsize, db); + if (status != EFI_SUCCESS) { + kfree(db); -+ db = NULL; + pr_err("Error reading db var: 0x%lx\n", status); ++ return NULL; + } -+out: ++ + *size = lsize; + return db; +} + +/* -+ * * Load the certs contained in the UEFI databases -+ * */ ++ * Blacklist an X509 TBS hash. ++ */ ++static __init void uefi_blacklist_x509_tbs(const char *source, ++ const void *data, size_t len) ++{ ++ char *hash, *p; ++ ++ hash = kmalloc(4 + len * 2 + 1, GFP_KERNEL); ++ if (!hash) ++ return; ++ p = memcpy(hash, "tbs:", 4); ++ p += 4; ++ bin2hex(p, data, len); ++ p += len * 2; ++ *p = 0; ++ ++ mark_hash_blacklisted(hash); ++ kfree(hash); ++} ++ ++/* ++ * Blacklist the hash of an executable. ++ */ ++static __init void uefi_blacklist_binary(const char *source, ++ const void *data, size_t len) ++{ ++ char *hash, *p; ++ ++ hash = kmalloc(4 + len * 2 + 1, GFP_KERNEL); ++ if (!hash) ++ return; ++ p = memcpy(hash, "bin:", 4); ++ p += 4; ++ bin2hex(p, data, len); ++ p += len * 2; ++ *p = 0; ++ ++ mark_hash_blacklisted(hash); ++ kfree(hash); ++} ++ ++/* ++ * Return the appropriate handler for particular signature list types found in ++ * the UEFI db and MokListRT tables. ++ */ ++static __init efi_element_handler_t get_handler_for_db(const efi_guid_t *sig_type) ++{ ++ if (efi_guidcmp(*sig_type, efi_cert_x509_guid) == 0) ++ return add_trusted_secondary_key; ++ return 0; ++} ++ ++/* ++ * Return the appropriate handler for particular signature list types found in ++ * the UEFI dbx and MokListXRT tables. ++ */ ++static __init efi_element_handler_t get_handler_for_dbx(const efi_guid_t *sig_type) ++{ ++ if (efi_guidcmp(*sig_type, efi_cert_x509_sha256_guid) == 0) ++ return uefi_blacklist_x509_tbs; ++ if (efi_guidcmp(*sig_type, efi_cert_sha256_guid) == 0) ++ return uefi_blacklist_binary; ++ return 0; ++} ++ ++/* ++ * Load the certs contained in the UEFI databases ++ */ +static int __init load_uefi_certs(void) +{ + efi_guid_t secure_var = EFI_IMAGE_SECURITY_DATABASE_GUID; @@ -159,17 +197,9 @@ index 000000000000..fe4a6f2bf10a + void *db = NULL, *dbx = NULL, *mok = NULL; + unsigned long dbsize = 0, dbxsize = 0, moksize = 0; + int rc = 0; -+ struct key *keyring = NULL; + -+ /* Check if SB is enabled and just return if not */ -+ if (!efi_enabled(EFI_SECURE_BOOT)) -+ return 0; -+ -+ keyring = get_system_keyring(); -+ if (!keyring) { -+ pr_err("MODSIGN: Couldn't get system keyring\n"); -+ return -EINVAL; -+ } ++ if (!efi.get_variable) ++ return false; + + /* Get db, MokListRT, and dbx. They might not exist, so it isn't + * an error if we can't get them. @@ -178,7 +208,8 @@ index 000000000000..fe4a6f2bf10a + if (!db) { + pr_err("MODSIGN: Couldn't get UEFI db list\n"); + } else { -+ rc = parse_efi_signature_list(db, dbsize, keyring); ++ rc = parse_efi_signature_list("UEFI:db", ++ db, dbsize, get_handler_for_db); + if (rc) + pr_err("Couldn't parse db signatures: %d\n", rc); + kfree(db); @@ -188,7 +219,8 @@ index 000000000000..fe4a6f2bf10a + if (!mok) { + pr_info("MODSIGN: Couldn't get UEFI MokListRT\n"); + } else { -+ rc = parse_efi_signature_list(mok, moksize, keyring); ++ rc = parse_efi_signature_list("UEFI:MokListRT", ++ mok, moksize, get_handler_for_db); + if (rc) + pr_err("Couldn't parse MokListRT signatures: %d\n", rc); + kfree(mok); @@ -198,8 +230,9 @@ index 000000000000..fe4a6f2bf10a + if (!dbx) { + pr_info("MODSIGN: Couldn't get UEFI dbx list\n"); + } else { -+ rc = parse_efi_signature_list(dbx, dbxsize, -+ system_blacklist_keyring); ++ rc = parse_efi_signature_list("UEFI:dbx", ++ dbx, dbxsize, ++ get_handler_for_dbx); + if (rc) + pr_err("Couldn't parse dbx signatures: %d\n", rc); + kfree(dbx); diff --git a/MODSIGN-Support-not-importing-certs-from-db.patch b/MODSIGN-Support-not-importing-certs-from-db.patch index d7087b5e7..13fecd2f2 100644 --- a/MODSIGN-Support-not-importing-certs-from-db.patch +++ b/MODSIGN-Support-not-importing-certs-from-db.patch @@ -1,62 +1,62 @@ -From 9d2e5c61d5adcf7911f67ed44a1b0ff881f175bb Mon Sep 17 00:00:00 2001 +From 9f1958a0cc911e1f79b2733ee5029dbd819ff328 Mon Sep 17 00:00:00 2001 From: Josh Boyer -Date: Thu, 3 Oct 2013 10:14:23 -0400 -Subject: [PATCH 19/20] MODSIGN: Support not importing certs from db +Date: Fri, 5 May 2017 08:21:59 +0100 +Subject: [PATCH 4/4] MODSIGN: Allow the "db" UEFI variable to be suppressed If a user tells shim to not use the certs/hashes in the UEFI db variable -for verification purposes, shim will set a UEFI variable called MokIgnoreDB. -Have the uefi import code look for this and not import things from the db -variable. +for verification purposes, shim will set a UEFI variable called +MokIgnoreDB. Have the uefi import code look for this and ignore the db +variable if it is found. Signed-off-by: Josh Boyer +Signed-off-by: David Howells --- - kernel/modsign_uefi.c | 40 +++++++++++++++++++++++++++++++--------- - 1 file changed, 31 insertions(+), 9 deletions(-) + certs/load_uefi.c | 44 ++++++++++++++++++++++++++++++++++---------- + 1 file changed, 34 insertions(+), 10 deletions(-) -diff --git a/kernel/modsign_uefi.c b/kernel/modsign_uefi.c -index fe4a6f2bf10a..a41da14b1ffd 100644 ---- a/kernel/modsign_uefi.c -+++ b/kernel/modsign_uefi.c -@@ -8,6 +8,23 @@ - #include - #include "module-internal.h" - -+static __init int check_ignore_db(void) +diff --git a/certs/load_uefi.c b/certs/load_uefi.c +index b44e464..3d88459 100644 +--- a/certs/load_uefi.c ++++ b/certs/load_uefi.c +@@ -13,6 +13,26 @@ static __initdata efi_guid_t efi_cert_x509_sha256_guid = EFI_CERT_X509_SHA256_GU + static __initdata efi_guid_t efi_cert_sha256_guid = EFI_CERT_SHA256_GUID; + + /* ++ * Look to see if a UEFI variable called MokIgnoreDB exists and return true if ++ * it does. ++ * ++ * This UEFI variable is set by the shim if a user tells the shim to not use ++ * the certs/hashes in the UEFI db variable for verification purposes. If it ++ * is set, we should ignore the db variable also and the true return indicates ++ * this. ++ */ ++static __init bool uefi_check_ignore_db(void) +{ + efi_status_t status; + unsigned int db = 0; + unsigned long size = sizeof(db); + efi_guid_t guid = EFI_SHIM_LOCK_GUID; + -+ /* Check and see if the MokIgnoreDB variable exists. If that fails -+ * then we don't ignore DB. If it succeeds, we do. -+ */ + status = efi.get_variable(L"MokIgnoreDB", &guid, NULL, &size, &db); -+ if (status != EFI_SUCCESS) -+ return 0; -+ -+ return 1; ++ return status == EFI_SUCCESS; +} + - static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, unsigned long *size) ++/* + * Get a certificate list blob from the named EFI variable. + */ + static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, +@@ -113,7 +133,9 @@ static __init efi_element_handler_t get_handler_for_dbx(const efi_guid_t *sig_ty + } + + /* +- * Load the certs contained in the UEFI databases ++ * Load the certs contained in the UEFI databases into the secondary trusted ++ * keyring and the UEFI blacklisted X.509 cert SHA256 hashes into the blacklist ++ * keyring. + */ + static int __init load_uefi_certs(void) { - efi_status_t status; -@@ -47,7 +64,7 @@ static int __init load_uefi_certs(void) - efi_guid_t mok_var = EFI_SHIM_LOCK_GUID; - void *db = NULL, *dbx = NULL, *mok = NULL; - unsigned long dbsize = 0, dbxsize = 0, moksize = 0; -- int rc = 0; -+ int ignore_db, rc = 0; - struct key *keyring = NULL; - - /* Check if SB is enabled and just return if not */ -@@ -60,17 +77,22 @@ static int __init load_uefi_certs(void) - return -EINVAL; - } - -+ /* See if the user has setup Ignore DB mode */ -+ ignore_db = check_ignore_db(); -+ +@@ -129,15 +151,17 @@ static int __init load_uefi_certs(void) /* Get db, MokListRT, and dbx. They might not exist, so it isn't * an error if we can't get them. */ @@ -64,22 +64,24 @@ index fe4a6f2bf10a..a41da14b1ffd 100644 - if (!db) { - pr_err("MODSIGN: Couldn't get UEFI db list\n"); - } else { -- rc = parse_efi_signature_list(db, dbsize, keyring); +- rc = parse_efi_signature_list("UEFI:db", +- db, dbsize, get_handler_for_db); - if (rc) - pr_err("Couldn't parse db signatures: %d\n", rc); - kfree(db); -+ if (!ignore_db) { ++ if (!uefi_check_ignore_db()) { + db = get_cert_list(L"db", &secure_var, &dbsize); + if (!db) { + pr_err("MODSIGN: Couldn't get UEFI db list\n"); + } else { -+ rc = parse_efi_signature_list(db, dbsize, keyring); ++ rc = parse_efi_signature_list("UEFI:db", ++ db, dbsize, get_handler_for_db); + if (rc) + pr_err("Couldn't parse db signatures: %d\n", rc); + kfree(db); + } } - + mok = get_cert_list(L"MokListRT", &mok_var, &moksize); -- 2.9.3 diff --git a/README.txt b/README.txt index 516119838..6195bb56d 100644 --- a/README.txt +++ b/README.txt @@ -31,29 +31,30 @@ by make verrel config heirarchy. ----------------- Instead of having to maintain a config file for every arch variant we build on, -the kernel spec uses a nested system of configs. Each option CONFIG_FOO is -represented by a single file named CONFIG_FOO which contains the state (=y, =m, -=n). These options are collected in the folder baseconfig. Architecture specifi -options are set in nested folders. An option set in a nested folder will -override the same option set in one of the higher levels. +the kernel spec uses a nested system of configs. At the top level, is +config-generic. Add options here that should be present in every possible +config on all architectures. -The individual CONFIG_FOO files only exist in the pkg-git repository. The RPM -contains kernel-foo.config files which are the result of combining all the -CONFIG_FOO files. The files are combined by running build_configs.sh. This -script _must_ be run each time one of the options is changed. +Beneath this are per-arch overrides. For example config-x86-generic add +additional x86 specific options, and also _override_ any options that were +set in config-generic. -Example flow: +The heirarchy looks like this.. -# Enable the option CONFIG_ABC123 as a module for all arches -echo "CONFIG_ABC123=m" > baseconfig/CONFIG_ABC1234 -# enable the option CONFIG_XYZ321 for only x86 -echo "# CONFIG_XYZ321 is not set" > baseconfig/CONFIG_XYZ321 -echo "CONFIG_XYZ321=m" > baseconfig/x86/CONFIG_XYZ321 -# regenerate the combined config files -./build_configs.sh + config-generic + | + config-x86-generic + | | + config-x86-32-generic config-x86-64-generic + +An option set in a lower level will override the same option set in one +of the higher levels. + + +There exist two additional overrides, config-debug, and config-nodebug, +which override -generic, and the per-arch overrides. It is documented +further below. -The file config_generation gives a listing of what folders go into each -config file generated. debug options. -------------- @@ -68,11 +69,14 @@ typically been run already, which sets up the following.. If we are building for rawhide, 'make debug' has been run, which changes the status quo to: - We only build one kernel 'kernel' -- The debug options are always turned on. +- The debug options from 'config-debug' are always turned on. This is done to increase coverage testing, as not many people actually run kernel-debug. -The debug options are managed in a separate heierarchy under debugconfig. This -works in a similar manner to baseconfig. More deeply nested folders, again, -override options. The file config_generation gives a listing of what folders -go into each config file generated. +To add new debug options, add an option to _both_ config-debug and config-nodebug, +and also new stanzas to the Makefile 'debug' and 'release' targets. + +Sometimes debug options get added to config-generic, or per-arch overrides +instead of config-[no]debug. In this instance, the options should have no +discernable performance impact, otherwise they belong in the debug files. + diff --git a/Revert-the-random-series-for-4.16.4.patch b/Revert-the-random-series-for-4.16.4.patch new file mode 100644 index 000000000..f410fd310 --- /dev/null +++ b/Revert-the-random-series-for-4.16.4.patch @@ -0,0 +1,160 @@ +From 5744a0927df22f46e4b7f134b3dfb405fdfcf6ce Mon Sep 17 00:00:00 2001 +From: Jeremy Cline +Date: Wed, 2 May 2018 15:16:29 -0400 +Subject: [PATCH 1/2] Revert "random: use a different mixing algorithm for + add_device_randomness()" + +This reverts commit 89b59f050347d376c2ace8b1ceb908a218cfdc2e. + +Signed-off-by: Jeremy Cline +--- + drivers/char/random.c | 55 ++++--------------------------------------- + 1 file changed, 4 insertions(+), 51 deletions(-) + +diff --git a/drivers/char/random.c b/drivers/char/random.c +index 8f4e11842c60..aa5b04af86c6 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -831,10 +831,6 @@ static void numa_crng_init(void) + static void numa_crng_init(void) {} + #endif + +-/* +- * crng_fast_load() can be called by code in the interrupt service +- * path. So we can't afford to dilly-dally. +- */ + static int crng_fast_load(const char *cp, size_t len) + { + unsigned long flags; +@@ -861,51 +857,6 @@ static int crng_fast_load(const char *cp, size_t len) + return 1; + } + +-/* +- * crng_slow_load() is called by add_device_randomness, which has two +- * attributes. (1) We can't trust the buffer passed to it is +- * guaranteed to be unpredictable (so it might not have any entropy at +- * all), and (2) it doesn't have the performance constraints of +- * crng_fast_load(). +- * +- * So we do something more comprehensive which is guaranteed to touch +- * all of the primary_crng's state, and which uses a LFSR with a +- * period of 255 as part of the mixing algorithm. Finally, we do +- * *not* advance crng_init_cnt since buffer we may get may be something +- * like a fixed DMI table (for example), which might very well be +- * unique to the machine, but is otherwise unvarying. +- */ +-static int crng_slow_load(const char *cp, size_t len) +-{ +- unsigned long flags; +- static unsigned char lfsr = 1; +- unsigned char tmp; +- unsigned i, max = CHACHA20_KEY_SIZE; +- const char * src_buf = cp; +- char * dest_buf = (char *) &primary_crng.state[4]; +- +- if (!spin_trylock_irqsave(&primary_crng.lock, flags)) +- return 0; +- if (crng_init != 0) { +- spin_unlock_irqrestore(&primary_crng.lock, flags); +- return 0; +- } +- if (len > max) +- max = len; +- +- for (i = 0; i < max ; i++) { +- tmp = lfsr; +- lfsr >>= 1; +- if (tmp & 1) +- lfsr ^= 0xE1; +- tmp = dest_buf[i % CHACHA20_KEY_SIZE]; +- dest_buf[i % CHACHA20_KEY_SIZE] ^= src_buf[i % len] ^ lfsr; +- lfsr += (tmp << 3) | (tmp >> 5); +- } +- spin_unlock_irqrestore(&primary_crng.lock, flags); +- return 1; +-} +- + static void crng_reseed(struct crng_state *crng, struct entropy_store *r) + { + unsigned long flags; +@@ -1089,8 +1040,10 @@ void add_device_randomness(const void *buf, unsigned int size) + unsigned long time = random_get_entropy() ^ jiffies; + unsigned long flags; + +- if (!crng_ready() && size) +- crng_slow_load(buf, size); ++ if (!crng_ready()) { ++ crng_fast_load(buf, size); ++ return; ++ } + + trace_add_device_randomness(size, _RET_IP_); + spin_lock_irqsave(&input_pool.lock, flags); +-- +2.17.0 + +From e1b1b5b62740b0e6ea8258a4eb81b2a336538fed Mon Sep 17 00:00:00 2001 +From: Jeremy Cline +Date: Wed, 2 May 2018 15:18:03 -0400 +Subject: [PATCH 2/2] Revert "random: fix crng_ready() test" + +This reverts commit cd8d7a5778a4abf76ee8fe8f1bfcf78976029f8d. + +Signed-off-by: Jeremy Cline +--- + drivers/char/random.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/char/random.c b/drivers/char/random.c +index aa5b04af86c6..ef05cc685b74 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -428,7 +428,7 @@ struct crng_state primary_crng = { + * its value (from 0->1->2). + */ + static int crng_init = 0; +-#define crng_ready() (likely(crng_init > 1)) ++#define crng_ready() (likely(crng_init > 0)) + static int crng_init_cnt = 0; + static unsigned long crng_global_init_time = 0; + #define CRNG_INIT_CNT_THRESH (2*CHACHA20_KEY_SIZE) +@@ -838,7 +838,7 @@ static int crng_fast_load(const char *cp, size_t len) + + if (!spin_trylock_irqsave(&primary_crng.lock, flags)) + return 0; +- if (crng_init != 0) { ++ if (crng_ready()) { + spin_unlock_irqrestore(&primary_crng.lock, flags); + return 0; + } +@@ -913,7 +913,7 @@ static void _extract_crng(struct crng_state *crng, + { + unsigned long v, flags; + +- if (crng_ready() && ++ if (crng_init > 1 && + (time_after(crng_global_init_time, crng->init_time) || + time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL))) + crng_reseed(crng, crng == &primary_crng ? &input_pool : NULL); +@@ -1200,7 +1200,7 @@ void add_interrupt_randomness(int irq, int irq_flags) + fast_mix(fast_pool); + add_interrupt_bench(cycles); + +- if (unlikely(crng_init == 0)) { ++ if (!crng_ready()) { + if ((fast_pool->count >= 64) && + crng_fast_load((char *) fast_pool->pool, + sizeof(fast_pool->pool))) { +@@ -2269,7 +2269,7 @@ void add_hwgenerator_randomness(const char *buffer, size_t count, + { + struct entropy_store *poolp = &input_pool; + +- if (unlikely(crng_init == 0)) { ++ if (!crng_ready()) { + crng_fast_load(buffer, count); + return; + } +-- +2.17.0 + diff --git a/arm-dts-Add-am335x-pocketbeagle.patch b/arm-dts-Add-am335x-pocketbeagle.patch new file mode 100644 index 000000000..55c422065 --- /dev/null +++ b/arm-dts-Add-am335x-pocketbeagle.patch @@ -0,0 +1,424 @@ +From bb86b4b0bbae12341df16fedf51aeda480364fbf Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 19 Apr 2018 19:35:58 +0100 +Subject: [PATCH] ARM: dts: Add am335x-pocketbeagle + +PocketBeagle is an ultra-tiny-yet-complete open-source USB-key-fob computer. + +This board family can be indentified by the A335PBGL in the at24 eeprom: +A2: [aa 55 33 ee 41 33 33 35 50 42 47 4c 30 30 41 32 |.U3.A335PBGL00A2|] + +http://beagleboard.org/pocket +https://github.com/beagleboard/pocketbeagle + +Signed-off-by: Robert Nelson +Signed-off-by: Peter Robinson +CC: Tony Lindgren +CC: Jason Kridner +CC: Drew Fustini +CC: Peter Robinson +--- +Changes in v3: +- Fix: Board eeprom in subject message. (accidently copied PocketBone) +Changes in v2: +- Use SPDX tags. +- Use eeprom@50, remove repeated node and fix and remove '_' to fix node_name_chars_strict Warning +- Fix: PocketBeagle Name in Subject (not PocketBeagle Blue) +- Fix: leds remove '_' to fix node_name_chars_strict warning +- Fix: node_name_chars_strict pinmux_*_pins label's. +--- + arch/arm/boot/dts/Makefile | 1 + + arch/arm/boot/dts/am335x-osd335x-common.dtsi | 124 ++++++++++ + arch/arm/boot/dts/am335x-pocketbeagle.dts | 237 +++++++++++++++++++ + 3 files changed, 362 insertions(+) + create mode 100644 arch/arm/boot/dts/am335x-osd335x-common.dtsi + create mode 100644 arch/arm/boot/dts/am335x-pocketbeagle.dts + +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index ade7a38543dc..a632bbef01f5 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -675,6 +675,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \ + am335x-nano.dtb \ + am335x-pepper.dtb \ + am335x-phycore-rdk.dtb \ ++ am335x-pocketbeagle.dtb \ + am335x-shc.dtb \ + am335x-sbc-t335.dtb \ + am335x-sl50.dtb \ +diff --git a/arch/arm/boot/dts/am335x-osd335x-common.dtsi b/arch/arm/boot/dts/am335x-osd335x-common.dtsi +new file mode 100644 +index 000000000000..f8ff473f94f0 +--- /dev/null ++++ b/arch/arm/boot/dts/am335x-osd335x-common.dtsi +@@ -0,0 +1,124 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ ++ * ++ * Author: Robert Nelson ++ */ ++ ++/ { ++ cpus { ++ cpu@0 { ++ cpu0-supply = <&dcdc2_reg>; ++ }; ++ }; ++ ++ memory@80000000 { ++ device_type = "memory"; ++ reg = <0x80000000 0x20000000>; /* 512 MB */ ++ }; ++}; ++ ++&cpu0_opp_table { ++ /* ++ * Octavo Systems: ++ * The EFUSE_SMA register is not programmed for any of the AM335x wafers ++ * we get and we are not programming them during our production test. ++ * Therefore, from a DEVICE_ID revision point of view, the silicon looks ++ * like it is Revision 2.1. However, from an EFUSE_SMA point of view for ++ * the HW OPP table, the silicon looks like it is Revision 1.0 (ie the ++ * EFUSE_SMA register reads as all zeros). ++ */ ++ oppnitro-1000000000 { ++ opp-supported-hw = <0x06 0x0100>; ++ }; ++}; ++ ++&am33xx_pinmux { ++ i2c0_pins: pinmux-i2c0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* (C17) I2C0_SDA.I2C0_SDA */ ++ AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* (C16) I2C0_SCL.I2C0_SCL */ ++ >; ++ }; ++}; ++ ++&i2c0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c0_pins>; ++ ++ status = "okay"; ++ clock-frequency = <400000>; ++ ++ tps: tps@24 { ++ reg = <0x24>; ++ }; ++}; ++ ++/include/ "tps65217.dtsi" ++ ++&tps { ++ interrupts = <7>; /* NMI */ ++ interrupt-parent = <&intc>; ++ ++ ti,pmic-shutdown-controller; ++ ++ pwrbutton { ++ interrupts = <2>; ++ status = "okay"; ++ }; ++ ++ regulators { ++ dcdc1_reg: regulator@0 { ++ regulator-name = "vdds_dpr"; ++ regulator-always-on; ++ }; ++ ++ dcdc2_reg: regulator@1 { ++ /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ ++ regulator-name = "vdd_mpu"; ++ regulator-min-microvolt = <925000>; ++ regulator-max-microvolt = <1351500>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ dcdc3_reg: regulator@2 { ++ /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ ++ regulator-name = "vdd_core"; ++ regulator-min-microvolt = <925000>; ++ regulator-max-microvolt = <1150000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ ldo1_reg: regulator@3 { ++ regulator-name = "vio,vrtc,vdds"; ++ regulator-always-on; ++ }; ++ ++ ldo2_reg: regulator@4 { ++ regulator-name = "vdd_3v3aux"; ++ regulator-always-on; ++ }; ++ ++ ldo3_reg: regulator@5 { ++ regulator-name = "vdd_1v8"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-always-on; ++ }; ++ ++ ldo4_reg: regulator@6 { ++ regulator-name = "vdd_3v3a"; ++ regulator-always-on; ++ }; ++ }; ++}; ++ ++&aes { ++ status = "okay"; ++}; ++ ++&sham { ++ status = "okay"; ++}; +diff --git a/arch/arm/boot/dts/am335x-pocketbeagle.dts b/arch/arm/boot/dts/am335x-pocketbeagle.dts +new file mode 100644 +index 000000000000..62fe5cab9fae +--- /dev/null ++++ b/arch/arm/boot/dts/am335x-pocketbeagle.dts +@@ -0,0 +1,237 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ ++ * ++ * Author: Robert Nelson ++ */ ++/dts-v1/; ++ ++#include "am33xx.dtsi" ++#include "am335x-osd335x-common.dtsi" ++ ++/ { ++ model = "TI AM335x PocketBeagle"; ++ compatible = "ti,am335x-pocketbeagle", "ti,am335x-bone", "ti,am33xx"; ++ ++ chosen { ++ stdout-path = &uart0; ++ }; ++ ++ leds { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&usr_leds_pins>; ++ ++ compatible = "gpio-leds"; ++ ++ usr0 { ++ label = "beaglebone:green:usr0"; ++ gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "heartbeat"; ++ default-state = "off"; ++ }; ++ ++ usr1 { ++ label = "beaglebone:green:usr1"; ++ gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "mmc0"; ++ default-state = "off"; ++ }; ++ ++ usr2 { ++ label = "beaglebone:green:usr2"; ++ gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "cpu0"; ++ default-state = "off"; ++ }; ++ ++ usr3 { ++ label = "beaglebone:green:usr3"; ++ gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ }; ++ ++ vmmcsd_fixed: fixedregulator0 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vmmcsd_fixed"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++}; ++ ++&am33xx_pinmux { ++ i2c2_pins: pinmux-i2c2-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x97c, PIN_INPUT_PULLUP | MUX_MODE3) /* (D17) uart1_rtsn.I2C2_SCL */ ++ AM33XX_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE3) /* (D18) uart1_ctsn.I2C2_SDA */ ++ >; ++ }; ++ ++ ehrpwm0_pins: pinmux-ehrpwm0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (A13) mcasp0_aclkx.ehrpwm0A */ ++ >; ++ }; ++ ++ ehrpwm1_pins: pinmux-ehrpwm1-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x848, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* (U14) gpmc_a2.ehrpwm1A */ ++ >; ++ }; ++ ++ mmc0_pins: pinmux-mmc0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* (C15) spi0_cs1.gpio0[6] */ ++ AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */ ++ AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */ ++ AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */ ++ AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */ ++ AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */ ++ AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */ ++ AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4) /* (B12) mcasp0_aclkr.mmc0_sdwp */ ++ >; ++ }; ++ ++ spi0_pins: pinmux-spi0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* (A17) spi0_sclk.spi0_sclk */ ++ AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* (B17) spi0_d0.spi0_d0 */ ++ AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0) /* (B16) spi0_d1.spi0_d1 */ ++ AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE0) /* (A16) spi0_cs0.spi0_cs0 */ ++ >; ++ }; ++ ++ spi1_pins: pinmux-spi1-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x964, PIN_INPUT_PULLUP | MUX_MODE4) /* (C18) eCAP0_in_PWM0_out.spi1_sclk */ ++ AM33XX_IOPAD(0x968, PIN_INPUT_PULLUP | MUX_MODE4) /* (E18) uart0_ctsn.spi1_d0 */ ++ AM33XX_IOPAD(0x96c, PIN_INPUT_PULLUP | MUX_MODE4) /* (E17) uart0_rtsn.spi1_d1 */ ++ AM33XX_IOPAD(0x9b0, PIN_INPUT_PULLUP | MUX_MODE4) /* (A15) xdma_event_intr0.spi1_cs1 */ ++ >; ++ }; ++ ++ usr_leds_pins: pinmux-usr-leds-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x854, PIN_OUTPUT | MUX_MODE7) /* (V15) gpmc_a5.gpio1[21] - USR_LED_0 */ ++ AM33XX_IOPAD(0x858, PIN_OUTPUT | MUX_MODE7) /* (U15) gpmc_a6.gpio1[22] - USR_LED_1 */ ++ AM33XX_IOPAD(0x85c, PIN_OUTPUT | MUX_MODE7) /* (T15) gpmc_a7.gpio1[23] - USR_LED_2 */ ++ AM33XX_IOPAD(0x860, PIN_OUTPUT | MUX_MODE7) /* (V16) gpmc_a8.gpio1[24] - USR_LED_3 */ ++ >; ++ }; ++ ++ uart0_pins: pinmux-uart0-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* (E15) uart0_rxd.uart0_rxd */ ++ AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (E16) uart0_txd.uart0_txd */ ++ >; ++ }; ++ ++ uart4_pins: pinmux-uart4-pins { ++ pinctrl-single,pins = < ++ AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE6) /* (T17) gpmc_wait0.uart4_rxd */ ++ AM33XX_IOPAD(0x874, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* (U17) gpmc_wpn.uart4_txd */ ++ >; ++ }; ++}; ++ ++&epwmss0 { ++ status = "okay"; ++}; ++ ++&ehrpwm0 { ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ehrpwm0_pins>; ++}; ++ ++&epwmss1 { ++ status = "okay"; ++}; ++ ++&ehrpwm1 { ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ehrpwm1_pins>; ++}; ++ ++&i2c0 { ++ eeprom: eeprom@50 { ++ compatible = "atmel,24c256"; ++ reg = <0x50>; ++ }; ++}; ++ ++&i2c2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c2_pins>; ++ ++ status = "okay"; ++ clock-frequency = <400000>; ++}; ++ ++&mmc1 { ++ status = "okay"; ++ vmmc-supply = <&vmmcsd_fixed>; ++ bus-width = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++ cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; ++}; ++ ++&rtc { ++ system-power-controller; ++}; ++ ++&tscadc { ++ status = "okay"; ++ adc { ++ ti,adc-channels = <0 1 2 3 4 5 6 7>; ++ ti,chan-step-avg = <16 16 16 16 16 16 16 16>; ++ ti,chan-step-opendelay = <0x98 0x98 0x98 0x98 0x98 0x98 0x98 0x98>; ++ ti,chan-step-sampledelay = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins>; ++ ++ status = "okay"; ++}; ++ ++&uart4 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart4_pins>; ++ ++ status = "okay"; ++}; ++ ++&usb { ++ status = "okay"; ++}; ++ ++&usb_ctrl_mod { ++ status = "okay"; ++}; ++ ++&usb0_phy { ++ status = "okay"; ++}; ++ ++&usb0 { ++ status = "okay"; ++ dr_mode = "otg"; ++}; ++ ++&usb1_phy { ++ status = "okay"; ++}; ++ ++&usb1 { ++ status = "okay"; ++ dr_mode = "host"; ++}; ++ ++&cppi41dma { ++ status = "okay"; ++}; +-- +2.17.0 + diff --git a/arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch b/arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch new file mode 100644 index 000000000..1100a148a --- /dev/null +++ b/arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch @@ -0,0 +1,41 @@ +From patchwork Thu Jan 18 12:34:18 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: ARM: dts: imx6qdl-udoo: Disable usbh1 to avoid kernel hang +From: Fabio Estevam +X-Patchwork-Id: 10173115 +Message-Id: <1516278858-15464-1-git-send-email-fabio.estevam@nxp.com> +To: +Cc: maggu2810@gmail.com, peter.chen@nxp.com, mail@maciej.szmigiero.name, + Fabio Estevam , linux-arm-kernel@lists.infradead.org +Date: Thu, 18 Jan 2018 10:34:18 -0200 + +Currently the kernel hangs when USB Host1 is enabled due to the lack of +support for controlling the USB hub clock and GPIO reset line. + +Peter Chen has made several attempts to fix this problem, but his series +has not been applied yet, so better disable USB host1 for now to avoid +the kernel hang. + +Signed-off-by: Fabio Estevam +Acked-by: Maciej S. Szmigiero +Tested-by: Markus Rathgeb +--- + arch/arm/boot/dts/imx6qdl-udoo.dtsi | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi +index 4161b7d..1f0b9f6 100644 +--- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi +@@ -274,7 +274,8 @@ + pinctrl-0 = <&pinctrl_usbh>; + vbus-supply = <®_usb_h1_vbus>; + clocks = <&clks IMX6QDL_CLK_CKO>; +- status = "okay"; ++ /* currently USB support causes a kernel hang. Disable it for now */ ++ status = "disabled"; + }; + + &usdhc3 { diff --git a/arm-imx6-hummingboard2.patch b/arm-imx6-hummingboard2.patch deleted file mode 100644 index bcb93214e..000000000 --- a/arm-imx6-hummingboard2.patch +++ /dev/null @@ -1,902 +0,0 @@ -From e9e601215d294d473a593641b1ecfd1fa4586a90 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Thu, 6 Apr 2017 13:52:54 +0100 -Subject: [PATCH 1/4] [RFC,v2,1/4] ARM: dts: imx6qdl: add HummingBoard2 boards - -From: Jon Nettleton - -This adds support for the Hummingboard Gate and Edge devices from -SolidRun. - -Signed-off-by: Jon Nettleton -Signed-off-by: Rabeeh Khoury -Signed-off-by: Russell King ---- - arch/arm/boot/dts/Makefile | 2 + - arch/arm/boot/dts/imx6dl-hummingboard2.dts | 52 +++ - arch/arm/boot/dts/imx6q-hummingboard2.dts | 60 +++ - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 543 +++++++++++++++++++++++++++ - 4 files changed, 657 insertions(+) - create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard2.dts - create mode 100644 arch/arm/boot/dts/imx6q-hummingboard2.dts - create mode 100644 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 011808490fed..ccdff6650541 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -353,6 +353,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ - imx6dl-gw552x.dtb \ - imx6dl-gw553x.dtb \ - imx6dl-hummingboard.dtb \ -+ imx6dl-hummingboard2.dtb \ - imx6dl-icore.dtb \ - imx6dl-icore-rqs.dtb \ - imx6dl-nit6xlite.dtb \ -@@ -397,6 +398,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ - imx6q-gw553x.dtb \ - imx6q-h100.dtb \ - imx6q-hummingboard.dtb \ -+ imx6q-hummingboard2.dtb \ - imx6q-icore.dtb \ - imx6q-icore-rqs.dtb \ - imx6q-marsboard.dtb \ -diff --git a/arch/arm/boot/dts/imx6dl-hummingboard2.dts b/arch/arm/boot/dts/imx6dl-hummingboard2.dts -new file mode 100644 -index 000000000000..990b5050de5b ---- /dev/null -+++ b/arch/arm/boot/dts/imx6dl-hummingboard2.dts -@@ -0,0 +1,52 @@ -+/* -+ * Device Tree file for SolidRun HummingBoard2 -+ * Copyright (C) 2015 Rabeeh Khoury -+ * Based on work by Russell King -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License. -+ * -+ * This file is distributed in the hope that it will be useful -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+/dts-v1/; -+ -+#include "imx6dl.dtsi" -+#include "imx6qdl-hummingboard2.dtsi" -+ -+/ { -+ model = "SolidRun HummingBoard2 Solo/DualLite"; -+ compatible = "solidrun,hummingboard2/dl", "fsl,imx6dl"; -+}; -diff --git a/arch/arm/boot/dts/imx6q-hummingboard2.dts b/arch/arm/boot/dts/imx6q-hummingboard2.dts -new file mode 100644 -index 000000000000..f5eec9163bb8 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6q-hummingboard2.dts -@@ -0,0 +1,60 @@ -+/* -+ * Device Tree file for SolidRun HummingBoard2 -+ * Copyright (C) 2015 Rabeeh Khoury -+ * Based on work by Russell King -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License. -+ * -+ * This file is distributed in the hope that it will be useful -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+/dts-v1/; -+ -+#include "imx6q.dtsi" -+#include "imx6qdl-hummingboard2.dtsi" -+ -+/ { -+ model = "SolidRun HummingBoard2 Dual/Quad"; -+ compatible = "solidrun,hummingboard2/q", "fsl,imx6q"; -+}; -+ -+&sata { -+ status = "okay"; -+ fsl,transmit-level-mV = <1104>; -+ fsl,transmit-boost-mdB = <0>; -+ fsl,transmit-atten-16ths = <9>; -+ fsl,no-spread-spectrum; -+}; -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -new file mode 100644 -index 000000000000..11b63f6f2b89 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -0,0 +1,543 @@ -+/* -+ * Device Tree file for SolidRun HummingBoard2 -+ * Copyright (C) 2015 Rabeeh Khoury -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+#include "imx6qdl-microsom.dtsi" -+#include "imx6qdl-microsom-ar8035.dtsi" -+ -+/ { -+ chosen { -+ stdout-path = &uart1; -+ }; -+ -+ ir_recv: ir-receiver { -+ compatible = "gpio-ir-receiver"; -+ gpios = <&gpio7 9 1>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>; -+ linux,rc-map-name = "rc-rc6-mce"; -+ }; -+ -+ usdhc2_pwrseq: usdhc2-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ reg_3p3v: regulator-3p3v { -+ compatible = "regulator-fixed"; -+ regulator-name = "3P3V"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ reg_1p8v: regulator-1p8v { -+ compatible = "regulator-fixed"; -+ regulator-name = "1P8V"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ }; -+ -+ reg_usbh1_vbus: regulator-usb-h1-vbus { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio1 0 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; -+ regulator-name = "usb_h1_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; -+ -+ reg_usbotg_vbus: regulator-usb-otg-vbus { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio3 22 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; -+ regulator-name = "usb_otg_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; -+ -+ reg_usbh2_vbus: regulator-usb-h2-vbus { -+ compatible = "regulator-gpio"; -+ enable-active-high; -+ enable-gpio = <&gpio2 13 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; -+ regulator-name = "usb_h2_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ }; -+ -+ reg_usbh3_vbus: regulator-usb-h3-vbus { -+ compatible = "regulator-gpio"; -+ enable-active-high; -+ enable-gpio = <&gpio7 10 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; -+ regulator-name = "usb_h3_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ }; -+ -+ sound-sgtl5000 { -+ audio-codec = <&sgtl5000>; -+ audio-routing = -+ "MIC_IN", "Mic Jack", -+ "Mic Jack", "Mic Bias", -+ "Headphone Jack", "HP_OUT"; -+ compatible = "fsl,imx-audio-sgtl5000"; -+ model = "On-board Codec"; -+ mux-ext-port = <5>; -+ mux-int-port = <1>; -+ ssi-controller = <&ssi1>; -+ }; -+}; -+ -+&audmux { -+ status = "okay"; -+}; -+ -+&ecspi2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_ecspi2>; -+ cs-gpios = <&gpio2 26 0>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_hdmi>; -+ ddc-i2c-bus = <&i2c2>; -+ status = "okay"; -+}; -+ -+&i2c1 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_i2c1>; -+ status = "okay"; -+ -+ pcf8523: rtc@68 { -+ compatible = "nxp,pcf8523"; -+ reg = <0x68>; -+ nxp,12p5_pf; -+ }; -+ -+ sgtl5000: codec@0a { -+ clocks = <&clks IMX6QDL_CLK_CKO>; -+ compatible = "fsl,sgtl5000"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_sgtl5000>; -+ reg = <0x0a>; -+ VDDA-supply = <®_3p3v>; -+ VDDIO-supply = <®_3p3v>; -+ }; -+}; -+ -+&i2c2 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_i2c2>; -+ status = "okay"; -+}; -+ -+&i2c3 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_i2c3>; -+ status = "okay"; -+}; -+ -+&iomuxc { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hog>; -+ -+ hummingboard2 { -+ pinctrl_hog: hoggrp { -+ fsl,pins = < -+ /* -+ * 36 pin headers GPIO description. The pins -+ * numbering as following - -+ * -+ * 3.2v 5v 74 75 -+ * 73 72 71 70 -+ * 69 68 67 66 -+ * -+ * 77 78 79 76 -+ * 65 64 61 60 -+ * 53 52 51 50 -+ * 49 48 166 132 -+ * 95 94 90 91 -+ * GND 54 24 204 -+ * -+ * The GPIO numbers can be extracted using -+ * signal name from below. -+ * Example - -+ * MX6QDL_PAD_EIM_DA10__GPIO3_IO10 is -+ * GPIO(3,10) which is (3-1)*32+10 = gpio 74 -+ * -+ * i.e. The mapping of GPIO(X,Y) to Linux gpio -+ * number is : gpio number = (X-1) * 32 + Y -+ */ -+ /* DI1_PIN15 */ -+ MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x400130b1 -+ /* DI1_PIN02 */ -+ MX6QDL_PAD_EIM_DA11__GPIO3_IO11 0x400130b1 -+ /* DISP1_DATA00 */ -+ MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x400130b1 -+ /* DISP1_DATA01 */ -+ MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x400130b1 -+ /* DISP1_DATA02 */ -+ MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x400130b1 -+ /* DISP1_DATA03 */ -+ MX6QDL_PAD_EIM_DA6__GPIO3_IO06 0x400130b1 -+ /* DISP1_DATA04 */ -+ MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x400130b1 -+ /* DISP1_DATA05 */ -+ MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x400130b1 -+ /* DISP1_DATA06 */ -+ MX6QDL_PAD_EIM_DA3__GPIO3_IO03 0x400130b1 -+ /* DISP1_DATA07 */ -+ MX6QDL_PAD_EIM_DA2__GPIO3_IO02 0x400130b1 -+ /* DI1_D0_CS */ -+ MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x400130b1 -+ /* DI1_D1_CS */ -+ MX6QDL_PAD_EIM_DA14__GPIO3_IO14 0x400130b1 -+ /* DI1_PIN01 */ -+ MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x400130b1 -+ /* DI1_PIN03 */ -+ MX6QDL_PAD_EIM_DA12__GPIO3_IO12 0x400130b1 -+ /* DISP1_DATA08 */ -+ MX6QDL_PAD_EIM_DA1__GPIO3_IO01 0x400130b1 -+ /* DISP1_DATA09 */ -+ MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x400130b1 -+ /* DISP1_DATA10 */ -+ MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x400130b1 -+ /* DISP1_DATA11 */ -+ MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x400130b1 -+ /* DISP1_DATA12 */ -+ MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x400130b1 -+ /* DISP1_DATA13 */ -+ MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x400130b1 -+ /* DISP1_DATA14 */ -+ MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x400130b1 -+ /* DISP1_DATA15 */ -+ MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x400130b1 -+ /* DISP1_DATA16 */ -+ MX6QDL_PAD_EIM_A21__GPIO2_IO17 0x400130b1 -+ /* DISP1_DATA17 */ -+ MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x400130b1 -+ /* DISP1_DATA18 */ -+ MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x400130b1 -+ /* DISP1_DATA19 */ -+ MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x400130b1 -+ /* DISP1_DATA20 */ -+ MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x400130b1 -+ /* DISP1_DATA21 */ -+ MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x400130b1 -+ /* DISP1_DATA22 */ -+ MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x400130b1 -+ /* DISP1_DATA23 */ -+ MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x400130b1 -+ /* DI1_DISP_CLK */ -+ MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x400130b1 -+ /* SPDIF_IN */ -+ MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24 0x400130b1 -+ /* SPDIF_OUT */ -+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x400130b1 -+ -+ /* MikroBUS GPIO pin number 10 */ -+ MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x400130b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 -+ MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 -+ MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 -+ MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 /* CS */ -+ >; -+ }; -+ -+ pinctrl_hummingboard2_gpio7_9: hummingboard2-gpio7_9 { -+ fsl,pins = < -+ MX6QDL_PAD_SD4_CMD__GPIO7_IO09 0x80000000 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_hdmi: hummingboard2-hdmi { -+ fsl,pins = < -+ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_i2c1: hummingboard2-i2c1 { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 -+ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_i2c2: hummingboard2-i2c2 { -+ fsl,pins = < -+ MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 -+ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_i2c3: hummingboard2-i2c3 { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 -+ MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_mipi: hummingboard2_mipi { -+ fsl,pins = < -+ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1 -+ MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1 -+ MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_pcie_reset: hummingboard2-pcie-reset { -+ fsl,pins = < -+ MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_pwm1: pwm1grp { -+ fsl,pins = < -+ MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_sgtl5000: hummingboard2-sgtl5000 { -+ fsl,pins = < -+ MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 -+ MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 -+ MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 -+ MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 -+ MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usbh1_vbus: hummingboard2-usbh1-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbh2_vbus: hummingboard2-usbh2-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbh3_vbus: hummingboard2-usbh3-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbotg_id: hummingboard2-usbotg-id { -+ /* -+ * Similar to pinctrl_usbotg_2, but we want it -+ * pulled down for a fixed host connection. -+ */ -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usbotg_vbus: hummingboard2-usbotg-vbus { -+ fsl,pins = ; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { -+ fsl,pins = < -+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071 -+ MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 -+ MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2: hummingboard2-usdhc2 { -+ fsl,pins = < -+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 -+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 -+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 -+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 -+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 -+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2_100mhz: hummingboard2-usdhc2-100mhz { -+ fsl,pins = < -+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170b9 -+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100b9 -+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170b9 -+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170b9 -+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170b9 -+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130b9 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc2_200mhz: hummingboard2-usdhc2-200mhz { -+ fsl,pins = < -+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170f9 -+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100f9 -+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170f9 -+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170f9 -+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170f9 -+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130f9 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 { -+ fsl,pins = < -+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 -+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 -+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 -+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 -+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 -+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 -+ MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 -+ MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 -+ MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 -+ MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 -+ MX6QDL_PAD_SD3_RST__SD3_RESET 0x17059 -+ >; -+ }; -+ -+ pinctrl_hummingboard2_uart3: hummingboard2-uart3 { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_D25__UART3_TX_DATA 0x1b0b1 -+ MX6QDL_PAD_EIM_D24__UART3_RX_DATA 0x40013000 -+ >; -+ }; -+ }; -+}; -+ -+&ldb { -+ status = "disabled"; -+ -+ lvds-channel@0 { -+ fsl,data-mapping = "spwg"; -+ fsl,data-width = <18>; -+ }; -+}; -+ -+&pcie { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>; -+ reset-gpio = <&gpio2 11 0>; -+ status = "okay"; -+}; -+ -+&pwm1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_pwm1>; -+ status = "okay"; -+}; -+ -+&pwm3 { -+ status = "disabled"; -+}; -+ -+&pwm4 { -+ status = "disabled"; -+}; -+ -+&ssi1 { -+ status = "okay"; -+}; -+ -+&usbh1 { -+ disable-over-current; -+ vbus-supply = <®_usbh1_vbus>; -+ status = "okay"; -+}; -+ -+&usbotg { -+ disable-over-current; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_id>; -+ vbus-supply = <®_usbotg_vbus>; -+ status = "okay"; -+}; -+ -+&usdhc2 { -+ pinctrl-names = "default", "state_100mhz", "state_200mhz"; -+ pinctrl-0 = < -+ &pinctrl_hummingboard2_usdhc2_aux -+ &pinctrl_hummingboard2_usdhc2 -+ >; -+ pinctrl-1 = < -+ &pinctrl_hummingboard2_usdhc2_aux -+ &pinctrl_hummingboard2_usdhc2_100mhz -+ >; -+ pinctrl-2 = < -+ &pinctrl_hummingboard2_usdhc2_aux -+ &pinctrl_hummingboard2_usdhc2_200mhz -+ >; -+ mmc-pwrseq = <&usdhc2_pwrseq>; -+ cd-gpios = <&gpio1 4 0>; -+ status = "okay"; -+}; -+ -+&usdhc3 { -+ pinctrl-names = "default"; -+ pinctrl-0 = < -+ &pinctrl_hummingboard2_usdhc3 -+ >; -+ vmmc-supply = <®_3p3v>; -+ vqmmc-supply = <®_3p3v>; -+ bus-width = <8>; -+ non-removable; -+ status = "okay"; -+}; -+ -+&uart3 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_uart3>; -+ status = "okay"; -+}; --- -2.12.2 - -From 3da2a99c4a8f19e846b19071441d2c6b88e00c06 Mon Sep 17 00:00:00 2001 -From: Russell King -Date: Fri, 13 Jan 2017 14:45:30 +0000 -Subject: [PATCH 2/4] ARM: dts: imx6*-hummingboard2: fix SD card detect - -Fix the SD card detect signal, which was missing the polarity -specification, and the pull-up necessary for proper signalling. - -Signed-off-by: Russell King ---- - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -index 11b63f6f2b89..734487edf200 100644 ---- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -393,7 +393,7 @@ - - pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { - fsl,pins = < -- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071 -+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 - MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 - MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 - >; -@@ -520,7 +520,7 @@ - &pinctrl_hummingboard2_usdhc2_200mhz - >; - mmc-pwrseq = <&usdhc2_pwrseq>; -- cd-gpios = <&gpio1 4 0>; -+ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; - status = "okay"; - }; - --- -2.12.2 - -From 57b0103b600a535a35e5ff9714649519a0b3a77a Mon Sep 17 00:00:00 2001 -From: Russell King -Date: Fri, 13 Jan 2017 14:45:35 +0000 -Subject: [PATCH 3/4] ARM: dts: imx6*-hummingboard2: use proper gpio flags - definitions - -Use proper gpio flag definitions for GPIOs rather than using opaque -uninformative numbers. - -Signed-off-by: Russell King ---- - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -index 734487edf200..88aaed26dd77 100644 ---- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -50,7 +50,7 @@ - - ir_recv: ir-receiver { - compatible = "gpio-ir-receiver"; -- gpios = <&gpio7 9 1>; -+ gpios = <&gpio7 9 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>; - linux,rc-map-name = "rc-rc6-mce"; -@@ -80,7 +80,7 @@ - reg_usbh1_vbus: regulator-usb-h1-vbus { - compatible = "regulator-fixed"; - enable-active-high; -- gpio = <&gpio1 0 0>; -+ gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; - regulator-name = "usb_h1_vbus"; -@@ -91,7 +91,7 @@ - reg_usbotg_vbus: regulator-usb-otg-vbus { - compatible = "regulator-fixed"; - enable-active-high; -- gpio = <&gpio3 22 0>; -+ gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; - regulator-name = "usb_otg_vbus"; -@@ -102,7 +102,7 @@ - reg_usbh2_vbus: regulator-usb-h2-vbus { - compatible = "regulator-gpio"; - enable-active-high; -- enable-gpio = <&gpio2 13 0>; -+ enable-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; - regulator-name = "usb_h2_vbus"; -@@ -114,7 +114,7 @@ - reg_usbh3_vbus: regulator-usb-h3-vbus { - compatible = "regulator-gpio"; - enable-active-high; -- enable-gpio = <&gpio7 10 0>; -+ enable-gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; - regulator-name = "usb_h3_vbus"; --- -2.12.2 - -From f931de70370ff576f381cb9745bc54225a1a8056 Mon Sep 17 00:00:00 2001 -From: Russell King -Date: Fri, 13 Jan 2017 14:45:40 +0000 -Subject: [PATCH 4/4] ARM: dts: imx6*-hummingboard2: convert to more - conventional vmmc-supply - -Signed-off-by: Russell King ---- - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 26 +++++++++++++++++++------- - 1 file changed, 19 insertions(+), 7 deletions(-) - -diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -index 88aaed26dd77..f19d30b34ac4 100644 ---- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -56,11 +56,6 @@ - linux,rc-map-name = "rc-rc6-mce"; - }; - -- usdhc2_pwrseq: usdhc2-pwrseq { -- compatible = "mmc-pwrseq-simple"; -- reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; -- }; -- - reg_3p3v: regulator-3p3v { - compatible = "regulator-fixed"; - regulator-name = "3P3V"; -@@ -123,6 +118,18 @@ - regulator-boot-on; - }; - -+ reg_usdhc2_vmmc: reg-usdhc2-vmmc { -+ compatible = "regulator-fixed"; -+ gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_vmmc>; -+ regulator-boot-on; -+ regulator-max-microvolt = <3300000>; -+ regulator-min-microvolt = <3300000>; -+ regulator-name = "usdhc2_vmmc"; -+ startup-delay-us = <1000>; -+ }; -+ - sound-sgtl5000 { - audio-codec = <&sgtl5000>; - audio-routing = -@@ -393,7 +400,6 @@ - - pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { - fsl,pins = < -- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 - MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 - MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 - >; -@@ -432,6 +438,12 @@ - >; - }; - -+ pinctrl_hummingboard2_vmmc: hummingboard2-vmmc { -+ fsl,pins = < -+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 -+ >; -+ }; -+ - pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 { - fsl,pins = < - MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 -@@ -519,7 +531,7 @@ - &pinctrl_hummingboard2_usdhc2_aux - &pinctrl_hummingboard2_usdhc2_200mhz - >; -- mmc-pwrseq = <&usdhc2_pwrseq>; -+ vmmc-supply = <®_usdhc2_vmmc>; - cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; - status = "okay"; - }; --- -2.12.2 - diff --git a/arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch b/arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch deleted file mode 100644 index b55dec0cb..000000000 --- a/arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch +++ /dev/null @@ -1,100 +0,0 @@ -From bb3e08008c0e48fd4f51a0f0957eecae61a24d69 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Tue, 1 Nov 2016 09:35:30 +0000 -Subject: [PATCH] Revert "mmc: omap_hsmmc: Use dma_request_chan() for - requesting DMA channel" - -This reverts commit 81eef6ca92014845d40e3f1310e42b7010303acc. ---- - drivers/mmc/host/omap_hsmmc.c | 50 ++++++++++++++++++++++++++++++++++--------- - 1 file changed, 40 insertions(+), 10 deletions(-) - -diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c -index 24ebc9a..3563321 100644 ---- a/drivers/mmc/host/omap_hsmmc.c -+++ b/drivers/mmc/host/omap_hsmmc.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -1992,6 +1993,8 @@ static int omap_hsmmc_probe(struct platform_device *pdev) - struct resource *res; - int ret, irq; - const struct of_device_id *match; -+ dma_cap_mask_t mask; -+ unsigned tx_req, rx_req; - const struct omap_mmc_of_data *data; - void __iomem *base; - -@@ -2121,17 +2124,44 @@ static int omap_hsmmc_probe(struct platform_device *pdev) - - omap_hsmmc_conf_bus_power(host); - -- host->rx_chan = dma_request_chan(&pdev->dev, "rx"); -- if (IS_ERR(host->rx_chan)) { -- dev_err(mmc_dev(host->mmc), "RX DMA channel request failed\n"); -- ret = PTR_ERR(host->rx_chan); -+ if (!pdev->dev.of_node) { -+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx"); -+ if (!res) { -+ dev_err(mmc_dev(host->mmc), "cannot get DMA TX channel\n"); -+ ret = -ENXIO; -+ goto err_irq; -+ } -+ tx_req = res->start; -+ -+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx"); -+ if (!res) { -+ dev_err(mmc_dev(host->mmc), "cannot get DMA RX channel\n"); -+ ret = -ENXIO; -+ goto err_irq; -+ } -+ rx_req = res->start; -+ } -+ -+ dma_cap_zero(mask); -+ dma_cap_set(DMA_SLAVE, mask); -+ -+ host->rx_chan = -+ dma_request_slave_channel_compat(mask, omap_dma_filter_fn, -+ &rx_req, &pdev->dev, "rx"); -+ -+ if (!host->rx_chan) { -+ dev_err(mmc_dev(host->mmc), "unable to obtain RX DMA engine channel\n"); -+ ret = -ENXIO; - goto err_irq; - } - -- host->tx_chan = dma_request_chan(&pdev->dev, "tx"); -- if (IS_ERR(host->tx_chan)) { -- dev_err(mmc_dev(host->mmc), "TX DMA channel request failed\n"); -- ret = PTR_ERR(host->tx_chan); -+ host->tx_chan = -+ dma_request_slave_channel_compat(mask, omap_dma_filter_fn, -+ &tx_req, &pdev->dev, "tx"); -+ -+ if (!host->tx_chan) { -+ dev_err(mmc_dev(host->mmc), "unable to obtain TX DMA engine channel\n"); -+ ret = -ENXIO; - goto err_irq; - } - -@@ -2189,9 +2219,9 @@ err_slot_name: - mmc_remove_host(mmc); - err_irq: - device_init_wakeup(&pdev->dev, false); -- if (!IS_ERR_OR_NULL(host->tx_chan)) -+ if (host->tx_chan) - dma_release_channel(host->tx_chan); -- if (!IS_ERR_OR_NULL(host->rx_chan)) -+ if (host->rx_chan) - dma_release_channel(host->rx_chan); - pm_runtime_dont_use_autosuspend(host->dev); - pm_runtime_put_sync(host->dev); --- -2.9.3 - diff --git a/arm-rk3288-tinker.patch b/arm-rk3288-tinker.patch deleted file mode 100644 index d7a4897b3..000000000 --- a/arm-rk3288-tinker.patch +++ /dev/null @@ -1,573 +0,0 @@ -From 223599514133293bb9afe7b82937140c3b275877 Mon Sep 17 00:00:00 2001 -From: Eddie Cai -Date: Tue, 14 Feb 2017 18:07:31 +0800 -Subject: ARM: dts: rockchip: add dts for RK3288-Tinker board - -This patch add basic support for RK3288-Tinker board. We can boot in to rootfs -with this patch. - -Signed-off-by: Eddie Cai -Signed-off-by: Heiko Stuebner ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/rk3288-tinker.dts | 536 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 537 insertions(+) - create mode 100644 arch/arm/boot/dts/rk3288-tinker.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 0118084..fb46849 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -695,6 +695,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ - rk3288-popmetal.dtb \ - rk3288-r89.dtb \ - rk3288-rock2-square.dtb \ -+ rk3288-tinker.dtb \ - rk3288-veyron-brain.dtb \ - rk3288-veyron-jaq.dtb \ - rk3288-veyron-jerry.dtb \ -diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts -new file mode 100644 -index 0000000..f601c78 ---- /dev/null -+++ b/arch/arm/boot/dts/rk3288-tinker.dts -@@ -0,0 +1,536 @@ -+/* -+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use, -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+/dts-v1/; -+ -+#include "rk3288.dtsi" -+#include -+ -+/ { -+ model = "Rockchip RK3288 Tinker Board"; -+ compatible = "asus,rk3288-tinker", "rockchip,rk3288"; -+ -+ memory { -+ reg = <0x0 0x80000000>; -+ device_type = "memory"; -+ }; -+ -+ ext_gmac: external-gmac-clock { -+ compatible = "fixed-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <125000000>; -+ clock-output-names = "ext_gmac"; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ autorepeat; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pwrbtn>; -+ -+ button@0 { -+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; -+ linux,code = ; -+ label = "GPIO Key Power"; -+ linux,input-type = <1>; -+ wakeup-source; -+ debounce-interval = <100>; -+ }; -+ }; -+ -+ gpio-leds { -+ compatible = "gpio-leds"; -+ -+ act-led { -+ gpios=<&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger="mmc0"; -+ }; -+ -+ heartbeat-led { -+ gpios=<&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger="heartbeat"; -+ }; -+ -+ pwr-led { -+ gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ }; -+ -+ sound { -+ compatible = "simple-audio-card"; -+ simple-audio-card,format = "i2s"; -+ simple-audio-card,name = "rockchip,tinker-codec"; -+ simple-audio-card,mclk-fs = <512>; -+ -+ simple-audio-card,codec { -+ sound-dai = <&hdmi>; -+ }; -+ -+ simple-audio-card,cpu { -+ sound-dai = <&i2s>; -+ }; -+ }; -+ -+ vcc_sys: vsys-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc_sys"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vcc_sd: sdmmc-regulator { -+ compatible = "regulator-fixed"; -+ gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdmmc_pwr>; -+ regulator-name = "vcc_sd"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ vin-supply = <&vcc_io>; -+ }; -+}; -+ -+&cpu0 { -+ cpu0-supply = <&vdd_cpu>; -+}; -+ -+&gmac { -+ assigned-clocks = <&cru SCLK_MAC>; -+ assigned-clock-parents = <&ext_gmac>; -+ clock_in_out = "input"; -+ phy-mode = "rgmii"; -+ phy-supply = <&vcc33_lan>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rgmii_pins>; -+ snps,reset-gpio = <&gpio4 7 0>; -+ snps,reset-active-low; -+ snps,reset-delays-us = <0 10000 1000000>; -+ tx_delay = <0x30>; -+ rx_delay = <0x10>; -+ status = "ok"; -+}; -+ -+&hdmi { -+ ddc-i2c-bus = <&i2c5>; -+ status = "okay"; -+}; -+ -+&i2c0 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ rk808: pmic@1b { -+ compatible = "rockchip,rk808"; -+ reg = <0x1b>; -+ interrupt-parent = <&gpio0>; -+ interrupts = <4 IRQ_TYPE_LEVEL_LOW>; -+ #clock-cells = <1>; -+ clock-output-names = "xin32k", "rk808-clkout2"; -+ dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>, -+ <&gpio0 12 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>; -+ rockchip,system-power-controller; -+ wakeup-source; -+ -+ vcc1-supply = <&vcc_sys>; -+ vcc2-supply = <&vcc_sys>; -+ vcc3-supply = <&vcc_sys>; -+ vcc4-supply = <&vcc_sys>; -+ vcc6-supply = <&vcc_sys>; -+ vcc7-supply = <&vcc_sys>; -+ vcc8-supply = <&vcc_io>; -+ vcc9-supply = <&vcc_io>; -+ vcc10-supply = <&vcc_io>; -+ vcc11-supply = <&vcc_sys>; -+ vcc12-supply = <&vcc_io>; -+ vddio-supply = <&vcc_io>; -+ -+ regulators { -+ vdd_cpu: DCDC_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <750000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-name = "vdd_arm"; -+ regulator-ramp-delay = <6000>; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_gpu: DCDC_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-name = "vdd_gpu"; -+ regulator-ramp-delay = <6000>; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1000000>; -+ }; -+ }; -+ -+ vcc_ddr: DCDC_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc_ddr"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vcc_io: DCDC_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc_io"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vcc18_ldo1: LDO_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc18_ldo1"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcc33_mipi: LDO_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc33_mipi"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_10: LDO_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <1000000>; -+ regulator-name = "vdd_10"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1000000>; -+ }; -+ }; -+ -+ vcc18_codec: LDO_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc18_codec"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vccio_sd: LDO_REG5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vccio_sd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vdd10_lcd: LDO_REG6 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <1000000>; -+ regulator-name = "vdd10_lcd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1000000>; -+ }; -+ }; -+ -+ vcc_18: LDO_REG7 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc_18"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcc18_lcd: LDO_REG8 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc18_lcd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcc33_sd: SWITCH_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc33_sd"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vcc33_lan: SWITCH_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc33_lan"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&i2c2 { -+ status = "okay"; -+}; -+ -+&i2c5 { -+ status = "okay"; -+}; -+ -+&i2s { -+ #sound-dai-cells = <0>; -+ status = "okay"; -+}; -+ -+&io_domains { -+ status = "okay"; -+ -+ sdcard-supply = <&vccio_sd>; -+}; -+ -+&pinctrl { -+ pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { -+ drive-strength = <8>; -+ }; -+ -+ pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { -+ bias-pull-up; -+ drive-strength = <8>; -+ }; -+ -+ backlight { -+ bl_en: bl-en { -+ rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ buttons { -+ pwrbtn: pwrbtn { -+ rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ eth_phy { -+ eth_phy_pwr: eth-phy-pwr { -+ rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ pmic { -+ pmic_int: pmic-int { -+ rockchip,pins = ; -+ }; -+ -+ dvs_1: dvs-1 { -+ rockchip,pins = ; -+ }; -+ -+ dvs_2: dvs-2 { -+ rockchip,pins = ; -+ }; -+ }; -+ -+ sdmmc { -+ sdmmc_bus4: sdmmc-bus4 { -+ rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, -+ <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, -+ <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, -+ <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; -+ }; -+ -+ sdmmc_clk: sdmmc-clk { -+ rockchip,pins = <6 20 RK_FUNC_1 \ -+ &pcfg_pull_none_drv_8ma>; -+ }; -+ -+ sdmmc_cmd: sdmmc-cmd { -+ rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; -+ }; -+ -+ sdmmc_pwr: sdmmc-pwr { -+ rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ usb { -+ host_vbus_drv: host-vbus-drv { -+ rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ -+ pwr_3g: pwr-3g { -+ rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+}; -+ -+&pwm0 { -+ status = "okay"; -+}; -+ -+&saradc { -+ vref-supply = <&vcc18_ldo1>; -+ status ="okay"; -+}; -+ -+&sdmmc { -+ bus-width = <4>; -+ cap-mmc-highspeed; -+ cap-sd-highspeed; -+ card-detect-delay = <200>; -+ disable-wp; /* wp not hooked up */ -+ num-slots = <1>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; -+ status = "okay"; -+ vmmc-supply = <&vcc33_sd>; -+ vqmmc-supply = <&vccio_sd>; -+}; -+ -+&tsadc { -+ rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ -+ rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ -+ status = "okay"; -+}; -+ -+&uart0 { -+ status = "okay"; -+}; -+ -+&uart1 { -+ status = "okay"; -+}; -+ -+&uart2 { -+ status = "okay"; -+}; -+ -+&uart3 { -+ status = "okay"; -+}; -+ -+&uart4 { -+ status = "okay"; -+}; -+ -+&usbphy { -+ status = "okay"; -+}; -+ -+&usb_host0_ehci { -+ status = "okay"; -+}; -+ -+&usb_host1 { -+ status = "okay"; -+}; -+ -+&usb_otg { -+ status= "okay"; -+}; -+ -+&vopb { -+ status = "okay"; -+}; -+ -+&vopb_mmu { -+ status = "okay"; -+}; -+ -+&vopl { -+ status = "okay"; -+}; -+ -+&vopl_mmu { -+ status = "okay"; -+}; -+ -+&wdt { -+ status = "okay"; -+}; --- -cgit v1.1 - diff --git a/arm-sunxi-nvmem-fixH3.patch b/arm-sunxi-nvmem-fixH3.patch new file mode 100644 index 000000000..415885d4c --- /dev/null +++ b/arm-sunxi-nvmem-fixH3.patch @@ -0,0 +1,131 @@ +From 0ab09d651b5858f9bc7d5f74e725334a661828e0 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 9 Mar 2018 14:47:17 +0000 +Subject: nvmem: sunxi-sid: fix H3 SID controller support + +It seems that doing some operation will make the value pre-read on H3 +SID controller wrong again, so all operation should be performed by +register. + +Change the SID reading to use register only. + +Signed-off-by: Icenowy Zheng +Signed-off-by: Srinivas Kandagatla +Signed-off-by: Greg Kroah-Hartman +--- + drivers/nvmem/sunxi_sid.c | 71 +++++++++++++++++++++++++++++++++-------------- + 1 file changed, 50 insertions(+), 21 deletions(-) + +diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_sid.c +index 99bd54d..26bb637 100644 +--- a/drivers/nvmem/sunxi_sid.c ++++ b/drivers/nvmem/sunxi_sid.c +@@ -85,13 +85,14 @@ static int sunxi_sid_read(void *context, unsigned int offset, + } + + static int sun8i_sid_register_readout(const struct sunxi_sid *sid, +- const unsigned int word) ++ const unsigned int offset, ++ u32 *out) + { + u32 reg_val; + int ret; + + /* Set word, lock access, and set read command */ +- reg_val = (word & SUN8I_SID_OFFSET_MASK) ++ reg_val = (offset & SUN8I_SID_OFFSET_MASK) + << SUN8I_SID_OFFSET_SHIFT; + reg_val |= SUN8I_SID_OP_LOCK | SUN8I_SID_READ; + writel(reg_val, sid->base + SUN8I_SID_PRCTL); +@@ -101,7 +102,49 @@ static int sun8i_sid_register_readout(const struct sunxi_sid *sid, + if (ret) + return ret; + ++ if (out) ++ *out = readl(sid->base + SUN8I_SID_RDKEY); ++ + writel(0, sid->base + SUN8I_SID_PRCTL); ++ ++ return 0; ++} ++ ++/* ++ * On Allwinner H3, the value on the 0x200 offset of the SID controller seems ++ * to be not reliable at all. ++ * Read by the registers instead. ++ */ ++static int sun8i_sid_read_byte_by_reg(const struct sunxi_sid *sid, ++ const unsigned int offset, ++ u8 *out) ++{ ++ u32 word; ++ int ret; ++ ++ ret = sun8i_sid_register_readout(sid, offset & ~0x03, &word); ++ ++ if (ret) ++ return ret; ++ ++ *out = (word >> ((offset & 0x3) * 8)) & 0xff; ++ ++ return 0; ++} ++ ++static int sun8i_sid_read_by_reg(void *context, unsigned int offset, ++ void *val, size_t bytes) ++{ ++ struct sunxi_sid *sid = context; ++ u8 *buf = val; ++ int ret; ++ ++ while (bytes--) { ++ ret = sun8i_sid_read_byte_by_reg(sid, offset++, buf++); ++ if (ret) ++ return ret; ++ } ++ + return 0; + } + +@@ -131,26 +174,12 @@ static int sunxi_sid_probe(struct platform_device *pdev) + + size = cfg->size; + +- if (cfg->need_register_readout) { +- /* +- * H3's SID controller have a bug that the value at 0x200 +- * offset is not the correct value when the hardware is reseted. +- * However, after doing a register-based read operation, the +- * value become right. +- * Do a full read operation here, but ignore its value +- * (as it's more fast to read by direct MMIO value than +- * with registers) +- */ +- for (i = 0; i < (size >> 2); i++) { +- ret = sun8i_sid_register_readout(sid, i); +- if (ret) +- return ret; +- } +- } +- + econfig.size = size; + econfig.dev = dev; +- econfig.reg_read = sunxi_sid_read; ++ if (cfg->need_register_readout) ++ econfig.reg_read = sun8i_sid_read_by_reg; ++ else ++ econfig.reg_read = sunxi_sid_read; + econfig.priv = sid; + nvmem = nvmem_register(&econfig); + if (IS_ERR(nvmem)) +@@ -163,7 +192,7 @@ static int sunxi_sid_probe(struct platform_device *pdev) + } + + for (i = 0; i < size; i++) +- randomness[i] = sunxi_sid_read_byte(sid, i); ++ econfig.reg_read(sid, i, &randomness[i], 1); + + add_device_randomness(randomness, size); + kfree(randomness); +-- +cgit v1.1 diff --git a/arm-tegra-USB-driver-dependency-fix.patch b/arm-tegra-USB-driver-dependency-fix.patch new file mode 100644 index 000000000..b1a80137b --- /dev/null +++ b/arm-tegra-USB-driver-dependency-fix.patch @@ -0,0 +1,610 @@ +From patchwork Mon Apr 9 22:02:57 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v3,1/3] usb: phy: tegra: Cleanup error messages +X-Patchwork-Submitter: Dmitry Osipenko +X-Patchwork-Id: 896433 +Message-Id: +To: Thierry Reding , + Jonathan Hunter , Felipe Balbi , + Alan Stern , + Greg Kroah-Hartman +Cc: linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, + linux-kernel@vger.kernel.org +Date: Tue, 10 Apr 2018 01:02:57 +0300 +From: Dmitry Osipenko +List-Id: + +Tegra's PHY driver has a mix of pr_err() and dev_err(), let's switch to +dev_err() and use common errors message formatting across the driver for +consistency. + +Signed-off-by: Dmitry Osipenko +--- + drivers/usb/phy/phy-tegra-usb.c | 69 ++++++++++++++++++++++++----------------- + 1 file changed, 41 insertions(+), 28 deletions(-) + +diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c +index 0e8d23e51732..e46219e7fa93 100644 +--- a/drivers/usb/phy/phy-tegra-usb.c ++++ b/drivers/usb/phy/phy-tegra-usb.c +@@ -236,10 +236,14 @@ static void set_phcd(struct tegra_usb_phy *phy, bool enable) + + static int utmip_pad_open(struct tegra_usb_phy *phy) + { ++ int err; ++ + phy->pad_clk = devm_clk_get(phy->u_phy.dev, "utmi-pads"); + if (IS_ERR(phy->pad_clk)) { +- pr_err("%s: can't get utmip pad clock\n", __func__); +- return PTR_ERR(phy->pad_clk); ++ err = PTR_ERR(phy->pad_clk); ++ dev_err(phy->u_phy.dev, ++ "Failed to get UTMIP pad clock: %d\n", err); ++ return err; + } + + return 0; +@@ -282,7 +286,7 @@ static int utmip_pad_power_off(struct tegra_usb_phy *phy) + void __iomem *base = phy->pad_regs; + + if (!utmip_pad_count) { +- pr_err("%s: utmip pad already powered off\n", __func__); ++ dev_err(phy->u_phy.dev, "UTMIP pad already powered off\n"); + return -EINVAL; + } + +@@ -338,7 +342,8 @@ static void utmi_phy_clk_disable(struct tegra_usb_phy *phy) + set_phcd(phy, true); + + if (utmi_wait_register(base + USB_SUSP_CTRL, USB_PHY_CLK_VALID, 0) < 0) +- pr_err("%s: timeout waiting for phy to stabilize\n", __func__); ++ dev_err(phy->u_phy.dev, ++ "Timeout waiting for PHY to stabilize on disable\n"); + } + + static void utmi_phy_clk_enable(struct tegra_usb_phy *phy) +@@ -370,7 +375,8 @@ static void utmi_phy_clk_enable(struct tegra_usb_phy *phy) + + if (utmi_wait_register(base + USB_SUSP_CTRL, USB_PHY_CLK_VALID, + USB_PHY_CLK_VALID)) +- pr_err("%s: timeout waiting for phy to stabilize\n", __func__); ++ dev_err(phy->u_phy.dev, ++ "Timeout waiting for PHY to stabilize on enable\n"); + } + + static int utmi_phy_power_on(struct tegra_usb_phy *phy) +@@ -617,15 +623,15 @@ static int ulpi_phy_power_on(struct tegra_usb_phy *phy) + + ret = gpio_direction_output(phy->reset_gpio, 0); + if (ret < 0) { +- dev_err(phy->u_phy.dev, "gpio %d not set to 0\n", +- phy->reset_gpio); ++ dev_err(phy->u_phy.dev, "GPIO %d not set to 0: %d\n", ++ phy->reset_gpio, ret); + return ret; + } + msleep(5); + ret = gpio_direction_output(phy->reset_gpio, 1); + if (ret < 0) { +- dev_err(phy->u_phy.dev, "gpio %d not set to 1\n", +- phy->reset_gpio); ++ dev_err(phy->u_phy.dev, "GPIO %d not set to 1: %d\n", ++ phy->reset_gpio, ret); + return ret; + } + +@@ -661,13 +667,13 @@ static int ulpi_phy_power_on(struct tegra_usb_phy *phy) + /* Fix VbusInvalid due to floating VBUS */ + ret = usb_phy_io_write(phy->ulpi, 0x40, 0x08); + if (ret) { +- pr_err("%s: ulpi write failed\n", __func__); ++ dev_err(phy->u_phy.dev, "ULPI write failed: %d\n", ret); + return ret; + } + + ret = usb_phy_io_write(phy->ulpi, 0x80, 0x0B); + if (ret) { +- pr_err("%s: ulpi write failed\n", __func__); ++ dev_err(phy->u_phy.dev, "ULPI write failed: %d\n", ret); + return ret; + } + +@@ -728,28 +734,30 @@ static int ulpi_open(struct tegra_usb_phy *phy) + + phy->clk = devm_clk_get(phy->u_phy.dev, "ulpi-link"); + if (IS_ERR(phy->clk)) { +- pr_err("%s: can't get ulpi clock\n", __func__); +- return PTR_ERR(phy->clk); ++ err = PTR_ERR(phy->clk); ++ dev_err(phy->u_phy.dev, "Failed to get ULPI clock: %d\n", err); ++ return err; + } + + err = devm_gpio_request(phy->u_phy.dev, phy->reset_gpio, + "ulpi_phy_reset_b"); + if (err < 0) { +- dev_err(phy->u_phy.dev, "request failed for gpio: %d\n", +- phy->reset_gpio); ++ dev_err(phy->u_phy.dev, "Request failed for GPIO %d: %d\n", ++ phy->reset_gpio, err); + return err; + } + + err = gpio_direction_output(phy->reset_gpio, 0); + if (err < 0) { +- dev_err(phy->u_phy.dev, "gpio %d direction not set to output\n", +- phy->reset_gpio); ++ dev_err(phy->u_phy.dev, ++ "GPIO %d direction not set to output: %d\n", ++ phy->reset_gpio, err); + return err; + } + + phy->ulpi = otg_ulpi_create(&ulpi_viewport_access_ops, 0); + if (!phy->ulpi) { +- dev_err(phy->u_phy.dev, "otg_ulpi_create returned NULL\n"); ++ dev_err(phy->u_phy.dev, "Failed to create ULPI OTG\n"); + err = -ENOMEM; + return err; + } +@@ -766,8 +774,10 @@ static int tegra_usb_phy_init(struct tegra_usb_phy *phy) + + phy->pll_u = devm_clk_get(phy->u_phy.dev, "pll_u"); + if (IS_ERR(phy->pll_u)) { +- pr_err("Can't get pll_u clock\n"); +- return PTR_ERR(phy->pll_u); ++ err = PTR_ERR(phy->pll_u); ++ dev_err(phy->u_phy.dev, ++ "Failed to get pll_u clock: %d\n", err); ++ return err; + } + + err = clk_prepare_enable(phy->pll_u); +@@ -782,7 +792,8 @@ static int tegra_usb_phy_init(struct tegra_usb_phy *phy) + } + } + if (!phy->freq) { +- pr_err("invalid pll_u parent rate %ld\n", parent_rate); ++ dev_err(phy->u_phy.dev, "Invalid pll_u parent rate %ld\n", ++ parent_rate); + err = -EINVAL; + goto fail; + } +@@ -791,7 +802,7 @@ static int tegra_usb_phy_init(struct tegra_usb_phy *phy) + err = regulator_enable(phy->vbus); + if (err) { + dev_err(phy->u_phy.dev, +- "failed to enable usb vbus regulator: %d\n", ++ "Failed to enable USB VBUS regulator: %d\n", + err); + goto fail; + } +@@ -855,7 +866,8 @@ static int read_utmi_param(struct platform_device *pdev, const char *param, + int err = of_property_read_u32(pdev->dev.of_node, param, &value); + *dest = (u8)value; + if (err < 0) +- dev_err(&pdev->dev, "Failed to read USB UTMI parameter %s: %d\n", ++ dev_err(&pdev->dev, ++ "Failed to read USB UTMI parameter %s: %d\n", + param, err); + return err; + } +@@ -871,14 +883,14 @@ static int utmi_phy_probe(struct tegra_usb_phy *tegra_phy, + + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); + if (!res) { +- dev_err(&pdev->dev, "Failed to get UTMI Pad regs\n"); ++ dev_err(&pdev->dev, "Failed to get UTMI pad regs\n"); + return -ENXIO; + } + + tegra_phy->pad_regs = devm_ioremap(&pdev->dev, res->start, + resource_size(res)); + if (!tegra_phy->pad_regs) { +- dev_err(&pdev->dev, "Failed to remap UTMI Pad regs\n"); ++ dev_err(&pdev->dev, "Failed to remap UTMI pad regs\n"); + return -ENOMEM; + } + +@@ -1020,15 +1032,16 @@ static int tegra_usb_phy_probe(struct platform_device *pdev) + tegra_phy->reset_gpio = + of_get_named_gpio(np, "nvidia,phy-reset-gpio", 0); + if (!gpio_is_valid(tegra_phy->reset_gpio)) { +- dev_err(&pdev->dev, "invalid gpio: %d\n", +- tegra_phy->reset_gpio); ++ dev_err(&pdev->dev, ++ "Invalid GPIO: %d\n", tegra_phy->reset_gpio); + return tegra_phy->reset_gpio; + } + tegra_phy->config = NULL; + break; + + default: +- dev_err(&pdev->dev, "phy_type is invalid or unsupported\n"); ++ dev_err(&pdev->dev, "phy_type %u is invalid or unsupported\n", ++ phy_type); + return -EINVAL; + } + + +From patchwork Mon Apr 9 22:02:58 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v3, + 2/3] usb: tegra: Move utmi-pads reset from ehci-tegra to tegra-phy +X-Patchwork-Submitter: Dmitry Osipenko +X-Patchwork-Id: 896435 +Message-Id: <66330166c6a53e8f463ec231e3cb8195fa3036cc.1523307883.git.digetx@gmail.com> +To: Thierry Reding , + Jonathan Hunter , Felipe Balbi , + Alan Stern , + Greg Kroah-Hartman +Cc: linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, + linux-kernel@vger.kernel.org +Date: Tue, 10 Apr 2018 01:02:58 +0300 +From: Dmitry Osipenko +List-Id: + +UTMI pads are shared by USB controllers and reset of UTMI pads is shared +with the reset of USB1 controller. Currently reset of UTMI pads is done by +the EHCI driver and ChipIdea UDC works because EHCI driver always happen +to be probed first. Move reset controls from ehci-tegra to tegra-phy in +order to resolve the problem. + +Signed-off-by: Dmitry Osipenko +--- + drivers/usb/host/ehci-tegra.c | 87 ++++++++++++++++++--------------------- + drivers/usb/phy/phy-tegra-usb.c | 79 ++++++++++++++++++++++++++++++++--- + include/linux/usb/tegra_usb_phy.h | 2 + + 3 files changed, 115 insertions(+), 53 deletions(-) + +diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c +index a6f4389f7e88..4d2cdec4cb78 100644 +--- a/drivers/usb/host/ehci-tegra.c ++++ b/drivers/usb/host/ehci-tegra.c +@@ -36,7 +36,6 @@ + #define DRV_NAME "tegra-ehci" + + static struct hc_driver __read_mostly tegra_ehci_hc_driver; +-static bool usb1_reset_attempted; + + struct tegra_ehci_soc_config { + bool has_hostpc; +@@ -51,67 +50,54 @@ struct tegra_ehci_hcd { + enum tegra_usb_phy_port_speed port_speed; + }; + +-/* +- * The 1st USB controller contains some UTMI pad registers that are global for +- * all the controllers on the chip. Those registers are also cleared when +- * reset is asserted to the 1st controller. This means that the 1st controller +- * can only be reset when no other controlled has finished probing. So we'll +- * reset the 1st controller before doing any other setup on any of the +- * controllers, and then never again. +- * +- * Since this is a PHY issue, the Tegra PHY driver should probably be doing +- * the resetting of the USB controllers. But to keep compatibility with old +- * device trees that don't have reset phandles in the PHYs, do it here. +- * Those old DTs will be vulnerable to total USB breakage if the 1st EHCI +- * device isn't the first one to finish probing, so warn them. +- */ + static int tegra_reset_usb_controller(struct platform_device *pdev) + { + struct device_node *phy_np; + struct usb_hcd *hcd = platform_get_drvdata(pdev); + struct tegra_ehci_hcd *tegra = + (struct tegra_ehci_hcd *)hcd_to_ehci(hcd)->priv; +- bool has_utmi_pad_registers = false; ++ struct reset_control *rst; ++ int err; + + phy_np = of_parse_phandle(pdev->dev.of_node, "nvidia,phy", 0); + if (!phy_np) + return -ENOENT; + +- if (of_property_read_bool(phy_np, "nvidia,has-utmi-pad-registers")) +- has_utmi_pad_registers = true; ++ /* ++ * The 1st USB controller contains some UTMI pad registers that are ++ * global for all the controllers on the chip. Those registers are ++ * also cleared when reset is asserted to the 1st controller. ++ */ ++ rst = of_reset_control_get_shared(phy_np, "utmi-pads"); ++ if (IS_ERR(rst)) { ++ dev_warn(&pdev->dev, ++ "can't get utmi-pads reset from the PHY\n"); ++ dev_warn(&pdev->dev, ++ "continuing, but please update your DT\n"); ++ } else { ++ /* ++ * PHY driver performs UTMI-pads reset in a case of ++ * non-legacy DT. ++ */ ++ reset_control_put(rst); ++ } + +- if (!usb1_reset_attempted) { +- struct reset_control *usb1_reset; ++ of_node_put(phy_np); + +- if (!has_utmi_pad_registers) +- usb1_reset = of_reset_control_get(phy_np, "utmi-pads"); +- else +- usb1_reset = tegra->rst; +- +- if (IS_ERR(usb1_reset)) { +- dev_warn(&pdev->dev, +- "can't get utmi-pads reset from the PHY\n"); +- dev_warn(&pdev->dev, +- "continuing, but please update your DT\n"); +- } else { +- reset_control_assert(usb1_reset); +- udelay(1); +- reset_control_deassert(usb1_reset); +- +- if (!has_utmi_pad_registers) +- reset_control_put(usb1_reset); +- } ++ /* reset control is shared, hence initialize it first */ ++ err = reset_control_deassert(tegra->rst); ++ if (err) ++ return err; + +- usb1_reset_attempted = true; +- } ++ err = reset_control_assert(tegra->rst); ++ if (err) ++ return err; + +- if (!has_utmi_pad_registers) { +- reset_control_assert(tegra->rst); +- udelay(1); +- reset_control_deassert(tegra->rst); +- } ++ udelay(1); + +- of_node_put(phy_np); ++ err = reset_control_deassert(tegra->rst); ++ if (err) ++ return err; + + return 0; + } +@@ -440,7 +426,7 @@ static int tegra_ehci_probe(struct platform_device *pdev) + goto cleanup_hcd_create; + } + +- tegra->rst = devm_reset_control_get(&pdev->dev, "usb"); ++ tegra->rst = devm_reset_control_get_shared(&pdev->dev, "usb"); + if (IS_ERR(tegra->rst)) { + dev_err(&pdev->dev, "Can't get ehci reset\n"); + err = PTR_ERR(tegra->rst); +@@ -452,8 +438,10 @@ static int tegra_ehci_probe(struct platform_device *pdev) + goto cleanup_hcd_create; + + err = tegra_reset_usb_controller(pdev); +- if (err) ++ if (err) { ++ dev_err(&pdev->dev, "Failed to reset controller\n"); + goto cleanup_clk_en; ++ } + + u_phy = devm_usb_get_phy_by_phandle(&pdev->dev, "nvidia,phy", 0); + if (IS_ERR(u_phy)) { +@@ -538,6 +526,9 @@ static int tegra_ehci_remove(struct platform_device *pdev) + usb_phy_shutdown(hcd->usb_phy); + usb_remove_hcd(hcd); + ++ reset_control_assert(tegra->rst); ++ udelay(1); ++ + clk_disable_unprepare(tegra->clk); + + usb_put_hcd(hcd); +diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c +index e46219e7fa93..ea7ef1dc0b42 100644 +--- a/drivers/usb/phy/phy-tegra-usb.c ++++ b/drivers/usb/phy/phy-tegra-usb.c +@@ -236,17 +236,83 @@ static void set_phcd(struct tegra_usb_phy *phy, bool enable) + + static int utmip_pad_open(struct tegra_usb_phy *phy) + { +- int err; ++ int ret; + + phy->pad_clk = devm_clk_get(phy->u_phy.dev, "utmi-pads"); + if (IS_ERR(phy->pad_clk)) { +- err = PTR_ERR(phy->pad_clk); ++ ret = PTR_ERR(phy->pad_clk); + dev_err(phy->u_phy.dev, +- "Failed to get UTMIP pad clock: %d\n", err); +- return err; ++ "Failed to get UTMIP pad clock: %d\n", ret); ++ return ret; + } + +- return 0; ++ phy->pad_rst = devm_reset_control_get_optional_shared( ++ phy->u_phy.dev, "utmi-pads"); ++ if (IS_ERR(phy->pad_rst)) { ++ ret = PTR_ERR(phy->pad_rst); ++ dev_err(phy->u_phy.dev, ++ "Failed to get UTMI-pads reset: %d\n", ret); ++ return ret; ++ } ++ ++ ret = clk_prepare_enable(phy->pad_clk); ++ if (ret) { ++ dev_err(phy->u_phy.dev, ++ "Failed to enable UTMI-pads clock: %d\n", ret); ++ return ret; ++ } ++ ++ spin_lock(&utmip_pad_lock); ++ ++ ret = reset_control_deassert(phy->pad_rst); ++ if (ret) { ++ dev_err(phy->u_phy.dev, ++ "Failed to initialize UTMI-pads reset: %d\n", ret); ++ goto unlock; ++ } ++ ++ ret = reset_control_assert(phy->pad_rst); ++ if (ret) { ++ dev_err(phy->u_phy.dev, ++ "Failed to assert UTMI-pads reset: %d\n", ret); ++ goto unlock; ++ } ++ ++ udelay(1); ++ ++ ret = reset_control_deassert(phy->pad_rst); ++ if (ret) ++ dev_err(phy->u_phy.dev, ++ "Failed to deassert UTMI-pads reset: %d\n", ret); ++unlock: ++ spin_unlock(&utmip_pad_lock); ++ ++ clk_disable_unprepare(phy->pad_clk); ++ ++ return ret; ++} ++ ++static int utmip_pad_close(struct tegra_usb_phy *phy) ++{ ++ int ret; ++ ++ ret = clk_prepare_enable(phy->pad_clk); ++ if (ret) { ++ dev_err(phy->u_phy.dev, ++ "Failed to enable UTMI-pads clock: %d\n", ret); ++ return ret; ++ } ++ ++ ret = reset_control_assert(phy->pad_rst); ++ if (ret) ++ dev_err(phy->u_phy.dev, ++ "Failed to assert UTMI-pads reset: %d\n", ret); ++ ++ udelay(1); ++ ++ clk_disable_unprepare(phy->pad_clk); ++ ++ return ret; + } + + static void utmip_pad_power_on(struct tegra_usb_phy *phy) +@@ -700,6 +766,9 @@ static void tegra_usb_phy_close(struct tegra_usb_phy *phy) + if (!IS_ERR(phy->vbus)) + regulator_disable(phy->vbus); + ++ if (!phy->is_ulpi_phy) ++ utmip_pad_close(phy); ++ + clk_disable_unprepare(phy->pll_u); + } + +diff --git a/include/linux/usb/tegra_usb_phy.h b/include/linux/usb/tegra_usb_phy.h +index d641ea1660b7..0c5c3ea8b2d7 100644 +--- a/include/linux/usb/tegra_usb_phy.h ++++ b/include/linux/usb/tegra_usb_phy.h +@@ -17,6 +17,7 @@ + #define __TEGRA_USB_PHY_H + + #include ++#include + #include + + /* +@@ -76,6 +77,7 @@ struct tegra_usb_phy { + bool is_legacy_phy; + bool is_ulpi_phy; + int reset_gpio; ++ struct reset_control *pad_rst; + }; + + void tegra_usb_phy_preresume(struct usb_phy *phy); + +From patchwork Mon Apr 9 22:02:59 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v3,3/3] usb: phy: Add Kconfig entry for Tegra PHY driver +X-Patchwork-Submitter: Dmitry Osipenko +X-Patchwork-Id: 896434 +Message-Id: +To: Thierry Reding , + Jonathan Hunter , Felipe Balbi , + Alan Stern , + Greg Kroah-Hartman +Cc: linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, + linux-kernel@vger.kernel.org +Date: Tue, 10 Apr 2018 01:02:59 +0300 +From: Dmitry Osipenko +List-Id: + +Tegra's EHCI driver has a build dependency on Tegra's PHY driver and +currently Tegra's PHY driver is built only when Tegra's EHCI driver is +built. Add own Kconfig entry for the Tegra's PHY driver so that drivers +other than ehci-tegra (like ChipIdea UDC) could work with ehci-tegra +driver being disabled in kernels config by allowing user to manually +select the PHY driver. + +Signed-off-by: Dmitry Osipenko +--- + drivers/usb/host/Kconfig | 4 +--- + drivers/usb/phy/Kconfig | 9 +++++++++ + drivers/usb/phy/Makefile | 2 +- + 3 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig +index 5d958da8e1bc..9f0aeb068acb 100644 +--- a/drivers/usb/host/Kconfig ++++ b/drivers/usb/host/Kconfig +@@ -234,9 +234,7 @@ config USB_EHCI_TEGRA + tristate "NVIDIA Tegra HCD support" + depends on ARCH_TEGRA + select USB_EHCI_ROOT_HUB_TT +- select USB_PHY +- select USB_ULPI +- select USB_ULPI_VIEWPORT ++ select USB_TEGRA_PHY + help + This driver enables support for the internal USB Host Controllers + found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. +diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig +index 0f8ab981d572..b9b0a44be679 100644 +--- a/drivers/usb/phy/Kconfig ++++ b/drivers/usb/phy/Kconfig +@@ -159,6 +159,15 @@ config USB_MXS_PHY + + MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. + ++config USB_TEGRA_PHY ++ tristate "NVIDIA Tegra USB PHY Driver" ++ depends on ARCH_TEGRA ++ select USB_PHY ++ select USB_ULPI ++ help ++ This driver provides PHY support for the USB controllers found ++ on NVIDIA Tegra SoC's. ++ + config USB_ULPI + bool "Generic ULPI Transceiver Driver" + depends on ARM || ARM64 +diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile +index 25e579fb92b8..df1d99010079 100644 +--- a/drivers/usb/phy/Makefile ++++ b/drivers/usb/phy/Makefile +@@ -16,7 +16,7 @@ obj-$(CONFIG_AM335X_CONTROL_USB) += phy-am335x-control.o + obj-$(CONFIG_AM335X_PHY_USB) += phy-am335x.o + obj-$(CONFIG_OMAP_OTG) += phy-omap-otg.o + obj-$(CONFIG_TWL6030_USB) += phy-twl6030-usb.o +-obj-$(CONFIG_USB_EHCI_TEGRA) += phy-tegra-usb.o ++obj-$(CONFIG_USB_TEGRA_PHY) += phy-tegra-usb.o + obj-$(CONFIG_USB_GPIO_VBUS) += phy-gpio-vbus-usb.o + obj-$(CONFIG_USB_ISP1301) += phy-isp1301.o + obj-$(CONFIG_USB_MV_OTG) += phy-mv-usb.o diff --git a/arm-tegra-fix-nouveau-crash.patch b/arm-tegra-fix-nouveau-crash.patch new file mode 100644 index 000000000..d1d7c61a6 --- /dev/null +++ b/arm-tegra-fix-nouveau-crash.patch @@ -0,0 +1,64 @@ +From 369971aa0101c4cfb84dacaaaa1b5cc5790c14ff Mon Sep 17 00:00:00 2001 +From: Thierry Reding +Date: Wed, 11 Apr 2018 10:34:17 +0200 +Subject: [PATCH] drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping + +Depending on the kernel configuration, early ARM architecture setup code +may have attached the GPU to a DMA/IOMMU mapping that transparently uses +the IOMMU to back the DMA API. Tegra requires special handling for IOMMU +backed buffers (a special bit in the GPU's MMU page tables indicates the +memory path to take: via the SMMU or directly to the memory controller). +Transparently backing DMA memory with an IOMMU prevents Nouveau from +properly handling such memory accesses and causes memory access faults. + +As a side-note: buffers other than those allocated in instance memory +don't need to be physically contiguous from the GPU's perspective since +the GPU can map them into contiguous buffers using its own MMU. Mapping +these buffers through the IOMMU is unnecessary and will even lead to +performance degradation because of the additional translation. + +Signed-off-by: Thierry Reding +--- + drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +index 1f07999aea1d..ac7706f56f6f 100644 +--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c ++++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +@@ -19,6 +19,11 @@ + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ ++ ++#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU) ++#include ++#endif ++ + #include + #ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER + #include "priv.h" +@@ -105,6 +110,20 @@ nvkm_device_tegra_probe_iommu(struct nvkm_device_tegra *tdev) + unsigned long pgsize_bitmap; + int ret; + ++#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU) ++ if (dev->archdata.mapping) { ++ struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev); ++ ++ arm_iommu_release_mapping(mapping); ++ arm_iommu_detach_device(dev); ++ ++ if (dev->archdata.dma_coherent) ++ set_dma_ops(dev, &arm_coherent_dma_ops); ++ else ++ set_dma_ops(dev, &arm_dma_ops); ++ } ++#endif ++ + if (!tdev->func->iommu_bit) + return; + +-- +2.16.3 + diff --git a/arm64-fix-usercopy-whitelist.patch b/arm64-fix-usercopy-whitelist.patch new file mode 100644 index 000000000..cf66dd1b3 --- /dev/null +++ b/arm64-fix-usercopy-whitelist.patch @@ -0,0 +1,857 @@ +From patchwork Wed Mar 28 09:50:48 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,1/2] arm64: fpsimd: Split cpu field out from struct fpsimd_state +From: Dave P Martin +X-Patchwork-Id: 10312693 +Message-Id: <1522230649-22008-2-git-send-email-Dave.Martin@arm.com> +To: linux-arm-kernel@lists.infradead.org +Cc: Mark Rutland , Will Deacon , + Kees Cook +Date: Wed, 28 Mar 2018 10:50:48 +0100 + +In preparation for using a common representation of the FPSIMD +state for tasks and KVM vcpus, this patch separates out the "cpu" +field that is used to track the cpu on which the state was most +recently loaded. + +This will allow common code to operate on task and vcpu contexts +without requiring the cpu field to be stored at the same offset +from the FPSIMD register data in both cases. This should avoid the +need for messing with the definition of those parts of struct +vcpu_arch that are exposed in the KVM user ABI. + +The resulting change is also convenient for grouping and defining +the set of thread_struct fields that are supposed to be accessible +to copy_{to,from}_user(), which includes user_fpsimd_state but +should exclude the cpu field. This patch does not amend the +usercopy whitelist to match: that will be addressed in a subsequent +patch. + +Signed-off-by: Dave Martin +--- + arch/arm64/include/asm/fpsimd.h | 29 ++------------------------ + arch/arm64/include/asm/processor.h | 4 ++-- + arch/arm64/kernel/fpsimd.c | 42 +++++++++++++++++++++----------------- + arch/arm64/kernel/ptrace.c | 10 ++++----- + arch/arm64/kernel/signal.c | 3 +-- + arch/arm64/kernel/signal32.c | 3 +-- + 6 files changed, 34 insertions(+), 57 deletions(-) + +diff --git a/arch/arm64/include/asm/fpsimd.h b/arch/arm64/include/asm/fpsimd.h +index 8857a0f..1bfc920 100644 +--- a/arch/arm64/include/asm/fpsimd.h ++++ b/arch/arm64/include/asm/fpsimd.h +@@ -24,31 +24,6 @@ + #include + #include + +-/* +- * FP/SIMD storage area has: +- * - FPSR and FPCR +- * - 32 128-bit data registers +- * +- * Note that user_fpsimd forms a prefix of this structure, which is +- * relied upon in the ptrace FP/SIMD accessors. +- */ +-struct fpsimd_state { +- union { +- struct user_fpsimd_state user_fpsimd; +- struct { +- __uint128_t vregs[32]; +- u32 fpsr; +- u32 fpcr; +- /* +- * For ptrace compatibility, pad to next 128-bit +- * boundary here if extending this struct. +- */ +- }; +- }; +- /* the id of the last cpu to have restored this state */ +- unsigned int cpu; +-}; +- + #if defined(__KERNEL__) && defined(CONFIG_COMPAT) + /* Masks for extracting the FPSR and FPCR from the FPSCR */ + #define VFP_FPSCR_STAT_MASK 0xf800009f +@@ -62,8 +37,8 @@ struct fpsimd_state { + + struct task_struct; + +-extern void fpsimd_save_state(struct fpsimd_state *state); +-extern void fpsimd_load_state(struct fpsimd_state *state); ++extern void fpsimd_save_state(struct user_fpsimd_state *state); ++extern void fpsimd_load_state(struct user_fpsimd_state *state); + + extern void fpsimd_thread_switch(struct task_struct *next); + extern void fpsimd_flush_thread(void); +diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h +index fce604e..4a04535 100644 +--- a/arch/arm64/include/asm/processor.h ++++ b/arch/arm64/include/asm/processor.h +@@ -37,7 +37,6 @@ + #include + + #include +-#include + #include + #include + #include +@@ -107,7 +106,8 @@ struct thread_struct { + #ifdef CONFIG_COMPAT + unsigned long tp2_value; + #endif +- struct fpsimd_state fpsimd_state; ++ struct user_fpsimd_state fpsimd_state; ++ unsigned int fpsimd_cpu; + void *sve_state; /* SVE registers, if any */ + unsigned int sve_vl; /* SVE vector length */ + unsigned int sve_vl_onexec; /* SVE vl after next exec */ +diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c +index e7226c4..c4be311 100644 +--- a/arch/arm64/kernel/fpsimd.c ++++ b/arch/arm64/kernel/fpsimd.c +@@ -64,7 +64,7 @@ + * been loaded into its FPSIMD registers most recently, or whether it has + * been used to perform kernel mode NEON in the meantime. + * +- * For (a), we add a 'cpu' field to struct fpsimd_state, which gets updated to ++ * For (a), we add a fpsimd_cpu field to thread_struct, which gets updated to + * the id of the current CPU every time the state is loaded onto a CPU. For (b), + * we add the per-cpu variable 'fpsimd_last_state' (below), which contains the + * address of the userland FPSIMD state of the task that was loaded onto the CPU +@@ -73,7 +73,7 @@ + * With this in place, we no longer have to restore the next FPSIMD state right + * when switching between tasks. Instead, we can defer this check to userland + * resume, at which time we verify whether the CPU's fpsimd_last_state and the +- * task's fpsimd_state.cpu are still mutually in sync. If this is the case, we ++ * task's fpsimd_cpu are still mutually in sync. If this is the case, we + * can omit the FPSIMD restore. + * + * As an optimization, we use the thread_info flag TIF_FOREIGN_FPSTATE to +@@ -90,14 +90,14 @@ + * flag with local_bh_disable() unless softirqs are already masked. + * + * For a certain task, the sequence may look something like this: +- * - the task gets scheduled in; if both the task's fpsimd_state.cpu field ++ * - the task gets scheduled in; if both the task's fpsimd_cpu field + * contains the id of the current CPU, and the CPU's fpsimd_last_state per-cpu + * variable points to the task's fpsimd_state, the TIF_FOREIGN_FPSTATE flag is + * cleared, otherwise it is set; + * + * - the task returns to userland; if TIF_FOREIGN_FPSTATE is set, the task's + * userland FPSIMD state is copied from memory to the registers, the task's +- * fpsimd_state.cpu field is set to the id of the current CPU, the current ++ * fpsimd_cpu field is set to the id of the current CPU, the current + * CPU's fpsimd_last_state pointer is set to this task's fpsimd_state and the + * TIF_FOREIGN_FPSTATE flag is cleared; + * +@@ -115,7 +115,7 @@ + * whatever is in the FPSIMD registers is not saved to memory, but discarded. + */ + struct fpsimd_last_state_struct { +- struct fpsimd_state *st; ++ struct user_fpsimd_state *st; + bool sve_in_use; + }; + +@@ -417,7 +417,7 @@ static void fpsimd_to_sve(struct task_struct *task) + { + unsigned int vq; + void *sst = task->thread.sve_state; +- struct fpsimd_state const *fst = &task->thread.fpsimd_state; ++ struct user_fpsimd_state const *fst = &task->thread.fpsimd_state; + unsigned int i; + + if (!system_supports_sve()) +@@ -443,7 +443,7 @@ static void sve_to_fpsimd(struct task_struct *task) + { + unsigned int vq; + void const *sst = task->thread.sve_state; +- struct fpsimd_state *fst = &task->thread.fpsimd_state; ++ struct user_fpsimd_state *fst = &task->thread.fpsimd_state; + unsigned int i; + + if (!system_supports_sve()) +@@ -539,7 +539,7 @@ void sve_sync_from_fpsimd_zeropad(struct task_struct *task) + { + unsigned int vq; + void *sst = task->thread.sve_state; +- struct fpsimd_state const *fst = &task->thread.fpsimd_state; ++ struct user_fpsimd_state const *fst = &task->thread.fpsimd_state; + unsigned int i; + + if (!test_tsk_thread_flag(task, TIF_SVE)) +@@ -908,10 +908,9 @@ void fpsimd_thread_switch(struct task_struct *next) + * the TIF_FOREIGN_FPSTATE flag so the state will be loaded + * upon the next return to userland. + */ +- struct fpsimd_state *st = &next->thread.fpsimd_state; +- +- if (__this_cpu_read(fpsimd_last_state.st) == st +- && st->cpu == smp_processor_id()) ++ if (__this_cpu_read(fpsimd_last_state.st) == ++ &next->thread.fpsimd_state ++ && next->thread.fpsimd_cpu == smp_processor_id()) + clear_tsk_thread_flag(next, TIF_FOREIGN_FPSTATE); + else + set_tsk_thread_flag(next, TIF_FOREIGN_FPSTATE); +@@ -927,7 +926,8 @@ void fpsimd_flush_thread(void) + + local_bh_disable(); + +- memset(¤t->thread.fpsimd_state, 0, sizeof(struct fpsimd_state)); ++ memset(¤t->thread.fpsimd_state, 0, ++ sizeof current->thread.fpsimd_state); + fpsimd_flush_task_state(current); + + if (system_supports_sve()) { +@@ -1004,11 +1004,10 @@ static void fpsimd_bind_to_cpu(void) + { + struct fpsimd_last_state_struct *last = + this_cpu_ptr(&fpsimd_last_state); +- struct fpsimd_state *st = ¤t->thread.fpsimd_state; + +- last->st = st; ++ last->st = ¤t->thread.fpsimd_state; + last->sve_in_use = test_thread_flag(TIF_SVE); +- st->cpu = smp_processor_id(); ++ current->thread.fpsimd_cpu = smp_processor_id(); + } + + /* +@@ -1043,7 +1042,7 @@ void fpsimd_update_current_state(struct user_fpsimd_state const *state) + + local_bh_disable(); + +- current->thread.fpsimd_state.user_fpsimd = *state; ++ current->thread.fpsimd_state = *state; + if (system_supports_sve() && test_thread_flag(TIF_SVE)) + fpsimd_to_sve(current); + +@@ -1055,12 +1054,17 @@ void fpsimd_update_current_state(struct user_fpsimd_state const *state) + local_bh_enable(); + } + ++void fpsimd_flush_state(unsigned int *cpu) ++{ ++ *cpu = NR_CPUS; ++} ++ + /* + * Invalidate live CPU copies of task t's FPSIMD state + */ + void fpsimd_flush_task_state(struct task_struct *t) + { +- t->thread.fpsimd_state.cpu = NR_CPUS; ++ fpsimd_flush_state(&t->thread.fpsimd_cpu); + } + + static inline void fpsimd_flush_cpu_state(void) +@@ -1159,7 +1163,7 @@ EXPORT_SYMBOL(kernel_neon_end); + + #ifdef CONFIG_EFI + +-static DEFINE_PER_CPU(struct fpsimd_state, efi_fpsimd_state); ++static DEFINE_PER_CPU(struct user_fpsimd_state, efi_fpsimd_state); + static DEFINE_PER_CPU(bool, efi_fpsimd_state_used); + static DEFINE_PER_CPU(bool, efi_sve_state_used); + +diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c +index 9ae31f7..fdeaba0de 100644 +--- a/arch/arm64/kernel/ptrace.c ++++ b/arch/arm64/kernel/ptrace.c +@@ -629,7 +629,7 @@ static int __fpr_get(struct task_struct *target, + + sve_sync_to_fpsimd(target); + +- uregs = &target->thread.fpsimd_state.user_fpsimd; ++ uregs = &target->thread.fpsimd_state; + + return user_regset_copyout(&pos, &count, &kbuf, &ubuf, uregs, + start_pos, start_pos + sizeof(*uregs)); +@@ -660,14 +660,14 @@ static int __fpr_set(struct task_struct *target, + */ + sve_sync_to_fpsimd(target); + +- newstate = target->thread.fpsimd_state.user_fpsimd; ++ newstate = target->thread.fpsimd_state; + + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &newstate, + start_pos, start_pos + sizeof(newstate)); + if (ret) + return ret; + +- target->thread.fpsimd_state.user_fpsimd = newstate; ++ target->thread.fpsimd_state = newstate; + + return ret; + } +@@ -1169,7 +1169,7 @@ static int compat_vfp_get(struct task_struct *target, + compat_ulong_t fpscr; + int ret, vregs_end_pos; + +- uregs = &target->thread.fpsimd_state.user_fpsimd; ++ uregs = &target->thread.fpsimd_state; + + if (target == current) + fpsimd_preserve_current_state(); +@@ -1202,7 +1202,7 @@ static int compat_vfp_set(struct task_struct *target, + compat_ulong_t fpscr; + int ret, vregs_end_pos; + +- uregs = &target->thread.fpsimd_state.user_fpsimd; ++ uregs = &target->thread.fpsimd_state; + + vregs_end_pos = VFP_STATE_SIZE - sizeof(compat_ulong_t); + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, uregs, 0, +diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c +index f60c052..d026615 100644 +--- a/arch/arm64/kernel/signal.c ++++ b/arch/arm64/kernel/signal.c +@@ -178,8 +178,7 @@ static void __user *apply_user_offset( + + static int preserve_fpsimd_context(struct fpsimd_context __user *ctx) + { +- struct user_fpsimd_state const *fpsimd = +- ¤t->thread.fpsimd_state.user_fpsimd; ++ struct user_fpsimd_state const *fpsimd = ¤t->thread.fpsimd_state; + int err; + + /* copy the FP and status/control registers */ +diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c +index 79feb86..4ea38d3 100644 +--- a/arch/arm64/kernel/signal32.c ++++ b/arch/arm64/kernel/signal32.c +@@ -148,8 +148,7 @@ union __fpsimd_vreg { + + static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user *frame) + { +- struct user_fpsimd_state const *fpsimd = +- ¤t->thread.fpsimd_state.user_fpsimd; ++ struct user_fpsimd_state const *fpsimd = ¤t->thread.fpsimd_state; + compat_ulong_t magic = VFP_MAGIC; + compat_ulong_t size = VFP_STORAGE_SIZE; + compat_ulong_t fpscr, fpexc; +From patchwork Wed Mar 28 09:50:49 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,2/2] arm64: uaccess: Fix omissions from usercopy whitelist +From: Dave P Martin +X-Patchwork-Id: 10312691 +Message-Id: <1522230649-22008-3-git-send-email-Dave.Martin@arm.com> +To: linux-arm-kernel@lists.infradead.org +Cc: Mark Rutland , Will Deacon , + Kees Cook +Date: Wed, 28 Mar 2018 10:50:49 +0100 + +When the hardend usercopy support was added for arm64, it was +concluded that all cases of usercopy into and out of thread_struct +were statically sized and so didn't require explicit whitelisting +of the appropriate fields in thread_struct. + +Testing with usercopy hardening enabled has revealed that this is +not the case for certain ptrace regset manipulation calls on arm64. +This occurs because the sizes of usercopies associated with the +regset API are dynamic by construction, and because arm64 does not +always stage such copies via the stack: indeed the regset API is +designed to avoid the need for that by adding some bounds checking. + +This is currently believed to affect only the fpsimd and TLS +registers. + +Because the whitelisted fields in thread_struct must be contiguous, +this patch groups them together in a nested struct. It is also +necessary to be able to determine the location and size of that +struct, so rather than making the struct anonymous (which would +save on edits elsewhere) or adding an anonymous union containing +named and unnamed instances of the same struct (gross), this patch +gives the struct a name and makes the necessary edits to code that +references it (noisy but simple). + +Care is needed to ensure that the new struct does not contain +padding (which the usercopy hardening would fail to protect). + +For this reason, the presence of tp2_value is made unconditional, +since a padding field would be needed there in any case. This pads +up to the 16-byte alignment required by struct user_fpsimd_state. + +Reported-by: Mark Rutland +Fixes: 9e8084d3f761 ("arm64: Implement thread_struct whitelist for hardened usercopy") +Signed-off-by: Dave Martin +Acked-by: Kees Cook +--- + +Changes since v1: + + * Add a BUILD_BUG_ON() check for padding in the whitelist struct. + * Move to using sizeof_field() for assigning *size; get rid of the + dummy pointer that was used previously. + * Delete bogus comment about why no whitelist is (was) needed. +--- + arch/arm64/include/asm/processor.h | 38 +++++++++++++++++++----------- + arch/arm64/kernel/fpsimd.c | 47 +++++++++++++++++++------------------- + arch/arm64/kernel/process.c | 6 ++--- + arch/arm64/kernel/ptrace.c | 30 ++++++++++++------------ + arch/arm64/kernel/signal.c | 3 ++- + arch/arm64/kernel/signal32.c | 3 ++- + arch/arm64/kernel/sys_compat.c | 2 +- + 7 files changed, 72 insertions(+), 57 deletions(-) + +diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h +index 4a04535..224af48 100644 +--- a/arch/arm64/include/asm/processor.h ++++ b/arch/arm64/include/asm/processor.h +@@ -34,6 +34,8 @@ + + #ifdef __KERNEL__ + ++#include ++#include + #include + + #include +@@ -102,11 +104,18 @@ struct cpu_context { + + struct thread_struct { + struct cpu_context cpu_context; /* cpu context */ +- unsigned long tp_value; /* TLS register */ +-#ifdef CONFIG_COMPAT +- unsigned long tp2_value; +-#endif +- struct user_fpsimd_state fpsimd_state; ++ ++ /* ++ * Whitelisted fields for hardened usercopy: ++ * Maintainers must ensure manually that this contains no ++ * implicit padding. ++ */ ++ struct { ++ unsigned long tp_value; /* TLS register */ ++ unsigned long tp2_value; ++ struct user_fpsimd_state fpsimd_state; ++ } uw; ++ + unsigned int fpsimd_cpu; + void *sve_state; /* SVE registers, if any */ + unsigned int sve_vl; /* SVE vector length */ +@@ -116,14 +125,17 @@ struct thread_struct { + struct debug_info debug; /* debugging */ + }; + +-/* +- * Everything usercopied to/from thread_struct is statically-sized, so +- * no hardened usercopy whitelist is needed. +- */ + static inline void arch_thread_struct_whitelist(unsigned long *offset, + unsigned long *size) + { +- *offset = *size = 0; ++ /* Verify that there is no padding among the whitelisted fields: */ ++ BUILD_BUG_ON(sizeof_field(struct thread_struct, uw) != ++ sizeof_field(struct thread_struct, uw.tp_value) + ++ sizeof_field(struct thread_struct, uw.tp2_value) + ++ sizeof_field(struct thread_struct, uw.fpsimd_state)); ++ ++ *offset = offsetof(struct thread_struct, uw); ++ *size = sizeof_field(struct thread_struct, uw); + } + + #ifdef CONFIG_COMPAT +@@ -131,13 +143,13 @@ static inline void arch_thread_struct_whitelist(unsigned long *offset, + ({ \ + unsigned long *__tls; \ + if (is_compat_thread(task_thread_info(t))) \ +- __tls = &(t)->thread.tp2_value; \ ++ __tls = &(t)->thread.uw.tp2_value; \ + else \ +- __tls = &(t)->thread.tp_value; \ ++ __tls = &(t)->thread.uw.tp_value; \ + __tls; \ + }) + #else +-#define task_user_tls(t) (&(t)->thread.tp_value) ++#define task_user_tls(t) (&(t)->thread.uw.tp_value) + #endif + + /* Sync TPIDR_EL0 back to thread_struct for current */ +diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c +index c4be311..7a8ac960b6 100644 +--- a/arch/arm64/kernel/fpsimd.c ++++ b/arch/arm64/kernel/fpsimd.c +@@ -222,7 +222,7 @@ static void sve_user_enable(void) + * sets TIF_SVE. + * + * When stored, FPSIMD registers V0-V31 are encoded in +- * task->fpsimd_state; bits [max : 128] for each of Z0-Z31 are ++ * task->thread.uw.fpsimd_state; bits [max : 128] for each of Z0-Z31 are + * logically zero but not stored anywhere; P0-P15 and FFR are not + * stored and have unspecified values from userspace's point of + * view. For hygiene purposes, the kernel zeroes them on next use, +@@ -231,9 +231,9 @@ static void sve_user_enable(void) + * task->thread.sve_state does not need to be non-NULL, valid or any + * particular size: it must not be dereferenced. + * +- * * FPSR and FPCR are always stored in task->fpsimd_state irrespctive of +- * whether TIF_SVE is clear or set, since these are not vector length +- * dependent. ++ * * FPSR and FPCR are always stored in task->thread.uw.fpsimd_state ++ * irrespective of whether TIF_SVE is clear or set, since these are ++ * not vector length dependent. + */ + + /* +@@ -251,10 +251,10 @@ static void task_fpsimd_load(void) + + if (system_supports_sve() && test_thread_flag(TIF_SVE)) + sve_load_state(sve_pffr(current), +- ¤t->thread.fpsimd_state.fpsr, ++ ¤t->thread.uw.fpsimd_state.fpsr, + sve_vq_from_vl(current->thread.sve_vl) - 1); + else +- fpsimd_load_state(¤t->thread.fpsimd_state); ++ fpsimd_load_state(¤t->thread.uw.fpsimd_state); + + if (system_supports_sve()) { + /* Toggle SVE trapping for userspace if needed */ +@@ -291,9 +291,9 @@ static void task_fpsimd_save(void) + } + + sve_save_state(sve_pffr(current), +- ¤t->thread.fpsimd_state.fpsr); ++ ¤t->thread.uw.fpsimd_state.fpsr); + } else +- fpsimd_save_state(¤t->thread.fpsimd_state); ++ fpsimd_save_state(¤t->thread.uw.fpsimd_state); + } + } + +@@ -404,20 +404,21 @@ static int __init sve_sysctl_init(void) { return 0; } + (SVE_SIG_ZREG_OFFSET(vq, n) - SVE_SIG_REGS_OFFSET)) + + /* +- * Transfer the FPSIMD state in task->thread.fpsimd_state to ++ * Transfer the FPSIMD state in task->thread.uw.fpsimd_state to + * task->thread.sve_state. + * + * Task can be a non-runnable task, or current. In the latter case, + * softirqs (and preemption) must be disabled. + * task->thread.sve_state must point to at least sve_state_size(task) + * bytes of allocated kernel memory. +- * task->thread.fpsimd_state must be up to date before calling this function. ++ * task->thread.uw.fpsimd_state must be up to date before calling this ++ * function. + */ + static void fpsimd_to_sve(struct task_struct *task) + { + unsigned int vq; + void *sst = task->thread.sve_state; +- struct user_fpsimd_state const *fst = &task->thread.fpsimd_state; ++ struct user_fpsimd_state const *fst = &task->thread.uw.fpsimd_state; + unsigned int i; + + if (!system_supports_sve()) +@@ -431,7 +432,7 @@ static void fpsimd_to_sve(struct task_struct *task) + + /* + * Transfer the SVE state in task->thread.sve_state to +- * task->thread.fpsimd_state. ++ * task->thread.uw.fpsimd_state. + * + * Task can be a non-runnable task, or current. In the latter case, + * softirqs (and preemption) must be disabled. +@@ -443,7 +444,7 @@ static void sve_to_fpsimd(struct task_struct *task) + { + unsigned int vq; + void const *sst = task->thread.sve_state; +- struct user_fpsimd_state *fst = &task->thread.fpsimd_state; ++ struct user_fpsimd_state *fst = &task->thread.uw.fpsimd_state; + unsigned int i; + + if (!system_supports_sve()) +@@ -510,7 +511,7 @@ void fpsimd_sync_to_sve(struct task_struct *task) + } + + /* +- * Ensure that task->thread.fpsimd_state is up to date with respect to ++ * Ensure that task->thread.uw.fpsimd_state is up to date with respect to + * the user task, irrespective of whether SVE is in use or not. + * + * This should only be called by ptrace. task must be non-runnable. +@@ -525,21 +526,21 @@ void sve_sync_to_fpsimd(struct task_struct *task) + + /* + * Ensure that task->thread.sve_state is up to date with respect to +- * the task->thread.fpsimd_state. ++ * the task->thread.uw.fpsimd_state. + * + * This should only be called by ptrace to merge new FPSIMD register + * values into a task for which SVE is currently active. + * task must be non-runnable. + * task->thread.sve_state must point to at least sve_state_size(task) + * bytes of allocated kernel memory. +- * task->thread.fpsimd_state must already have been initialised with ++ * task->thread.uw.fpsimd_state must already have been initialised with + * the new FPSIMD register values to be merged in. + */ + void sve_sync_from_fpsimd_zeropad(struct task_struct *task) + { + unsigned int vq; + void *sst = task->thread.sve_state; +- struct user_fpsimd_state const *fst = &task->thread.fpsimd_state; ++ struct user_fpsimd_state const *fst = &task->thread.uw.fpsimd_state; + unsigned int i; + + if (!test_tsk_thread_flag(task, TIF_SVE)) +@@ -909,7 +910,7 @@ void fpsimd_thread_switch(struct task_struct *next) + * upon the next return to userland. + */ + if (__this_cpu_read(fpsimd_last_state.st) == +- &next->thread.fpsimd_state ++ &next->thread.uw.fpsimd_state + && next->thread.fpsimd_cpu == smp_processor_id()) + clear_tsk_thread_flag(next, TIF_FOREIGN_FPSTATE); + else +@@ -926,8 +927,8 @@ void fpsimd_flush_thread(void) + + local_bh_disable(); + +- memset(¤t->thread.fpsimd_state, 0, +- sizeof current->thread.fpsimd_state); ++ memset(¤t->thread.uw.fpsimd_state, 0, ++ sizeof current->thread.uw.fpsimd_state); + fpsimd_flush_task_state(current); + + if (system_supports_sve()) { +@@ -986,7 +987,7 @@ void fpsimd_preserve_current_state(void) + + /* + * Like fpsimd_preserve_current_state(), but ensure that +- * current->thread.fpsimd_state is updated so that it can be copied to ++ * current->thread.uw.fpsimd_state is updated so that it can be copied to + * the signal frame. + */ + void fpsimd_signal_preserve_current_state(void) +@@ -1005,7 +1006,7 @@ static void fpsimd_bind_to_cpu(void) + struct fpsimd_last_state_struct *last = + this_cpu_ptr(&fpsimd_last_state); + +- last->st = ¤t->thread.fpsimd_state; ++ last->st = ¤t->thread.uw.fpsimd_state; + last->sve_in_use = test_thread_flag(TIF_SVE); + current->thread.fpsimd_cpu = smp_processor_id(); + } +@@ -1042,7 +1043,7 @@ void fpsimd_update_current_state(struct user_fpsimd_state const *state) + + local_bh_disable(); + +- current->thread.fpsimd_state = *state; ++ current->thread.uw.fpsimd_state = *state; + if (system_supports_sve() && test_thread_flag(TIF_SVE)) + fpsimd_to_sve(current); + +diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c +index c0da6ef..f08a2ed 100644 +--- a/arch/arm64/kernel/process.c ++++ b/arch/arm64/kernel/process.c +@@ -257,7 +257,7 @@ static void tls_thread_flush(void) + write_sysreg(0, tpidr_el0); + + if (is_compat_task()) { +- current->thread.tp_value = 0; ++ current->thread.uw.tp_value = 0; + + /* + * We need to ensure ordering between the shadow state and the +@@ -351,7 +351,7 @@ int copy_thread(unsigned long clone_flags, unsigned long stack_start, + * for the new thread. + */ + if (clone_flags & CLONE_SETTLS) +- p->thread.tp_value = childregs->regs[3]; ++ p->thread.uw.tp_value = childregs->regs[3]; + } else { + memset(childregs, 0, sizeof(struct pt_regs)); + childregs->pstate = PSR_MODE_EL1h; +@@ -379,7 +379,7 @@ static void tls_thread_switch(struct task_struct *next) + tls_preserve_current_state(); + + if (is_compat_thread(task_thread_info(next))) +- write_sysreg(next->thread.tp_value, tpidrro_el0); ++ write_sysreg(next->thread.uw.tp_value, tpidrro_el0); + else if (!arm64_kernel_unmapped_at_el0()) + write_sysreg(0, tpidrro_el0); + +diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c +index fdeaba0de..436a132 100644 +--- a/arch/arm64/kernel/ptrace.c ++++ b/arch/arm64/kernel/ptrace.c +@@ -629,7 +629,7 @@ static int __fpr_get(struct task_struct *target, + + sve_sync_to_fpsimd(target); + +- uregs = &target->thread.fpsimd_state; ++ uregs = &target->thread.uw.fpsimd_state; + + return user_regset_copyout(&pos, &count, &kbuf, &ubuf, uregs, + start_pos, start_pos + sizeof(*uregs)); +@@ -655,19 +655,19 @@ static int __fpr_set(struct task_struct *target, + struct user_fpsimd_state newstate; + + /* +- * Ensure target->thread.fpsimd_state is up to date, so that a ++ * Ensure target->thread.uw.fpsimd_state is up to date, so that a + * short copyin can't resurrect stale data. + */ + sve_sync_to_fpsimd(target); + +- newstate = target->thread.fpsimd_state; ++ newstate = target->thread.uw.fpsimd_state; + + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &newstate, + start_pos, start_pos + sizeof(newstate)); + if (ret) + return ret; + +- target->thread.fpsimd_state = newstate; ++ target->thread.uw.fpsimd_state = newstate; + + return ret; + } +@@ -692,7 +692,7 @@ static int tls_get(struct task_struct *target, const struct user_regset *regset, + unsigned int pos, unsigned int count, + void *kbuf, void __user *ubuf) + { +- unsigned long *tls = &target->thread.tp_value; ++ unsigned long *tls = &target->thread.uw.tp_value; + + if (target == current) + tls_preserve_current_state(); +@@ -705,13 +705,13 @@ static int tls_set(struct task_struct *target, const struct user_regset *regset, + const void *kbuf, const void __user *ubuf) + { + int ret; +- unsigned long tls = target->thread.tp_value; ++ unsigned long tls = target->thread.uw.tp_value; + + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &tls, 0, -1); + if (ret) + return ret; + +- target->thread.tp_value = tls; ++ target->thread.uw.tp_value = tls; + return ret; + } + +@@ -842,7 +842,7 @@ static int sve_get(struct task_struct *target, + start = end; + end = SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE; + ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, +- &target->thread.fpsimd_state.fpsr, ++ &target->thread.uw.fpsimd_state.fpsr, + start, end); + if (ret) + return ret; +@@ -941,7 +941,7 @@ static int sve_set(struct task_struct *target, + start = end; + end = SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE; + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, +- &target->thread.fpsimd_state.fpsr, ++ &target->thread.uw.fpsimd_state.fpsr, + start, end); + + out: +@@ -1169,7 +1169,7 @@ static int compat_vfp_get(struct task_struct *target, + compat_ulong_t fpscr; + int ret, vregs_end_pos; + +- uregs = &target->thread.fpsimd_state; ++ uregs = &target->thread.uw.fpsimd_state; + + if (target == current) + fpsimd_preserve_current_state(); +@@ -1202,7 +1202,7 @@ static int compat_vfp_set(struct task_struct *target, + compat_ulong_t fpscr; + int ret, vregs_end_pos; + +- uregs = &target->thread.fpsimd_state; ++ uregs = &target->thread.uw.fpsimd_state; + + vregs_end_pos = VFP_STATE_SIZE - sizeof(compat_ulong_t); + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, uregs, 0, +@@ -1225,7 +1225,7 @@ static int compat_tls_get(struct task_struct *target, + const struct user_regset *regset, unsigned int pos, + unsigned int count, void *kbuf, void __user *ubuf) + { +- compat_ulong_t tls = (compat_ulong_t)target->thread.tp_value; ++ compat_ulong_t tls = (compat_ulong_t)target->thread.uw.tp_value; + return user_regset_copyout(&pos, &count, &kbuf, &ubuf, &tls, 0, -1); + } + +@@ -1235,13 +1235,13 @@ static int compat_tls_set(struct task_struct *target, + const void __user *ubuf) + { + int ret; +- compat_ulong_t tls = target->thread.tp_value; ++ compat_ulong_t tls = target->thread.uw.tp_value; + + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &tls, 0, -1); + if (ret) + return ret; + +- target->thread.tp_value = tls; ++ target->thread.uw.tp_value = tls; + return ret; + } + +@@ -1538,7 +1538,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request, + break; + + case COMPAT_PTRACE_GET_THREAD_AREA: +- ret = put_user((compat_ulong_t)child->thread.tp_value, ++ ret = put_user((compat_ulong_t)child->thread.uw.tp_value, + (compat_ulong_t __user *)datap); + break; + +diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c +index d026615..a0c4138 100644 +--- a/arch/arm64/kernel/signal.c ++++ b/arch/arm64/kernel/signal.c +@@ -178,7 +178,8 @@ static void __user *apply_user_offset( + + static int preserve_fpsimd_context(struct fpsimd_context __user *ctx) + { +- struct user_fpsimd_state const *fpsimd = ¤t->thread.fpsimd_state; ++ struct user_fpsimd_state const *fpsimd = ++ ¤t->thread.uw.fpsimd_state; + int err; + + /* copy the FP and status/control registers */ +diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c +index 4ea38d3..884177a 100644 +--- a/arch/arm64/kernel/signal32.c ++++ b/arch/arm64/kernel/signal32.c +@@ -148,7 +148,8 @@ union __fpsimd_vreg { + + static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user *frame) + { +- struct user_fpsimd_state const *fpsimd = ¤t->thread.fpsimd_state; ++ struct user_fpsimd_state const *fpsimd = ++ ¤t->thread.uw.fpsimd_state; + compat_ulong_t magic = VFP_MAGIC; + compat_ulong_t size = VFP_STORAGE_SIZE; + compat_ulong_t fpscr, fpexc; +diff --git a/arch/arm64/kernel/sys_compat.c b/arch/arm64/kernel/sys_compat.c +index a382b2a..9155989 100644 +--- a/arch/arm64/kernel/sys_compat.c ++++ b/arch/arm64/kernel/sys_compat.c +@@ -88,7 +88,7 @@ long compat_arm_syscall(struct pt_regs *regs) + return do_compat_cache_op(regs->regs[0], regs->regs[1], regs->regs[2]); + + case __ARM_NR_compat_set_tls: +- current->thread.tp_value = regs->regs[0]; ++ current->thread.uw.tp_value = regs->regs[0]; + + /* + * Protect against register corruption from context switch. diff --git a/arm64-hikey-fixes.patch b/arm64-hikey-fixes.patch deleted file mode 100644 index 18bc05b2b..000000000 --- a/arm64-hikey-fixes.patch +++ /dev/null @@ -1,77 +0,0 @@ -From patchwork Sat Apr 8 07:18:40 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: reset: hi6220: Set module license so that it can be loaded -From: Jeremy Linton -X-Patchwork-Id: 9670985 -Message-Id: <20170408071840.29380-1-lintonrjeremy@gmail.com> -To: linux-kernel@vger.kernel.org -Cc: p.zabel@pengutronix.de, saberlily.xia@hisilicon.com, - puck.chen@hisilicon.com, xinliang.liu@linaro.org, - Jeremy Linton -Date: Sat, 8 Apr 2017 02:18:40 -0500 - -The hi6220_reset driver can be built as a standalone module -yet it cannot be loaded because it depends on GPL exported symbols. - -Lets set the module license so that the module loads, and things like -the on-board kirin drm starts working. - -Signed-off-by: Jeremy Linton -reviewed-by: Xinliang Liu ---- - drivers/reset/hisilicon/hi6220_reset.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/reset/hisilicon/hi6220_reset.c b/drivers/reset/hisilicon/hi6220_reset.c -index 35ce53e..d5e5229 100644 ---- a/drivers/reset/hisilicon/hi6220_reset.c -+++ b/drivers/reset/hisilicon/hi6220_reset.c -@@ -155,3 +155,5 @@ static int __init hi6220_reset_init(void) - } - - postcore_initcall(hi6220_reset_init); -+ -+MODULE_LICENSE("GPL v2"); -From patchwork Mon Apr 3 05:28:42 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,1/2] regulator: hi655x: Describe consumed platform device -From: Jeremy Linton -X-Patchwork-Id: 9658793 -Message-Id: <20170403052843.12711-2-lintonrjeremy@gmail.com> -To: linux-kernel@vger.kernel.org -Cc: broonie@kernel.org, lgirdwood@gmail.com, puck.chen@hisilicon.com, - lee.jones@linaro.org, Jeremy Linton -Date: Mon, 3 Apr 2017 00:28:42 -0500 - -The hi655x-regulator driver consumes a similarly named platform device. -Adding that to the module device table, allows modprobe to locate this -driver once the device is created. - -Signed-off-by: Jeremy Linton ---- - drivers/regulator/hi655x-regulator.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/regulator/hi655x-regulator.c b/drivers/regulator/hi655x-regulator.c -index 065c100..36ae54b 100644 ---- a/drivers/regulator/hi655x-regulator.c -+++ b/drivers/regulator/hi655x-regulator.c -@@ -214,7 +214,14 @@ static int hi655x_regulator_probe(struct platform_device *pdev) - return 0; - } - -+static const struct platform_device_id hi655x_regulator_table[] = { -+ { .name = "hi655x-regulator" }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(platform, hi655x_regulator_table); -+ - static struct platform_driver hi655x_regulator_driver = { -+ .id_table = hi655x_regulator_table, - .driver = { - .name = "hi655x-regulator", - }, diff --git a/arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch b/arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch deleted file mode 100644 index eaf809d53..000000000 --- a/arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch +++ /dev/null @@ -1,93 +0,0 @@ -From patchwork Thu Oct 6 09:52:07 2016 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: arm64: mm: Fix memmap to be initialized for the entire section -From: Robert Richter -X-Patchwork-Id: 9364537 -Message-Id: <1475747527-32387-1-git-send-email-rrichter@cavium.com> -To: Catalin Marinas , Will Deacon - -Cc: Mark Rutland , linux-efi@vger.kernel.org, - David Daney , - Ard Biesheuvel , - linux-kernel@vger.kernel.org, Robert Richter , - Hanjun Guo , linux-arm-kernel@lists.infradead.org -Date: Thu, 6 Oct 2016 11:52:07 +0200 - -There is a memory setup problem on ThunderX systems with certain -memory configurations. The symptom is - - kernel BUG at mm/page_alloc.c:1848! - -This happens for some configs with 64k page size enabled. The bug -triggers for page zones with some pages in the zone not assigned to -this particular zone. In my case some pages that are marked as nomap -were not reassigned to the new zone of node 1, so those are still -assigned to node 0. - -The reason for the mis-configuration is a change in pfn_valid() which -reports pages marked nomap as invalid: - - 68709f45385a arm64: only consider memblocks with NOMAP cleared for linear mapping - -This causes pages marked as nomap being no long reassigned to the new -zone in memmap_init_zone() by calling __init_single_pfn(). - -Fixing this by restoring the old behavior of pfn_valid() to use -memblock_is_memory(). Also changing users of pfn_valid() in arm64 code -to use memblock_is_map_memory() where necessary. This only affects -code in ioremap.c. The code in mmu.c still can use the new version of -pfn_valid(). - -Should be marked stable v4.5.. - -Signed-off-by: Robert Richter ---- - arch/arm64/mm/init.c | 2 +- - arch/arm64/mm/ioremap.c | 5 +++-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c -index bbb7ee76e319..25b8659c2a9f 100644 ---- a/arch/arm64/mm/init.c -+++ b/arch/arm64/mm/init.c -@@ -147,7 +147,7 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max) - #ifdef CONFIG_HAVE_ARCH_PFN_VALID - int pfn_valid(unsigned long pfn) - { -- return memblock_is_map_memory(pfn << PAGE_SHIFT); -+ return memblock_is_memory(pfn << PAGE_SHIFT); - } - EXPORT_SYMBOL(pfn_valid); - #endif -diff --git a/arch/arm64/mm/ioremap.c b/arch/arm64/mm/ioremap.c -index 01e88c8bcab0..c17c220b0c48 100644 ---- a/arch/arm64/mm/ioremap.c -+++ b/arch/arm64/mm/ioremap.c -@@ -21,6 +21,7 @@ - */ - - #include -+#include - #include - #include - #include -@@ -55,7 +56,7 @@ static void __iomem *__ioremap_caller(phys_addr_t phys_addr, size_t size, - /* - * Don't allow RAM to be mapped. - */ -- if (WARN_ON(pfn_valid(__phys_to_pfn(phys_addr)))) -+ if (WARN_ON(memblock_is_map_memory(phys_addr))) - return NULL; - - area = get_vm_area_caller(size, VM_IOREMAP, caller); -@@ -96,7 +97,7 @@ EXPORT_SYMBOL(__iounmap); - void __iomem *ioremap_cache(phys_addr_t phys_addr, size_t size) - { - /* For normal memory we already have a cacheable mapping. */ -- if (pfn_valid(__phys_to_pfn(phys_addr))) -+ if (memblock_is_map_memory(phys_addr)) - return (void __iomem *)__phys_to_virt(phys_addr); - - return __ioremap_caller(phys_addr, size, __pgprot(PROT_NORMAL), diff --git a/arm64-thunderx-crypto-zip-fixes.patch b/arm64-thunderx-crypto-zip-fixes.patch new file mode 100644 index 000000000..7f970ee30 --- /dev/null +++ b/arm64-thunderx-crypto-zip-fixes.patch @@ -0,0 +1,403 @@ +From patchwork Mon Apr 9 15:45:50 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,1/5] crypto: thunderx_zip: Fix fallout from CONFIG_VMAP_STACK +From: Jan Glauber +X-Patchwork-Id: 10331719 +Message-Id: <20180409154554.7578-2-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber , + stable +Date: Mon, 9 Apr 2018 17:45:50 +0200 + +Enabling virtual mapped kernel stacks breaks the thunderx_zip +driver. On compression or decompression the executing CPU hangs +in an endless loop. The reason for this is the usage of __pa +by the driver which does no longer work for an address that is +not part of the 1:1 mapping. + +The zip driver allocates a result struct on the stack and needs +to tell the hardware the physical address within this struct +that is used to signal the completion of the request. + +As the hardware gets the wrong address after the broken __pa +conversion it writes to an arbitrary address. The zip driver then +waits forever for the completion byte to contain a non-zero value. + +Allocating the result struct from 1:1 mapped memory resolves this +bug. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +Cc: stable # 4.14 +--- + drivers/crypto/cavium/zip/zip_crypto.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_crypto.c b/drivers/crypto/cavium/zip/zip_crypto.c +index 8df4d26cf9d4..b92b6e7e100f 100644 +--- a/drivers/crypto/cavium/zip/zip_crypto.c ++++ b/drivers/crypto/cavium/zip/zip_crypto.c +@@ -124,7 +124,7 @@ int zip_compress(const u8 *src, unsigned int slen, + struct zip_kernel_ctx *zip_ctx) + { + struct zip_operation *zip_ops = NULL; +- struct zip_state zip_state; ++ struct zip_state *zip_state; + struct zip_device *zip = NULL; + int ret; + +@@ -135,20 +135,23 @@ int zip_compress(const u8 *src, unsigned int slen, + if (!zip) + return -ENODEV; + +- memset(&zip_state, 0, sizeof(struct zip_state)); ++ zip_state = kzalloc(sizeof(*zip_state), GFP_ATOMIC); ++ if (!zip_state) ++ return -ENOMEM; ++ + zip_ops = &zip_ctx->zip_comp; + + zip_ops->input_len = slen; + zip_ops->output_len = *dlen; + memcpy(zip_ops->input, src, slen); + +- ret = zip_deflate(zip_ops, &zip_state, zip); ++ ret = zip_deflate(zip_ops, zip_state, zip); + + if (!ret) { + *dlen = zip_ops->output_len; + memcpy(dst, zip_ops->output, *dlen); + } +- ++ kfree(zip_state); + return ret; + } + +@@ -157,7 +160,7 @@ int zip_decompress(const u8 *src, unsigned int slen, + struct zip_kernel_ctx *zip_ctx) + { + struct zip_operation *zip_ops = NULL; +- struct zip_state zip_state; ++ struct zip_state *zip_state; + struct zip_device *zip = NULL; + int ret; + +@@ -168,7 +171,10 @@ int zip_decompress(const u8 *src, unsigned int slen, + if (!zip) + return -ENODEV; + +- memset(&zip_state, 0, sizeof(struct zip_state)); ++ zip_state = kzalloc(sizeof(*zip_state), GFP_ATOMIC); ++ if (!zip_state) ++ return -ENOMEM; ++ + zip_ops = &zip_ctx->zip_decomp; + memcpy(zip_ops->input, src, slen); + +@@ -179,13 +185,13 @@ int zip_decompress(const u8 *src, unsigned int slen, + zip_ops->input_len = slen; + zip_ops->output_len = *dlen; + +- ret = zip_inflate(zip_ops, &zip_state, zip); ++ ret = zip_inflate(zip_ops, zip_state, zip); + + if (!ret) { + *dlen = zip_ops->output_len; + memcpy(dst, zip_ops->output, *dlen); + } +- ++ kfree(zip_state); + return ret; + } + +From patchwork Mon Apr 9 15:45:51 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,2/5] crypto: thunderx_zip: Limit result reading attempts +From: Jan Glauber +X-Patchwork-Id: 10331705 +Message-Id: <20180409154554.7578-3-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber , + stable +Date: Mon, 9 Apr 2018 17:45:51 +0200 + +After issuing a request an endless loop was used to read the +completion state from memory which is asynchronously updated +by the ZIP coprocessor. + +Add an upper bound to the retry attempts to prevent a CPU getting stuck +forever in case of an error. Additionally, add a read memory barrier +and a small delay between the reading attempts. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +Cc: stable # 4.14 +--- + drivers/crypto/cavium/zip/common.h | 21 +++++++++++++++++++++ + drivers/crypto/cavium/zip/zip_deflate.c | 4 ++-- + drivers/crypto/cavium/zip/zip_inflate.c | 4 ++-- + 3 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/common.h b/drivers/crypto/cavium/zip/common.h +index dc451e0a43c5..58fb3ed6e644 100644 +--- a/drivers/crypto/cavium/zip/common.h ++++ b/drivers/crypto/cavium/zip/common.h +@@ -46,8 +46,10 @@ + #ifndef __COMMON_H__ + #define __COMMON_H__ + ++#include + #include + #include ++#include + #include + #include + #include +@@ -149,6 +151,25 @@ struct zip_operation { + u32 sizeofzops; + }; + ++static inline int zip_poll_result(union zip_zres_s *result) ++{ ++ int retries = 1000; ++ ++ while (!result->s.compcode) { ++ if (!--retries) { ++ pr_err("ZIP ERR: request timed out"); ++ return -ETIMEDOUT; ++ } ++ udelay(10); ++ /* ++ * Force re-reading of compcode which is updated ++ * by the ZIP coprocessor. ++ */ ++ rmb(); ++ } ++ return 0; ++} ++ + /* error messages */ + #define zip_err(fmt, args...) pr_err("ZIP ERR:%s():%d: " \ + fmt "\n", __func__, __LINE__, ## args) +diff --git a/drivers/crypto/cavium/zip/zip_deflate.c b/drivers/crypto/cavium/zip/zip_deflate.c +index 9a944b8c1e29..d7133f857d67 100644 +--- a/drivers/crypto/cavium/zip/zip_deflate.c ++++ b/drivers/crypto/cavium/zip/zip_deflate.c +@@ -129,8 +129,8 @@ int zip_deflate(struct zip_operation *zip_ops, struct zip_state *s, + /* Stats update for compression requests submitted */ + atomic64_inc(&zip_dev->stats.comp_req_submit); + +- while (!result_ptr->s.compcode) +- continue; ++ /* Wait for completion or error */ ++ zip_poll_result(result_ptr); + + /* Stats update for compression requests completed */ + atomic64_inc(&zip_dev->stats.comp_req_complete); +diff --git a/drivers/crypto/cavium/zip/zip_inflate.c b/drivers/crypto/cavium/zip/zip_inflate.c +index 50cbdd83dbf2..7e0d73e2f89e 100644 +--- a/drivers/crypto/cavium/zip/zip_inflate.c ++++ b/drivers/crypto/cavium/zip/zip_inflate.c +@@ -143,8 +143,8 @@ int zip_inflate(struct zip_operation *zip_ops, struct zip_state *s, + /* Decompression requests submitted stats update */ + atomic64_inc(&zip_dev->stats.decomp_req_submit); + +- while (!result_ptr->s.compcode) +- continue; ++ /* Wait for completion or error */ ++ zip_poll_result(result_ptr); + + /* Decompression requests completed stats update */ + atomic64_inc(&zip_dev->stats.decomp_req_complete); +From patchwork Mon Apr 9 15:45:52 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,3/5] crypto: thunderx_zip: Prevent division by zero +From: Jan Glauber +X-Patchwork-Id: 10331709 +Message-Id: <20180409154554.7578-4-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber +Date: Mon, 9 Apr 2018 17:45:52 +0200 + +Avoid two potential divisions by zero when calculating average +values for the zip statistics. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +--- + drivers/crypto/cavium/zip/zip_main.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c +index 1cd8aa488185..79b449e0f955 100644 +--- a/drivers/crypto/cavium/zip/zip_main.c ++++ b/drivers/crypto/cavium/zip/zip_main.c +@@ -482,10 +482,11 @@ static int zip_show_stats(struct seq_file *s, void *unused) + atomic64_add(val, &st->pending_req); + } + +- avg_chunk = (atomic64_read(&st->comp_in_bytes) / +- atomic64_read(&st->comp_req_complete)); +- avg_cr = (atomic64_read(&st->comp_in_bytes) / +- atomic64_read(&st->comp_out_bytes)); ++ val = atomic64_read(&st->comp_req_complete); ++ avg_chunk = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0; ++ ++ val = atomic64_read(&st->comp_out_bytes); ++ avg_cr = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0; + seq_printf(s, " ZIP Device %d Stats\n" + "-----------------------------------\n" + "Comp Req Submitted : \t%lld\n" +From patchwork Mon Apr 9 15:45:53 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,4/5] crypto: thunderx_zip: Fix statistics pending request value +From: Jan Glauber +X-Patchwork-Id: 10331711 +Message-Id: <20180409154554.7578-5-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber +Date: Mon, 9 Apr 2018 17:45:53 +0200 + +The pending request counter was read from the wrong register. While +at it, there is no need to use an atomic for it as it is only read +localy in a loop. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +--- + drivers/crypto/cavium/zip/zip_main.c | 13 +++++-------- + drivers/crypto/cavium/zip/zip_main.h | 1 - + 2 files changed, 5 insertions(+), 9 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c +index 79b449e0f955..ae5b20c695ca 100644 +--- a/drivers/crypto/cavium/zip/zip_main.c ++++ b/drivers/crypto/cavium/zip/zip_main.c +@@ -469,6 +469,8 @@ static int zip_show_stats(struct seq_file *s, void *unused) + struct zip_stats *st; + + for (index = 0; index < MAX_ZIP_DEVICES; index++) { ++ u64 pending = 0; ++ + if (zip_dev[index]) { + zip = zip_dev[index]; + st = &zip->stats; +@@ -476,10 +478,8 @@ static int zip_show_stats(struct seq_file *s, void *unused) + /* Get all the pending requests */ + for (q = 0; q < ZIP_NUM_QUEUES; q++) { + val = zip_reg_read((zip->reg_base + +- ZIP_DBG_COREX_STA(q))); +- val = (val >> 32); +- val = val & 0xffffff; +- atomic64_add(val, &st->pending_req); ++ ZIP_DBG_QUEX_STA(q))); ++ pending += val >> 32 & 0xffffff; + } + + val = atomic64_read(&st->comp_req_complete); +@@ -514,10 +514,7 @@ static int zip_show_stats(struct seq_file *s, void *unused) + (u64)atomic64_read(&st->decomp_in_bytes), + (u64)atomic64_read(&st->decomp_out_bytes), + (u64)atomic64_read(&st->decomp_bad_reqs), +- (u64)atomic64_read(&st->pending_req)); +- +- /* Reset pending requests count */ +- atomic64_set(&st->pending_req, 0); ++ pending); + } + } + return 0; +diff --git a/drivers/crypto/cavium/zip/zip_main.h b/drivers/crypto/cavium/zip/zip_main.h +index 64e051f60784..e1e4fa92ce80 100644 +--- a/drivers/crypto/cavium/zip/zip_main.h ++++ b/drivers/crypto/cavium/zip/zip_main.h +@@ -74,7 +74,6 @@ struct zip_stats { + atomic64_t comp_req_complete; + atomic64_t decomp_req_submit; + atomic64_t decomp_req_complete; +- atomic64_t pending_req; + atomic64_t comp_in_bytes; + atomic64_t comp_out_bytes; + atomic64_t decomp_in_bytes; +From patchwork Mon Apr 9 15:45:54 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,5/5] crypto: thunderx_zip: Fix smp_processor_id() warnings +From: Jan Glauber +X-Patchwork-Id: 10331715 +Message-Id: <20180409154554.7578-6-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Robert Richter , Jan Glauber +Date: Mon, 9 Apr 2018 17:45:54 +0200 + +Switch to raw_smp_processor_id() to prevent a number of +warnings from kernel debugging. We do not care about +preemption here, as the CPU number is only used as a +poor mans load balancing or device selection. If preemption +happens during a compress/decompress operation a small performance +hit will occur but everything will continue to work, so just +ignore it. + +Signed-off-by: Jan Glauber +Reviewed-by: Robert Richter +--- + drivers/crypto/cavium/zip/zip_device.c | 4 ++-- + drivers/crypto/cavium/zip/zip_main.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/crypto/cavium/zip/zip_device.c b/drivers/crypto/cavium/zip/zip_device.c +index ccf21fb91513..f174ec29ed69 100644 +--- a/drivers/crypto/cavium/zip/zip_device.c ++++ b/drivers/crypto/cavium/zip/zip_device.c +@@ -87,12 +87,12 @@ u32 zip_load_instr(union zip_inst_s *instr, + * Distribute the instructions between the enabled queues based on + * the CPU id. + */ +- if (smp_processor_id() % 2 == 0) ++ if (raw_smp_processor_id() % 2 == 0) + queue = 0; + else + queue = 1; + +- zip_dbg("CPU Core: %d Queue number:%d", smp_processor_id(), queue); ++ zip_dbg("CPU Core: %d Queue number:%d", raw_smp_processor_id(), queue); + + /* Take cmd buffer lock */ + spin_lock(&zip_dev->iq[queue].lock); +diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c +index ae5b20c695ca..be055b9547f6 100644 +--- a/drivers/crypto/cavium/zip/zip_main.c ++++ b/drivers/crypto/cavium/zip/zip_main.c +@@ -113,7 +113,7 @@ struct zip_device *zip_get_device(int node) + */ + int zip_get_node_id(void) + { +- return cpu_to_node(smp_processor_id()); ++ return cpu_to_node(raw_smp_processor_id()); + } + + /* Initializes the ZIP h/w sub-system */ diff --git a/baseconfig/CONFIG_ACPI_SPCR_TABLE b/baseconfig/CONFIG_ACPI_SPCR_TABLE new file mode 100644 index 000000000..f8a19253c --- /dev/null +++ b/baseconfig/CONFIG_ACPI_SPCR_TABLE @@ -0,0 +1 @@ +CONFIG_ACPI_SPCR_TABLE=y diff --git a/baseconfig/CONFIG_ACT200L_DONGLE b/baseconfig/CONFIG_ACT200L_DONGLE deleted file mode 100644 index ea14a0dd3..000000000 --- a/baseconfig/CONFIG_ACT200L_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ACT200L_DONGLE=m diff --git a/baseconfig/CONFIG_ACTISYS_DONGLE b/baseconfig/CONFIG_ACTISYS_DONGLE deleted file mode 100644 index 5180ba7e1..000000000 --- a/baseconfig/CONFIG_ACTISYS_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ACTISYS_DONGLE=m diff --git a/baseconfig/CONFIG_ADXL345_I2C b/baseconfig/CONFIG_ADXL345_I2C new file mode 100644 index 000000000..f6976b836 --- /dev/null +++ b/baseconfig/CONFIG_ADXL345_I2C @@ -0,0 +1 @@ +# CONFIG_ADXL345_I2C is not set diff --git a/baseconfig/CONFIG_ADXL345_SPI b/baseconfig/CONFIG_ADXL345_SPI new file mode 100644 index 000000000..186ab0d3a --- /dev/null +++ b/baseconfig/CONFIG_ADXL345_SPI @@ -0,0 +1 @@ +# CONFIG_ADXL345_SPI is not set diff --git a/baseconfig/CONFIG_ALI_FIR b/baseconfig/CONFIG_ALI_FIR deleted file mode 100644 index 524b1f1c0..000000000 --- a/baseconfig/CONFIG_ALI_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ALI_FIR=m diff --git a/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ b/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ new file mode 100644 index 000000000..40a287f0f --- /dev/null +++ b/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ @@ -0,0 +1 @@ +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y diff --git a/baseconfig/CONFIG_ALTERA_MSGDMA b/baseconfig/CONFIG_ALTERA_MSGDMA new file mode 100644 index 000000000..7a1edd837 --- /dev/null +++ b/baseconfig/CONFIG_ALTERA_MSGDMA @@ -0,0 +1 @@ +CONFIG_ALTERA_MSGDMA=m diff --git a/baseconfig/CONFIG_ARM64_ERRATUM_858921 b/baseconfig/CONFIG_ARM64_ERRATUM_858921 new file mode 100644 index 000000000..055a6880c --- /dev/null +++ b/baseconfig/CONFIG_ARM64_ERRATUM_858921 @@ -0,0 +1 @@ +CONFIG_ARM64_ERRATUM_858921=y diff --git a/baseconfig/CONFIG_ATH10K_SDIO b/baseconfig/CONFIG_ATH10K_SDIO new file mode 100644 index 000000000..9ddf1123b --- /dev/null +++ b/baseconfig/CONFIG_ATH10K_SDIO @@ -0,0 +1 @@ +CONFIG_ATH10K_SDIO=m diff --git a/baseconfig/CONFIG_ATH10K_SPECTRAL b/baseconfig/CONFIG_ATH10K_SPECTRAL new file mode 100644 index 000000000..8bc1582c6 --- /dev/null +++ b/baseconfig/CONFIG_ATH10K_SPECTRAL @@ -0,0 +1 @@ +# CONFIG_ATH10K_SPECTRAL is not set diff --git a/baseconfig/CONFIG_ATH10K_USB b/baseconfig/CONFIG_ATH10K_USB new file mode 100644 index 000000000..29021503d --- /dev/null +++ b/baseconfig/CONFIG_ATH10K_USB @@ -0,0 +1 @@ +CONFIG_ATH10K_USB=m diff --git a/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL b/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL new file mode 100644 index 000000000..48a795914 --- /dev/null +++ b/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL @@ -0,0 +1 @@ +# CONFIG_ATH9K_COMMON_SPECTRAL is not set diff --git a/baseconfig/CONFIG_B43LEGACY_DEBUG b/baseconfig/CONFIG_B43LEGACY_DEBUG index 02f67a471..494982463 100644 --- a/baseconfig/CONFIG_B43LEGACY_DEBUG +++ b/baseconfig/CONFIG_B43LEGACY_DEBUG @@ -1 +1 @@ -CONFIG_B43LEGACY_DEBUG=y +# CONFIG_B43LEGACY_DEBUG is not set diff --git a/baseconfig/CONFIG_B43_DEBUG b/baseconfig/CONFIG_B43_DEBUG index 9346a4511..a2bf9bb1f 100644 --- a/baseconfig/CONFIG_B43_DEBUG +++ b/baseconfig/CONFIG_B43_DEBUG @@ -1 +1 @@ -CONFIG_B43_DEBUG=y +# CONFIG_B43_DEBUG is not set diff --git a/baseconfig/CONFIG_BACKLIGHT_ARCXCNN b/baseconfig/CONFIG_BACKLIGHT_ARCXCNN new file mode 100644 index 000000000..49161963d --- /dev/null +++ b/baseconfig/CONFIG_BACKLIGHT_ARCXCNN @@ -0,0 +1 @@ +CONFIG_BACKLIGHT_ARCXCNN=m diff --git a/baseconfig/CONFIG_BATTERY_LEGO_EV3 b/baseconfig/CONFIG_BATTERY_LEGO_EV3 new file mode 100644 index 000000000..3305bd311 --- /dev/null +++ b/baseconfig/CONFIG_BATTERY_LEGO_EV3 @@ -0,0 +1 @@ +# CONFIG_BATTERY_LEGO_EV3 is not set diff --git a/baseconfig/CONFIG_BATTERY_MAX1721X b/baseconfig/CONFIG_BATTERY_MAX1721X new file mode 100644 index 000000000..98c04567c --- /dev/null +++ b/baseconfig/CONFIG_BATTERY_MAX1721X @@ -0,0 +1 @@ +# CONFIG_BATTERY_MAX1721X is not set diff --git a/baseconfig/CONFIG_BCM_FLEXRM_MBOX b/baseconfig/CONFIG_BCM_FLEXRM_MBOX new file mode 100644 index 000000000..b47d4f392 --- /dev/null +++ b/baseconfig/CONFIG_BCM_FLEXRM_MBOX @@ -0,0 +1 @@ +# CONFIG_BCM_FLEXRM_MBOX is not set diff --git a/baseconfig/CONFIG_BFQ_GROUP_IOSCHED b/baseconfig/CONFIG_BFQ_GROUP_IOSCHED new file mode 100644 index 000000000..731981ca3 --- /dev/null +++ b/baseconfig/CONFIG_BFQ_GROUP_IOSCHED @@ -0,0 +1 @@ +CONFIG_BFQ_GROUP_IOSCHED=y diff --git a/baseconfig/CONFIG_BLK_CPQ_CISS_DA b/baseconfig/CONFIG_BLK_CPQ_CISS_DA deleted file mode 100644 index be7870097..000000000 --- a/baseconfig/CONFIG_BLK_CPQ_CISS_DA +++ /dev/null @@ -1 +0,0 @@ -CONFIG_BLK_CPQ_CISS_DA=m diff --git a/baseconfig/CONFIG_BLK_DEV_HD b/baseconfig/CONFIG_BLK_DEV_HD deleted file mode 100644 index 9155aa284..000000000 --- a/baseconfig/CONFIG_BLK_DEV_HD +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BLK_DEV_HD is not set diff --git a/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION b/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION new file mode 100644 index 000000000..b93aaa794 --- /dev/null +++ b/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION @@ -0,0 +1 @@ +# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set diff --git a/baseconfig/CONFIG_BLK_DEV_THROTTLING_LOW b/baseconfig/CONFIG_BLK_DEV_THROTTLING_LOW new file mode 100644 index 000000000..802bc55b4 --- /dev/null +++ b/baseconfig/CONFIG_BLK_DEV_THROTTLING_LOW @@ -0,0 +1 @@ +# CONFIG_BLK_DEV_THROTTLING_LOW is not set diff --git a/baseconfig/CONFIG_BLK_DEV_UB b/baseconfig/CONFIG_BLK_DEV_UB deleted file mode 100644 index 6fbfd13fb..000000000 --- a/baseconfig/CONFIG_BLK_DEV_UB +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BLK_DEV_UB is not set diff --git a/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD b/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD new file mode 100644 index 000000000..170bbf312 --- /dev/null +++ b/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD @@ -0,0 +1 @@ +CONFIG_BNXT_FLOWER_OFFLOAD=y diff --git a/baseconfig/CONFIG_BOOTPARAM_LOCKDEP_CROSSRELEASE_FULLSTACK b/baseconfig/CONFIG_BOOTPARAM_LOCKDEP_CROSSRELEASE_FULLSTACK new file mode 100644 index 000000000..9839ac072 --- /dev/null +++ b/baseconfig/CONFIG_BOOTPARAM_LOCKDEP_CROSSRELEASE_FULLSTACK @@ -0,0 +1 @@ +# CONFIG_BOOTPARAM_LOCKDEP_CROSSRELEASE_FULLSTACK is not set diff --git a/baseconfig/CONFIG_BPF_JIT_ALWAYS_ON b/baseconfig/CONFIG_BPF_JIT_ALWAYS_ON new file mode 100644 index 000000000..45aacb434 --- /dev/null +++ b/baseconfig/CONFIG_BPF_JIT_ALWAYS_ON @@ -0,0 +1 @@ +CONFIG_BPF_JIT_ALWAYS_ON=y diff --git a/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE b/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE new file mode 100644 index 000000000..573604162 --- /dev/null +++ b/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE @@ -0,0 +1 @@ +# CONFIG_BPF_KPROBE_OVERRIDE is not set diff --git a/baseconfig/CONFIG_BPF_STREAM_PARSER b/baseconfig/CONFIG_BPF_STREAM_PARSER new file mode 100644 index 000000000..7cf783506 --- /dev/null +++ b/baseconfig/CONFIG_BPF_STREAM_PARSER @@ -0,0 +1 @@ +CONFIG_BPF_STREAM_PARSER=y diff --git a/baseconfig/CONFIG_BRCMSTB_GISB_ARB b/baseconfig/CONFIG_BRCMSTB_GISB_ARB new file mode 100644 index 000000000..36e31edd2 --- /dev/null +++ b/baseconfig/CONFIG_BRCMSTB_GISB_ARB @@ -0,0 +1 @@ +# CONFIG_BRCMSTB_GISB_ARB is not set diff --git a/baseconfig/CONFIG_BTRFS_FS_REF_VERIFY b/baseconfig/CONFIG_BTRFS_FS_REF_VERIFY new file mode 100644 index 000000000..2fb0f884e --- /dev/null +++ b/baseconfig/CONFIG_BTRFS_FS_REF_VERIFY @@ -0,0 +1 @@ +# CONFIG_BTRFS_FS_REF_VERIFY is not set diff --git a/baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND b/baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND new file mode 100644 index 000000000..7a1be90bf --- /dev/null +++ b/baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND @@ -0,0 +1 @@ +# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set diff --git a/baseconfig/CONFIG_BT_HCIUART_SERDEV b/baseconfig/CONFIG_BT_HCIUART_SERDEV new file mode 100644 index 000000000..0b0ef5abd --- /dev/null +++ b/baseconfig/CONFIG_BT_HCIUART_SERDEV @@ -0,0 +1 @@ +CONFIG_BT_HCIUART_SERDEV=y diff --git a/baseconfig/CONFIG_BT_QCOMSMD b/baseconfig/CONFIG_BT_QCOMSMD deleted file mode 100644 index d67bc39b0..000000000 --- a/baseconfig/CONFIG_BT_QCOMSMD +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BT_QCOMSMD is not set diff --git a/baseconfig/CONFIG_BT_SCO b/baseconfig/CONFIG_BT_SCO deleted file mode 100644 index c04760986..000000000 --- a/baseconfig/CONFIG_BT_SCO +++ /dev/null @@ -1 +0,0 @@ -CONFIG_BT_SCO=y diff --git a/baseconfig/CONFIG_CAN_HI311X b/baseconfig/CONFIG_CAN_HI311X new file mode 100644 index 000000000..a775c67f7 --- /dev/null +++ b/baseconfig/CONFIG_CAN_HI311X @@ -0,0 +1 @@ +CONFIG_CAN_HI311X=m diff --git a/baseconfig/CONFIG_CAN_MCBA_USB b/baseconfig/CONFIG_CAN_MCBA_USB new file mode 100644 index 000000000..9a21b3bcb --- /dev/null +++ b/baseconfig/CONFIG_CAN_MCBA_USB @@ -0,0 +1 @@ +CONFIG_CAN_MCBA_USB=m diff --git a/baseconfig/CONFIG_CAN_PEAK_PCIEFD b/baseconfig/CONFIG_CAN_PEAK_PCIEFD new file mode 100644 index 000000000..3a388b984 --- /dev/null +++ b/baseconfig/CONFIG_CAN_PEAK_PCIEFD @@ -0,0 +1 @@ +CONFIG_CAN_PEAK_PCIEFD=m diff --git a/baseconfig/CONFIG_CAN_VXCAN b/baseconfig/CONFIG_CAN_VXCAN new file mode 100644 index 000000000..a6e002cff --- /dev/null +++ b/baseconfig/CONFIG_CAN_VXCAN @@ -0,0 +1 @@ +CONFIG_CAN_VXCAN=m diff --git a/baseconfig/CONFIG_CCS811 b/baseconfig/CONFIG_CCS811 new file mode 100644 index 000000000..931f14e2a --- /dev/null +++ b/baseconfig/CONFIG_CCS811 @@ -0,0 +1 @@ +# CONFIG_CCS811 is not set diff --git a/baseconfig/CONFIG_CEC_PIN b/baseconfig/CONFIG_CEC_PIN new file mode 100644 index 000000000..395ddfbf2 --- /dev/null +++ b/baseconfig/CONFIG_CEC_PIN @@ -0,0 +1 @@ +CONFIG_CEC_PIN=y diff --git a/baseconfig/CONFIG_CEC_PLATFORM_DRIVERS b/baseconfig/CONFIG_CEC_PLATFORM_DRIVERS new file mode 100644 index 000000000..07bd8e955 --- /dev/null +++ b/baseconfig/CONFIG_CEC_PLATFORM_DRIVERS @@ -0,0 +1 @@ +CONFIG_CEC_PLATFORM_DRIVERS=y diff --git a/baseconfig/CONFIG_CHARGER_LTC3651 b/baseconfig/CONFIG_CHARGER_LTC3651 new file mode 100644 index 000000000..a4243da74 --- /dev/null +++ b/baseconfig/CONFIG_CHARGER_LTC3651 @@ -0,0 +1 @@ +# CONFIG_CHARGER_LTC3651 is not set diff --git a/baseconfig/CONFIG_CHARGER_QCOM_SMBB b/baseconfig/CONFIG_CHARGER_QCOM_SMBB deleted file mode 100644 index c06d8f1f1..000000000 --- a/baseconfig/CONFIG_CHARGER_QCOM_SMBB +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_CHARGER_QCOM_SMBB is not set diff --git a/baseconfig/CONFIG_CHASH_SELFTEST b/baseconfig/CONFIG_CHASH_SELFTEST new file mode 100644 index 000000000..d53ef14d0 --- /dev/null +++ b/baseconfig/CONFIG_CHASH_SELFTEST @@ -0,0 +1 @@ +# CONFIG_CHASH_SELFTEST is not set diff --git a/baseconfig/CONFIG_CHASH_STATS b/baseconfig/CONFIG_CHASH_STATS new file mode 100644 index 000000000..26edbafe8 --- /dev/null +++ b/baseconfig/CONFIG_CHASH_STATS @@ -0,0 +1 @@ +# CONFIG_CHASH_STATS is not set diff --git a/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE b/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE new file mode 100644 index 000000000..729e6efde --- /dev/null +++ b/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE @@ -0,0 +1 @@ +CONFIG_CHELSIO_IPSEC_INLINE=y diff --git a/baseconfig/CONFIG_CHT_DC_TI_PMIC_OPREGION b/baseconfig/CONFIG_CHT_DC_TI_PMIC_OPREGION new file mode 100644 index 000000000..1bb32a12a --- /dev/null +++ b/baseconfig/CONFIG_CHT_DC_TI_PMIC_OPREGION @@ -0,0 +1 @@ +CONFIG_CHT_DC_TI_PMIC_OPREGION=y diff --git a/baseconfig/CONFIG_CIFS_DEBUG_DUMP_KEYS b/baseconfig/CONFIG_CIFS_DEBUG_DUMP_KEYS new file mode 100644 index 000000000..03f554dba --- /dev/null +++ b/baseconfig/CONFIG_CIFS_DEBUG_DUMP_KEYS @@ -0,0 +1 @@ +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set diff --git a/baseconfig/CONFIG_CIFS_SMB_DIRECT b/baseconfig/CONFIG_CIFS_SMB_DIRECT new file mode 100644 index 000000000..849bffb38 --- /dev/null +++ b/baseconfig/CONFIG_CIFS_SMB_DIRECT @@ -0,0 +1 @@ +# CONFIG_CIFS_SMB_DIRECT is not set diff --git a/baseconfig/CONFIG_CISS_SCSI_TAPE b/baseconfig/CONFIG_CISS_SCSI_TAPE deleted file mode 100644 index 2170cc840..000000000 --- a/baseconfig/CONFIG_CISS_SCSI_TAPE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CISS_SCSI_TAPE=y diff --git a/baseconfig/CONFIG_CLK_HSDK b/baseconfig/CONFIG_CLK_HSDK new file mode 100644 index 000000000..e1788bbc5 --- /dev/null +++ b/baseconfig/CONFIG_CLK_HSDK @@ -0,0 +1 @@ +# CONFIG_CLK_HSDK is not set diff --git a/baseconfig/CONFIG_CLOCK_THERMAL b/baseconfig/CONFIG_CLOCK_THERMAL new file mode 100644 index 000000000..72ca05f2c --- /dev/null +++ b/baseconfig/CONFIG_CLOCK_THERMAL @@ -0,0 +1 @@ +# CONFIG_CLOCK_THERMAL is not set diff --git a/baseconfig/arm/CONFIG_COMMON_CLK_SI570 b/baseconfig/CONFIG_COMMON_CLK_SI570 similarity index 100% rename from baseconfig/arm/CONFIG_COMMON_CLK_SI570 rename to baseconfig/CONFIG_COMMON_CLK_SI570 diff --git a/baseconfig/CONFIG_CORTINA_PHY b/baseconfig/CONFIG_CORTINA_PHY new file mode 100644 index 000000000..87341d40e --- /dev/null +++ b/baseconfig/CONFIG_CORTINA_PHY @@ -0,0 +1 @@ +CONFIG_CORTINA_PHY=m diff --git a/baseconfig/CONFIG_CPU_ISOLATION b/baseconfig/CONFIG_CPU_ISOLATION new file mode 100644 index 000000000..1753f3076 --- /dev/null +++ b/baseconfig/CONFIG_CPU_ISOLATION @@ -0,0 +1 @@ +# CONFIG_CPU_ISOLATION is not set diff --git a/baseconfig/CONFIG_CRAMFS_MTD b/baseconfig/CONFIG_CRAMFS_MTD new file mode 100644 index 000000000..d5c14020f --- /dev/null +++ b/baseconfig/CONFIG_CRAMFS_MTD @@ -0,0 +1 @@ +# CONFIG_CRAMFS_MTD is not set diff --git a/baseconfig/CONFIG_CRC4 b/baseconfig/CONFIG_CRC4 new file mode 100644 index 000000000..a67720667 --- /dev/null +++ b/baseconfig/CONFIG_CRC4 @@ -0,0 +1 @@ +CONFIG_CRC4=m diff --git a/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT b/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT index 95f043d68..83b61e1e1 100644 --- a/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT +++ b/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT @@ -1 +1 @@ -# CONFIG_CROS_KBD_LED_BACKLIGHT is not set +CONFIG_CROS_KBD_LED_BACKLIGHT=m diff --git a/baseconfig/CONFIG_CRYPTO_DEV_CCREE b/baseconfig/CONFIG_CRYPTO_DEV_CCREE new file mode 100644 index 000000000..fe4fcee59 --- /dev/null +++ b/baseconfig/CONFIG_CRYPTO_DEV_CCREE @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_CCREE is not set diff --git a/baseconfig/CONFIG_CRYPTO_DEV_NITROX_CNN55XX b/baseconfig/CONFIG_CRYPTO_DEV_NITROX_CNN55XX new file mode 100644 index 000000000..47ee7d9bc --- /dev/null +++ b/baseconfig/CONFIG_CRYPTO_DEV_NITROX_CNN55XX @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m diff --git a/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP b/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP new file mode 100644 index 000000000..c494dcc87 --- /dev/null +++ b/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_SP_CCP is not set diff --git a/baseconfig/CONFIG_CRYPTO_DH b/baseconfig/CONFIG_CRYPTO_DH index ea06ab3c2..c92378433 100644 --- a/baseconfig/CONFIG_CRYPTO_DH +++ b/baseconfig/CONFIG_CRYPTO_DH @@ -1 +1 @@ -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y diff --git a/baseconfig/CONFIG_CRYPTO_GCM b/baseconfig/CONFIG_CRYPTO_GCM index 0cb7edc79..8b509be56 100644 --- a/baseconfig/CONFIG_CRYPTO_GCM +++ b/baseconfig/CONFIG_CRYPTO_GCM @@ -1 +1 @@ -CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_GCM=y diff --git a/baseconfig/CONFIG_CRYPTO_GHASH b/baseconfig/CONFIG_CRYPTO_GHASH index b94cd971d..2104f2f02 100644 --- a/baseconfig/CONFIG_CRYPTO_GHASH +++ b/baseconfig/CONFIG_CRYPTO_GHASH @@ -1 +1 @@ -CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH=y diff --git a/baseconfig/CONFIG_CRYPTO_SM3 b/baseconfig/CONFIG_CRYPTO_SM3 new file mode 100644 index 000000000..6c7e68386 --- /dev/null +++ b/baseconfig/CONFIG_CRYPTO_SM3 @@ -0,0 +1 @@ +CONFIG_CRYPTO_SM3=m diff --git a/baseconfig/CONFIG_DEBUG_KERNEL_DC b/baseconfig/CONFIG_DEBUG_KERNEL_DC new file mode 100644 index 000000000..8cd6a5085 --- /dev/null +++ b/baseconfig/CONFIG_DEBUG_KERNEL_DC @@ -0,0 +1 @@ +# CONFIG_DEBUG_KERNEL_DC is not set diff --git a/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible b/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible deleted file mode 100644 index fbc8aaef8..000000000 --- a/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DEBUG_VM_RB is not set # revisit this if performance isn't horrible diff --git a/baseconfig/CONFIG_DEVFREQ_THERMAL b/baseconfig/CONFIG_DEVFREQ_THERMAL new file mode 100644 index 000000000..5b90f9082 --- /dev/null +++ b/baseconfig/CONFIG_DEVFREQ_THERMAL @@ -0,0 +1 @@ +# CONFIG_DEVFREQ_THERMAL is not set diff --git a/baseconfig/CONFIG_DEVPORT b/baseconfig/CONFIG_DEVPORT index 555cf4be4..ff170aad1 100644 --- a/baseconfig/CONFIG_DEVPORT +++ b/baseconfig/CONFIG_DEVPORT @@ -1 +1 @@ -# CONFIG_DEVPORT is not set +CONFIG_DEVPORT=y diff --git a/baseconfig/CONFIG_DM_INTEGRITY b/baseconfig/CONFIG_DM_INTEGRITY new file mode 100644 index 000000000..ee953fd2d --- /dev/null +++ b/baseconfig/CONFIG_DM_INTEGRITY @@ -0,0 +1 @@ +CONFIG_DM_INTEGRITY=m diff --git a/baseconfig/CONFIG_DM_UNSTRIPED b/baseconfig/CONFIG_DM_UNSTRIPED new file mode 100644 index 000000000..27e4d2352 --- /dev/null +++ b/baseconfig/CONFIG_DM_UNSTRIPED @@ -0,0 +1 @@ +CONFIG_DM_UNSTRIPED=m diff --git a/baseconfig/CONFIG_DM_ZONED b/baseconfig/CONFIG_DM_ZONED new file mode 100644 index 000000000..0cfba7b46 --- /dev/null +++ b/baseconfig/CONFIG_DM_ZONED @@ -0,0 +1 @@ +CONFIG_DM_ZONED=m diff --git a/baseconfig/CONFIG_DONGLE b/baseconfig/CONFIG_DONGLE deleted file mode 100644 index e78b38f81..000000000 --- a/baseconfig/CONFIG_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DONGLE=y diff --git a/baseconfig/CONFIG_DP83822_PHY b/baseconfig/CONFIG_DP83822_PHY new file mode 100644 index 000000000..e97e5ab0d --- /dev/null +++ b/baseconfig/CONFIG_DP83822_PHY @@ -0,0 +1 @@ +CONFIG_DP83822_PHY=m diff --git a/baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug b/baseconfig/CONFIG_DPM_WATCHDOG similarity index 100% rename from baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug rename to baseconfig/CONFIG_DPM_WATCHDOG diff --git a/baseconfig/CONFIG_DRM_AMDGPU_CIK b/baseconfig/CONFIG_DRM_AMDGPU_CIK index e184e53af..6f3da0bab 100644 --- a/baseconfig/CONFIG_DRM_AMDGPU_CIK +++ b/baseconfig/CONFIG_DRM_AMDGPU_CIK @@ -1 +1 @@ -# CONFIG_DRM_AMDGPU_CIK is not set +CONFIG_DRM_AMDGPU_CIK=y diff --git a/baseconfig/CONFIG_DRM_AMD_DC b/baseconfig/CONFIG_DRM_AMD_DC new file mode 100644 index 000000000..a642bb05a --- /dev/null +++ b/baseconfig/CONFIG_DRM_AMD_DC @@ -0,0 +1 @@ +CONFIG_DRM_AMD_DC=y diff --git a/baseconfig/CONFIG_DRM_AMD_DC_FBC b/baseconfig/CONFIG_DRM_AMD_DC_FBC new file mode 100644 index 000000000..51e570f30 --- /dev/null +++ b/baseconfig/CONFIG_DRM_AMD_DC_FBC @@ -0,0 +1 @@ +# CONFIG_DRM_AMD_DC_FBC is not set diff --git a/baseconfig/CONFIG_DRM_AMD_DC_PRE_VEGA b/baseconfig/CONFIG_DRM_AMD_DC_PRE_VEGA new file mode 100644 index 000000000..00ff6c3a2 --- /dev/null +++ b/baseconfig/CONFIG_DRM_AMD_DC_PRE_VEGA @@ -0,0 +1 @@ +# CONFIG_DRM_AMD_DC_PRE_VEGA is not set diff --git a/baseconfig/CONFIG_DRM_DW_HDMI_AHB_AUDIO b/baseconfig/CONFIG_DRM_DW_HDMI_AHB_AUDIO new file mode 100644 index 000000000..5c276f1dc --- /dev/null +++ b/baseconfig/CONFIG_DRM_DW_HDMI_AHB_AUDIO @@ -0,0 +1 @@ +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set diff --git a/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO b/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO index 34ecaf242..d1f777db4 100644 --- a/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO +++ b/baseconfig/CONFIG_DRM_DW_HDMI_I2S_AUDIO @@ -1 +1 @@ -CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set diff --git a/baseconfig/CONFIG_DRM_FBDEV_OVERALLOC b/baseconfig/CONFIG_DRM_FBDEV_OVERALLOC new file mode 100644 index 000000000..32e5c4520 --- /dev/null +++ b/baseconfig/CONFIG_DRM_FBDEV_OVERALLOC @@ -0,0 +1 @@ +CONFIG_DRM_FBDEV_OVERALLOC=100 diff --git a/baseconfig/CONFIG_DRM_I2C_ADV7511 b/baseconfig/CONFIG_DRM_I2C_ADV7511 index 2d931f712..18208c93f 100644 --- a/baseconfig/CONFIG_DRM_I2C_ADV7511 +++ b/baseconfig/CONFIG_DRM_I2C_ADV7511 @@ -1 +1 @@ -CONFIG_DRM_I2C_ADV7511=m +# CONFIG_DRM_I2C_ADV7511 is not set diff --git a/baseconfig/CONFIG_DRM_I2C_ADV7511_CEC b/baseconfig/CONFIG_DRM_I2C_ADV7511_CEC new file mode 100644 index 000000000..25530967a --- /dev/null +++ b/baseconfig/CONFIG_DRM_I2C_ADV7511_CEC @@ -0,0 +1 @@ +# CONFIG_DRM_I2C_ADV7511_CEC is not set diff --git a/baseconfig/CONFIG_DRM_LVDS_ENCODER b/baseconfig/CONFIG_DRM_LVDS_ENCODER new file mode 100644 index 000000000..e2ea277b3 --- /dev/null +++ b/baseconfig/CONFIG_DRM_LVDS_ENCODER @@ -0,0 +1 @@ +# CONFIG_DRM_LVDS_ENCODER is not set diff --git a/baseconfig/CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW b/baseconfig/CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW new file mode 100644 index 000000000..7aa3826f4 --- /dev/null +++ b/baseconfig/CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW @@ -0,0 +1 @@ +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set diff --git a/baseconfig/CONFIG_DRM_MXSFB b/baseconfig/CONFIG_DRM_MXSFB index e24a8952c..550352f6d 100644 --- a/baseconfig/CONFIG_DRM_MXSFB +++ b/baseconfig/CONFIG_DRM_MXSFB @@ -1 +1 @@ -CONFIG_DRM_MXSFB=m +# CONFIG_DRM_MXSFB is not set diff --git a/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322 b/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322 new file mode 100644 index 000000000..4a9fd454c --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set diff --git a/baseconfig/CONFIG_DRM_PANEL_INNOLUX_P079ZCA b/baseconfig/CONFIG_DRM_PANEL_INNOLUX_P079ZCA new file mode 100644 index 000000000..c84531b68 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_INNOLUX_P079ZCA @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_LG_LG4573 b/baseconfig/CONFIG_DRM_PANEL_LG_LG4573 similarity index 100% rename from baseconfig/x86/CONFIG_DRM_PANEL_LG_LG4573 rename to baseconfig/CONFIG_DRM_PANEL_LG_LG4573 diff --git a/baseconfig/CONFIG_DRM_PANEL_LVDS b/baseconfig/CONFIG_DRM_PANEL_LVDS new file mode 100644 index 000000000..af4bf6e01 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_LVDS @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_LVDS is not set diff --git a/baseconfig/CONFIG_DRM_PANEL_ORISETECH_OTM8009A b/baseconfig/CONFIG_DRM_PANEL_ORISETECH_OTM8009A new file mode 100644 index 000000000..34a2378c0 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_ORISETECH_OTM8009A @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 b/baseconfig/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 similarity index 100% rename from baseconfig/x86/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 rename to baseconfig/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 diff --git a/baseconfig/CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN b/baseconfig/CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN new file mode 100644 index 000000000..474a0460f --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_SAMSUNG_LD9040 b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_LD9040 similarity index 100% rename from baseconfig/x86/CONFIG_DRM_PANEL_SAMSUNG_LD9040 rename to baseconfig/CONFIG_DRM_PANEL_SAMSUNG_LD9040 diff --git a/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 new file mode 100644 index 000000000..8cb5243d1 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set diff --git a/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 new file mode 100644 index 000000000..d9e23b754 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m diff --git a/baseconfig/CONFIG_DRM_PANEL_SEIKO_43WVF1G b/baseconfig/CONFIG_DRM_PANEL_SEIKO_43WVF1G new file mode 100644 index 000000000..471d28fa8 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_SEIKO_43WVF1G @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_SEIKO_43WVF1G=m diff --git a/baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 b/baseconfig/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 similarity index 100% rename from baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 rename to baseconfig/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 diff --git a/baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 b/baseconfig/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 similarity index 100% rename from baseconfig/x86/i686/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 rename to baseconfig/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 diff --git a/baseconfig/CONFIG_DRM_PANEL_SITRONIX_ST7789V b/baseconfig/CONFIG_DRM_PANEL_SITRONIX_ST7789V new file mode 100644 index 000000000..712cb79a7 --- /dev/null +++ b/baseconfig/CONFIG_DRM_PANEL_SITRONIX_ST7789V @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set diff --git a/baseconfig/CONFIG_DRM_RCAR_DW_HDMI b/baseconfig/CONFIG_DRM_RCAR_DW_HDMI new file mode 100644 index 000000000..d3dace0e8 --- /dev/null +++ b/baseconfig/CONFIG_DRM_RCAR_DW_HDMI @@ -0,0 +1 @@ +# CONFIG_DRM_RCAR_DW_HDMI is not set diff --git a/baseconfig/CONFIG_DRM_SII9234 b/baseconfig/CONFIG_DRM_SII9234 new file mode 100644 index 000000000..3edd48165 --- /dev/null +++ b/baseconfig/CONFIG_DRM_SII9234 @@ -0,0 +1 @@ +CONFIG_DRM_SII9234=m diff --git a/baseconfig/CONFIG_DRM_SIL_SII8620 b/baseconfig/CONFIG_DRM_SIL_SII8620 index 9aa2a3752..651ddf007 100644 --- a/baseconfig/CONFIG_DRM_SIL_SII8620 +++ b/baseconfig/CONFIG_DRM_SIL_SII8620 @@ -1 +1 @@ -CONFIG_DRM_SIL_SII8620=m +# CONFIG_DRM_SIL_SII8620 is not set diff --git a/baseconfig/CONFIG_DRM_VBOXVIDEO b/baseconfig/CONFIG_DRM_VBOXVIDEO new file mode 100644 index 000000000..8cd637a0c --- /dev/null +++ b/baseconfig/CONFIG_DRM_VBOXVIDEO @@ -0,0 +1 @@ +# CONFIG_DRM_VBOXVIDEO is not set diff --git a/baseconfig/CONFIG_DS4424 b/baseconfig/CONFIG_DS4424 new file mode 100644 index 000000000..199b37762 --- /dev/null +++ b/baseconfig/CONFIG_DS4424 @@ -0,0 +1 @@ +# CONFIG_DS4424 is not set diff --git a/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE b/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE new file mode 100644 index 000000000..4f0814b60 --- /dev/null +++ b/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE @@ -0,0 +1 @@ +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set diff --git a/baseconfig/CONFIG_DVB_MMAP b/baseconfig/CONFIG_DVB_MMAP new file mode 100644 index 000000000..fea1faad6 --- /dev/null +++ b/baseconfig/CONFIG_DVB_MMAP @@ -0,0 +1 @@ +# CONFIG_DVB_MMAP is not set diff --git a/baseconfig/CONFIG_DVB_ULE_DEBUG b/baseconfig/CONFIG_DVB_ULE_DEBUG new file mode 100644 index 000000000..3acb854cc --- /dev/null +++ b/baseconfig/CONFIG_DVB_ULE_DEBUG @@ -0,0 +1 @@ +# CONFIG_DVB_ULE_DEBUG is not set diff --git a/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC b/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC new file mode 100644 index 000000000..47e8f4090 --- /dev/null +++ b/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC @@ -0,0 +1 @@ +CONFIG_EARLY_PRINTK_USB_XDBC=y diff --git a/baseconfig/CONFIG_EDAC_GHES b/baseconfig/CONFIG_EDAC_GHES new file mode 100644 index 000000000..e68c7c4c2 --- /dev/null +++ b/baseconfig/CONFIG_EDAC_GHES @@ -0,0 +1 @@ +CONFIG_EDAC_GHES=y diff --git a/baseconfig/CONFIG_EDAC_MM_EDAC b/baseconfig/CONFIG_EDAC_MM_EDAC deleted file mode 100644 index 5f7fa223a..000000000 --- a/baseconfig/CONFIG_EDAC_MM_EDAC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_EDAC_MM_EDAC=m diff --git a/baseconfig/CONFIG_ESI_DONGLE b/baseconfig/CONFIG_ESI_DONGLE deleted file mode 100644 index 08f59c82e..000000000 --- a/baseconfig/CONFIG_ESI_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ESI_DONGLE=m diff --git a/baseconfig/CONFIG_EXPERIMENTAL b/baseconfig/CONFIG_EXPERIMENTAL deleted file mode 100644 index 8c91d40b9..000000000 --- a/baseconfig/CONFIG_EXPERIMENTAL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_EXPERIMENTAL=y diff --git a/baseconfig/CONFIG_EXTCON b/baseconfig/CONFIG_EXTCON index efa6c7e6f..bde29bcfc 100644 --- a/baseconfig/CONFIG_EXTCON +++ b/baseconfig/CONFIG_EXTCON @@ -1 +1 @@ -# CONFIG_EXTCON is not set +CONFIG_EXTCON=y diff --git a/baseconfig/CONFIG_EXTCON_GPIO b/baseconfig/CONFIG_EXTCON_GPIO new file mode 100644 index 000000000..87ca2bd05 --- /dev/null +++ b/baseconfig/CONFIG_EXTCON_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_GPIO is not set diff --git a/baseconfig/CONFIG_EXTCON_MAX3355 b/baseconfig/CONFIG_EXTCON_MAX3355 new file mode 100644 index 000000000..680b5a774 --- /dev/null +++ b/baseconfig/CONFIG_EXTCON_MAX3355 @@ -0,0 +1 @@ +# CONFIG_EXTCON_MAX3355 is not set diff --git a/baseconfig/CONFIG_EXTCON_RT8973A b/baseconfig/CONFIG_EXTCON_RT8973A new file mode 100644 index 000000000..e5f7236c9 --- /dev/null +++ b/baseconfig/CONFIG_EXTCON_RT8973A @@ -0,0 +1 @@ +# CONFIG_EXTCON_RT8973A is not set diff --git a/baseconfig/CONFIG_EXTCON_SM5502 b/baseconfig/CONFIG_EXTCON_SM5502 new file mode 100644 index 000000000..916994aa9 --- /dev/null +++ b/baseconfig/CONFIG_EXTCON_SM5502 @@ -0,0 +1 @@ +# CONFIG_EXTCON_SM5502 is not set diff --git a/baseconfig/CONFIG_EXTCON_USB_GPIO b/baseconfig/CONFIG_EXTCON_USB_GPIO new file mode 100644 index 000000000..7a0c9af30 --- /dev/null +++ b/baseconfig/CONFIG_EXTCON_USB_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_USB_GPIO is not set diff --git a/baseconfig/CONFIG_FIND_BIT_BENCHMARK b/baseconfig/CONFIG_FIND_BIT_BENCHMARK new file mode 100644 index 000000000..93fe7e039 --- /dev/null +++ b/baseconfig/CONFIG_FIND_BIT_BENCHMARK @@ -0,0 +1 @@ +# CONFIG_FIND_BIT_BENCHMARK is not set diff --git a/baseconfig/CONFIG_FORTIFY_SOURCE b/baseconfig/CONFIG_FORTIFY_SOURCE new file mode 100644 index 000000000..926b56799 --- /dev/null +++ b/baseconfig/CONFIG_FORTIFY_SOURCE @@ -0,0 +1 @@ +CONFIG_FORTIFY_SOURCE=y diff --git a/baseconfig/CONFIG_FSI_MASTER_GPIO b/baseconfig/CONFIG_FSI_MASTER_GPIO new file mode 100644 index 000000000..065a1456e --- /dev/null +++ b/baseconfig/CONFIG_FSI_MASTER_GPIO @@ -0,0 +1 @@ +CONFIG_FSI_MASTER_GPIO=m diff --git a/baseconfig/CONFIG_FSI_MASTER_HUB b/baseconfig/CONFIG_FSI_MASTER_HUB new file mode 100644 index 000000000..5cfdc2e81 --- /dev/null +++ b/baseconfig/CONFIG_FSI_MASTER_HUB @@ -0,0 +1 @@ +CONFIG_FSI_MASTER_HUB=m diff --git a/baseconfig/CONFIG_FSI_SCOM b/baseconfig/CONFIG_FSI_SCOM new file mode 100644 index 000000000..3aee9f30b --- /dev/null +++ b/baseconfig/CONFIG_FSI_SCOM @@ -0,0 +1 @@ +CONFIG_FSI_SCOM=m diff --git a/baseconfig/CONFIG_GENERIC_IRQ_DEBUGFS b/baseconfig/CONFIG_GENERIC_IRQ_DEBUGFS new file mode 100644 index 000000000..539bb6640 --- /dev/null +++ b/baseconfig/CONFIG_GENERIC_IRQ_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_GENERIC_IRQ_DEBUGFS is not set diff --git a/baseconfig/CONFIG_GIRBIL_DONGLE b/baseconfig/CONFIG_GIRBIL_DONGLE deleted file mode 100644 index 108bafcbd..000000000 --- a/baseconfig/CONFIG_GIRBIL_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GIRBIL_DONGLE=m diff --git a/baseconfig/CONFIG_GPIO_BD9571MWV b/baseconfig/CONFIG_GPIO_BD9571MWV new file mode 100644 index 000000000..0cdd67b34 --- /dev/null +++ b/baseconfig/CONFIG_GPIO_BD9571MWV @@ -0,0 +1 @@ +CONFIG_GPIO_BD9571MWV=m diff --git a/baseconfig/CONFIG_GPIO_FTGPIO010 b/baseconfig/CONFIG_GPIO_FTGPIO010 new file mode 100644 index 000000000..3a1fb41ea --- /dev/null +++ b/baseconfig/CONFIG_GPIO_FTGPIO010 @@ -0,0 +1 @@ +# CONFIG_GPIO_FTGPIO010 is not set diff --git a/baseconfig/CONFIG_GPIO_MAX3191X b/baseconfig/CONFIG_GPIO_MAX3191X new file mode 100644 index 000000000..b0cd128e8 --- /dev/null +++ b/baseconfig/CONFIG_GPIO_MAX3191X @@ -0,0 +1 @@ +# CONFIG_GPIO_MAX3191X is not set diff --git a/baseconfig/CONFIG_GPIO_MB86S7X b/baseconfig/CONFIG_GPIO_MB86S7X new file mode 100644 index 000000000..1b3c1acc1 --- /dev/null +++ b/baseconfig/CONFIG_GPIO_MB86S7X @@ -0,0 +1 @@ +# CONFIG_GPIO_MB86S7X is not set diff --git a/baseconfig/CONFIG_GPIO_PCIE_IDIO_24 b/baseconfig/CONFIG_GPIO_PCIE_IDIO_24 new file mode 100644 index 000000000..6313cc61d --- /dev/null +++ b/baseconfig/CONFIG_GPIO_PCIE_IDIO_24 @@ -0,0 +1 @@ +# CONFIG_GPIO_PCIE_IDIO_24 is not set diff --git a/baseconfig/CONFIG_GPIO_TEGRA186 b/baseconfig/CONFIG_GPIO_TEGRA186 new file mode 100644 index 000000000..ff21c5964 --- /dev/null +++ b/baseconfig/CONFIG_GPIO_TEGRA186 @@ -0,0 +1 @@ +# CONFIG_GPIO_TEGRA186 is not set diff --git a/baseconfig/CONFIG_GPIO_TPS68470 b/baseconfig/CONFIG_GPIO_TPS68470 new file mode 100644 index 000000000..3176e956e --- /dev/null +++ b/baseconfig/CONFIG_GPIO_TPS68470 @@ -0,0 +1 @@ +CONFIG_GPIO_TPS68470=y diff --git a/baseconfig/CONFIG_GPIO_XRA1403 b/baseconfig/CONFIG_GPIO_XRA1403 new file mode 100644 index 000000000..c9567433f --- /dev/null +++ b/baseconfig/CONFIG_GPIO_XRA1403 @@ -0,0 +1 @@ +# CONFIG_GPIO_XRA1403 is not set diff --git a/baseconfig/CONFIG_GUP_BENCHMARK b/baseconfig/CONFIG_GUP_BENCHMARK new file mode 100644 index 000000000..f978e4899 --- /dev/null +++ b/baseconfig/CONFIG_GUP_BENCHMARK @@ -0,0 +1 @@ +# CONFIG_GUP_BENCHMARK is not set diff --git a/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK b/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK new file mode 100644 index 000000000..36d49f582 --- /dev/null +++ b/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK @@ -0,0 +1 @@ +CONFIG_HARDENED_USERCOPY_FALLBACK=y diff --git a/baseconfig/CONFIG_HD44780 b/baseconfig/CONFIG_HD44780 new file mode 100644 index 000000000..22e6cf3b3 --- /dev/null +++ b/baseconfig/CONFIG_HD44780 @@ -0,0 +1 @@ +CONFIG_HD44780=m diff --git a/baseconfig/CONFIG_HID_ACCUTOUCH b/baseconfig/CONFIG_HID_ACCUTOUCH new file mode 100644 index 000000000..7b8010de1 --- /dev/null +++ b/baseconfig/CONFIG_HID_ACCUTOUCH @@ -0,0 +1 @@ +CONFIG_HID_ACCUTOUCH=m diff --git a/baseconfig/CONFIG_HID_CP2112 b/baseconfig/CONFIG_HID_CP2112 index 3f9425d1d..d0f72fae1 100644 --- a/baseconfig/CONFIG_HID_CP2112 +++ b/baseconfig/CONFIG_HID_CP2112 @@ -1 +1 @@ -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m diff --git a/baseconfig/CONFIG_HID_ITE b/baseconfig/CONFIG_HID_ITE new file mode 100644 index 000000000..b4af4b45e --- /dev/null +++ b/baseconfig/CONFIG_HID_ITE @@ -0,0 +1 @@ +CONFIG_HID_ITE=m diff --git a/baseconfig/CONFIG_HID_JABRA b/baseconfig/CONFIG_HID_JABRA new file mode 100644 index 000000000..c93fae8a6 --- /dev/null +++ b/baseconfig/CONFIG_HID_JABRA @@ -0,0 +1 @@ +CONFIG_HID_JABRA=m diff --git a/baseconfig/CONFIG_HID_NTI b/baseconfig/CONFIG_HID_NTI new file mode 100644 index 000000000..c239c7052 --- /dev/null +++ b/baseconfig/CONFIG_HID_NTI @@ -0,0 +1 @@ +CONFIG_HID_NTI=m diff --git a/baseconfig/CONFIG_HID_RETRODE b/baseconfig/CONFIG_HID_RETRODE new file mode 100644 index 000000000..9d8b33ccc --- /dev/null +++ b/baseconfig/CONFIG_HID_RETRODE @@ -0,0 +1 @@ +CONFIG_HID_RETRODE=m diff --git a/baseconfig/CONFIG_HID_SENSOR_HUMIDITY b/baseconfig/CONFIG_HID_SENSOR_HUMIDITY new file mode 100644 index 000000000..d50f5014a --- /dev/null +++ b/baseconfig/CONFIG_HID_SENSOR_HUMIDITY @@ -0,0 +1 @@ +CONFIG_HID_SENSOR_HUMIDITY=m diff --git a/baseconfig/CONFIG_HID_SENSOR_TEMP b/baseconfig/CONFIG_HID_SENSOR_TEMP new file mode 100644 index 000000000..6f1a98bc0 --- /dev/null +++ b/baseconfig/CONFIG_HID_SENSOR_TEMP @@ -0,0 +1 @@ +CONFIG_HID_SENSOR_TEMP=m diff --git a/baseconfig/CONFIG_HWSPINLOCK b/baseconfig/CONFIG_HWSPINLOCK index e35b793e2..6b531e93f 100644 --- a/baseconfig/CONFIG_HWSPINLOCK +++ b/baseconfig/CONFIG_HWSPINLOCK @@ -1 +1 @@ -CONFIG_HWSPINLOCK=m +CONFIG_HWSPINLOCK=y diff --git a/baseconfig/CONFIG_HW_RANDOM_TPM b/baseconfig/CONFIG_HW_RANDOM_TPM index 51b6ac9cb..d991b3c93 100644 --- a/baseconfig/CONFIG_HW_RANDOM_TPM +++ b/baseconfig/CONFIG_HW_RANDOM_TPM @@ -1 +1 @@ -CONFIG_HW_RANDOM_TPM=m +CONFIG_HW_RANDOM_TPM=y diff --git a/baseconfig/CONFIG_HW_RANDOM_VIRTIO b/baseconfig/CONFIG_HW_RANDOM_VIRTIO index 1b31e5535..ec44b8453 100644 --- a/baseconfig/CONFIG_HW_RANDOM_VIRTIO +++ b/baseconfig/CONFIG_HW_RANDOM_VIRTIO @@ -1 +1 @@ -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y diff --git a/baseconfig/CONFIG_I2C_DESIGNWARE_SLAVE b/baseconfig/CONFIG_I2C_DESIGNWARE_SLAVE new file mode 100644 index 000000000..8c847f261 --- /dev/null +++ b/baseconfig/CONFIG_I2C_DESIGNWARE_SLAVE @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_SLAVE=y diff --git a/baseconfig/CONFIG_I2C_MUX_GPMUX b/baseconfig/CONFIG_I2C_MUX_GPMUX new file mode 100644 index 000000000..519b3e679 --- /dev/null +++ b/baseconfig/CONFIG_I2C_MUX_GPMUX @@ -0,0 +1 @@ +CONFIG_I2C_MUX_GPMUX=m diff --git a/baseconfig/CONFIG_I2C_MUX_LTC4306 b/baseconfig/CONFIG_I2C_MUX_LTC4306 new file mode 100644 index 000000000..f7c16456c --- /dev/null +++ b/baseconfig/CONFIG_I2C_MUX_LTC4306 @@ -0,0 +1 @@ +CONFIG_I2C_MUX_LTC4306=m diff --git a/baseconfig/CONFIG_I2C_PARPORT_LIGHT b/baseconfig/CONFIG_I2C_PARPORT_LIGHT index 1dbc68883..e18239222 100644 --- a/baseconfig/CONFIG_I2C_PARPORT_LIGHT +++ b/baseconfig/CONFIG_I2C_PARPORT_LIGHT @@ -1 +1 @@ -CONFIG_I2C_PARPORT_LIGHT=m +# CONFIG_I2C_PARPORT_LIGHT is not set diff --git a/baseconfig/CONFIG_IEEE802154_CA8210 b/baseconfig/CONFIG_IEEE802154_CA8210 new file mode 100644 index 000000000..d4a2158a3 --- /dev/null +++ b/baseconfig/CONFIG_IEEE802154_CA8210 @@ -0,0 +1 @@ +CONFIG_IEEE802154_CA8210=m diff --git a/baseconfig/CONFIG_IEEE802154_CA8210_DEBUGFS b/baseconfig/CONFIG_IEEE802154_CA8210_DEBUGFS new file mode 100644 index 000000000..e919384b7 --- /dev/null +++ b/baseconfig/CONFIG_IEEE802154_CA8210_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_IEEE802154_CA8210_DEBUGFS is not set diff --git a/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER b/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER new file mode 100644 index 000000000..1d90b19ae --- /dev/null +++ b/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER @@ -0,0 +1 @@ +CONFIG_IIO_BUFFER_HW_CONSUMER=m diff --git a/baseconfig/CONFIG_IIO_CROS_EC_ACCEL_LEGACY b/baseconfig/CONFIG_IIO_CROS_EC_ACCEL_LEGACY new file mode 100644 index 000000000..9c05b971e --- /dev/null +++ b/baseconfig/CONFIG_IIO_CROS_EC_ACCEL_LEGACY @@ -0,0 +1 @@ +CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m diff --git a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_COR b/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_COR deleted file mode 100644 index f3d54f70e..000000000 --- a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_COR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IIO_CROS_EC_SENSORS_COR=m diff --git a/baseconfig/CONFIG_IIO_MUX b/baseconfig/CONFIG_IIO_MUX new file mode 100644 index 000000000..a139de267 --- /dev/null +++ b/baseconfig/CONFIG_IIO_MUX @@ -0,0 +1 @@ +CONFIG_IIO_MUX=m diff --git a/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS b/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS new file mode 100644 index 000000000..478415c11 --- /dev/null +++ b/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set diff --git a/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA b/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA index 164f3b26c..0743f41a5 100644 --- a/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA +++ b/baseconfig/CONFIG_INFINIBAND_VMWARE_PVRDMA @@ -1 +1 @@ -CONFIG_INFINIBAND_VMWARE_PVRDMA=m +# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set diff --git a/baseconfig/CONFIG_INOTIFY b/baseconfig/CONFIG_INOTIFY deleted file mode 100644 index 78343a1d2..000000000 --- a/baseconfig/CONFIG_INOTIFY +++ /dev/null @@ -1 +0,0 @@ -CONFIG_INOTIFY=y diff --git a/baseconfig/CONFIG_INPUT_MMA8450 b/baseconfig/CONFIG_INPUT_MMA8450 index 68519d153..105180917 100644 --- a/baseconfig/CONFIG_INPUT_MMA8450 +++ b/baseconfig/CONFIG_INPUT_MMA8450 @@ -1 +1 @@ -CONFIG_INPUT_MMA8450=m +# CONFIG_INPUT_MMA8450 is not set diff --git a/baseconfig/CONFIG_INPUT_MPU3050 b/baseconfig/CONFIG_INPUT_MPU3050 deleted file mode 100644 index 7c1afe068..000000000 --- a/baseconfig/CONFIG_INPUT_MPU3050 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_INPUT_MPU3050=m diff --git a/baseconfig/CONFIG_INPUT_PWM_VIBRA b/baseconfig/CONFIG_INPUT_PWM_VIBRA new file mode 100644 index 000000000..39a51b490 --- /dev/null +++ b/baseconfig/CONFIG_INPUT_PWM_VIBRA @@ -0,0 +1 @@ +# CONFIG_INPUT_PWM_VIBRA is not set diff --git a/baseconfig/CONFIG_INPUT_RK805_PWRKEY b/baseconfig/CONFIG_INPUT_RK805_PWRKEY new file mode 100644 index 000000000..4ce96f558 --- /dev/null +++ b/baseconfig/CONFIG_INPUT_RK805_PWRKEY @@ -0,0 +1 @@ +CONFIG_INPUT_RK805_PWRKEY=m diff --git a/baseconfig/CONFIG_INTEL_SOC_PMIC_CHTDC_TI b/baseconfig/CONFIG_INTEL_SOC_PMIC_CHTDC_TI new file mode 100644 index 000000000..4a724aabc --- /dev/null +++ b/baseconfig/CONFIG_INTEL_SOC_PMIC_CHTDC_TI @@ -0,0 +1 @@ +CONFIG_INTEL_SOC_PMIC_CHTDC_TI=m diff --git a/baseconfig/CONFIG_IOSCHED_BFQ b/baseconfig/CONFIG_IOSCHED_BFQ new file mode 100644 index 000000000..3023fb0b5 --- /dev/null +++ b/baseconfig/CONFIG_IOSCHED_BFQ @@ -0,0 +1 @@ +CONFIG_IOSCHED_BFQ=m diff --git a/baseconfig/CONFIG_IP6_NF_MATCH_SRH b/baseconfig/CONFIG_IP6_NF_MATCH_SRH new file mode 100644 index 000000000..c90ba3ec7 --- /dev/null +++ b/baseconfig/CONFIG_IP6_NF_MATCH_SRH @@ -0,0 +1 @@ +CONFIG_IP6_NF_MATCH_SRH=m diff --git a/baseconfig/CONFIG_IP6_NF_TARGET_NPT b/baseconfig/CONFIG_IP6_NF_TARGET_NPT index bb6d2f77a..e9a67d4fe 100644 --- a/baseconfig/CONFIG_IP6_NF_TARGET_NPT +++ b/baseconfig/CONFIG_IP6_NF_TARGET_NPT @@ -1 +1 @@ -# CONFIG_IP6_NF_TARGET_NPT is not set +CONFIG_IP6_NF_TARGET_NPT=m diff --git a/baseconfig/CONFIG_IPMI_PROC_INTERFACE b/baseconfig/CONFIG_IPMI_PROC_INTERFACE new file mode 100644 index 000000000..c3def049f --- /dev/null +++ b/baseconfig/CONFIG_IPMI_PROC_INTERFACE @@ -0,0 +1 @@ +# CONFIG_IPMI_PROC_INTERFACE is not set diff --git a/baseconfig/CONFIG_IPX b/baseconfig/CONFIG_IPX index 42770d9a6..1712b4f38 100644 --- a/baseconfig/CONFIG_IPX +++ b/baseconfig/CONFIG_IPX @@ -1 +1 @@ -CONFIG_IPX=m +# CONFIG_IPX is not set diff --git a/baseconfig/CONFIG_IPX_INTERN b/baseconfig/CONFIG_IPX_INTERN deleted file mode 100644 index d409381ce..000000000 --- a/baseconfig/CONFIG_IPX_INTERN +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_IPX_INTERN is not set diff --git a/baseconfig/CONFIG_IP_DCCP b/baseconfig/CONFIG_IP_DCCP index 26ba41376..6ecb43a3e 100644 --- a/baseconfig/CONFIG_IP_DCCP +++ b/baseconfig/CONFIG_IP_DCCP @@ -1 +1 @@ -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set diff --git a/baseconfig/CONFIG_IRCOMM b/baseconfig/CONFIG_IRCOMM deleted file mode 100644 index ff705e2aa..000000000 --- a/baseconfig/CONFIG_IRCOMM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IRCOMM=m diff --git a/baseconfig/CONFIG_IRDA b/baseconfig/CONFIG_IRDA index 1df4b8c1b..54366a325 100644 --- a/baseconfig/CONFIG_IRDA +++ b/baseconfig/CONFIG_IRDA @@ -1 +1 @@ -CONFIG_IRDA=m +# CONFIG_IRDA is not set diff --git a/baseconfig/CONFIG_IRDA_CACHE_LAST_LSAP b/baseconfig/CONFIG_IRDA_CACHE_LAST_LSAP deleted file mode 100644 index 111fb584f..000000000 --- a/baseconfig/CONFIG_IRDA_CACHE_LAST_LSAP +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IRDA_CACHE_LAST_LSAP=y diff --git a/baseconfig/CONFIG_IRDA_DEBUG b/baseconfig/CONFIG_IRDA_DEBUG deleted file mode 100644 index c2c9a8911..000000000 --- a/baseconfig/CONFIG_IRDA_DEBUG +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_IRDA_DEBUG is not set diff --git a/baseconfig/CONFIG_IRDA_FAST_RR b/baseconfig/CONFIG_IRDA_FAST_RR deleted file mode 100644 index 01803e322..000000000 --- a/baseconfig/CONFIG_IRDA_FAST_RR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IRDA_FAST_RR=y diff --git a/baseconfig/CONFIG_IRDA_ULTRA b/baseconfig/CONFIG_IRDA_ULTRA deleted file mode 100644 index 7da5a957e..000000000 --- a/baseconfig/CONFIG_IRDA_ULTRA +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_IRDA_ULTRA is not set diff --git a/baseconfig/CONFIG_IRLAN b/baseconfig/CONFIG_IRLAN deleted file mode 100644 index ce8f69c7c..000000000 --- a/baseconfig/CONFIG_IRLAN +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IRLAN=m diff --git a/baseconfig/CONFIG_IRNET b/baseconfig/CONFIG_IRNET deleted file mode 100644 index 03ad3739c..000000000 --- a/baseconfig/CONFIG_IRNET +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IRNET=m diff --git a/baseconfig/CONFIG_IRTTY_SIR b/baseconfig/CONFIG_IRTTY_SIR deleted file mode 100644 index 530f3c775..000000000 --- a/baseconfig/CONFIG_IRTTY_SIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IRTTY_SIR=m diff --git a/baseconfig/CONFIG_IR_GPIO_TX b/baseconfig/CONFIG_IR_GPIO_TX new file mode 100644 index 000000000..4b6b484bb --- /dev/null +++ b/baseconfig/CONFIG_IR_GPIO_TX @@ -0,0 +1 @@ +CONFIG_IR_GPIO_TX=m diff --git a/baseconfig/CONFIG_IR_PWM_TX b/baseconfig/CONFIG_IR_PWM_TX new file mode 100644 index 000000000..4dfd41870 --- /dev/null +++ b/baseconfig/CONFIG_IR_PWM_TX @@ -0,0 +1 @@ +CONFIG_IR_PWM_TX=m diff --git a/baseconfig/CONFIG_IR_SIR b/baseconfig/CONFIG_IR_SIR new file mode 100644 index 000000000..58ea0b9e1 --- /dev/null +++ b/baseconfig/CONFIG_IR_SIR @@ -0,0 +1 @@ +# CONFIG_IR_SIR is not set diff --git a/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI new file mode 100644 index 000000000..d66d2b113 --- /dev/null +++ b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI @@ -0,0 +1 @@ +CONFIG_JOYSTICK_PSXPAD_SPI=m diff --git a/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI_FF b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI_FF new file mode 100644 index 000000000..c534b358b --- /dev/null +++ b/baseconfig/CONFIG_JOYSTICK_PSXPAD_SPI_FF @@ -0,0 +1 @@ +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y diff --git a/baseconfig/CONFIG_KEYBOARD_DLINK_DIR685 b/baseconfig/CONFIG_KEYBOARD_DLINK_DIR685 new file mode 100644 index 000000000..9f273ca53 --- /dev/null +++ b/baseconfig/CONFIG_KEYBOARD_DLINK_DIR685 @@ -0,0 +1 @@ +# CONFIG_KEYBOARD_DLINK_DIR685 is not set diff --git a/baseconfig/CONFIG_KEYBOARD_QT1070 b/baseconfig/CONFIG_KEYBOARD_QT1070 index 7deb75f9a..f9f0b0a84 100644 --- a/baseconfig/CONFIG_KEYBOARD_QT1070 +++ b/baseconfig/CONFIG_KEYBOARD_QT1070 @@ -1 +1 @@ -# CONFIG_KEYBOARD_QT1070 is not set +CONFIG_KEYBOARD_QT1070=m diff --git a/baseconfig/CONFIG_KINGSUN_DONGLE b/baseconfig/CONFIG_KINGSUN_DONGLE deleted file mode 100644 index b3a114f5c..000000000 --- a/baseconfig/CONFIG_KINGSUN_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_KINGSUN_DONGLE=m diff --git a/baseconfig/CONFIG_KS959_DONGLE b/baseconfig/CONFIG_KS959_DONGLE deleted file mode 100644 index e89a9e0c6..000000000 --- a/baseconfig/CONFIG_KS959_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_KS959_DONGLE=m diff --git a/baseconfig/CONFIG_KSDAZZLE_DONGLE b/baseconfig/CONFIG_KSDAZZLE_DONGLE deleted file mode 100644 index 22be27940..000000000 --- a/baseconfig/CONFIG_KSDAZZLE_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_KSDAZZLE_DONGLE=m diff --git a/baseconfig/CONFIG_LEDS_AS3645A b/baseconfig/CONFIG_LEDS_AS3645A new file mode 100644 index 000000000..25d6f9f10 --- /dev/null +++ b/baseconfig/CONFIG_LEDS_AS3645A @@ -0,0 +1 @@ +CONFIG_LEDS_AS3645A=m diff --git a/baseconfig/CONFIG_LEDS_DELL_NETBOOKS b/baseconfig/CONFIG_LEDS_DELL_NETBOOKS deleted file mode 100644 index 45f9aee48..000000000 --- a/baseconfig/CONFIG_LEDS_DELL_NETBOOKS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_LEDS_DELL_NETBOOKS=m diff --git a/baseconfig/CONFIG_LEDS_IS31FL32XX b/baseconfig/CONFIG_LEDS_IS31FL32XX index bc726f797..343dc4dd8 100644 --- a/baseconfig/CONFIG_LEDS_IS31FL32XX +++ b/baseconfig/CONFIG_LEDS_IS31FL32XX @@ -1 +1 @@ -# CONFIG_LEDS_IS31FL32XX is not set +CONFIG_LEDS_IS31FL32XX=m diff --git a/baseconfig/CONFIG_LEDS_LM3692X b/baseconfig/CONFIG_LEDS_LM3692X new file mode 100644 index 000000000..f31f9cb8a --- /dev/null +++ b/baseconfig/CONFIG_LEDS_LM3692X @@ -0,0 +1 @@ +CONFIG_LEDS_LM3692X=m diff --git a/baseconfig/CONFIG_LEDS_TRIGGER_ACTIVITY b/baseconfig/CONFIG_LEDS_TRIGGER_ACTIVITY new file mode 100644 index 000000000..286a244c4 --- /dev/null +++ b/baseconfig/CONFIG_LEDS_TRIGGER_ACTIVITY @@ -0,0 +1 @@ +CONFIG_LEDS_TRIGGER_ACTIVITY=m diff --git a/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV b/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV new file mode 100644 index 000000000..890e0a4ba --- /dev/null +++ b/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV @@ -0,0 +1 @@ +CONFIG_LEDS_TRIGGER_NETDEV=m diff --git a/baseconfig/CONFIG_LIRC b/baseconfig/CONFIG_LIRC index e1049c6ea..f0068c944 100644 --- a/baseconfig/CONFIG_LIRC +++ b/baseconfig/CONFIG_LIRC @@ -1 +1 @@ -CONFIG_LIRC=m +CONFIG_LIRC=y diff --git a/baseconfig/CONFIG_LIRC_SASEM b/baseconfig/CONFIG_LIRC_SASEM deleted file mode 100644 index 4bfc392e8..000000000 --- a/baseconfig/CONFIG_LIRC_SASEM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_LIRC_SASEM=m diff --git a/baseconfig/CONFIG_LIRC_SIR b/baseconfig/CONFIG_LIRC_SIR deleted file mode 100644 index 8b3414e95..000000000 --- a/baseconfig/CONFIG_LIRC_SIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_LIRC_SIR=m diff --git a/baseconfig/CONFIG_LITELINK_DONGLE b/baseconfig/CONFIG_LITELINK_DONGLE deleted file mode 100644 index 0695e018d..000000000 --- a/baseconfig/CONFIG_LITELINK_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_LITELINK_DONGLE=m diff --git a/baseconfig/CONFIG_LOAD_UEFI_KEYS b/baseconfig/CONFIG_LOAD_UEFI_KEYS new file mode 100644 index 000000000..de1de5c25 --- /dev/null +++ b/baseconfig/CONFIG_LOAD_UEFI_KEYS @@ -0,0 +1 @@ +# CONFIG_LOAD_UEFI_KEYS is not set diff --git a/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT b/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT new file mode 100644 index 000000000..336528547 --- /dev/null +++ b/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT @@ -0,0 +1 @@ +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set diff --git a/baseconfig/CONFIG_LTC2471 b/baseconfig/CONFIG_LTC2471 new file mode 100644 index 000000000..5d272ac29 --- /dev/null +++ b/baseconfig/CONFIG_LTC2471 @@ -0,0 +1 @@ +# CONFIG_LTC2471 is not set diff --git a/baseconfig/CONFIG_LTC2497 b/baseconfig/CONFIG_LTC2497 new file mode 100644 index 000000000..312f3db17 --- /dev/null +++ b/baseconfig/CONFIG_LTC2497 @@ -0,0 +1 @@ +# CONFIG_LTC2497 is not set diff --git a/baseconfig/CONFIG_LTC2632 b/baseconfig/CONFIG_LTC2632 new file mode 100644 index 000000000..8bc2b8bc4 --- /dev/null +++ b/baseconfig/CONFIG_LTC2632 @@ -0,0 +1 @@ +# CONFIG_LTC2632 is not set diff --git a/baseconfig/CONFIG_MA600_DONGLE b/baseconfig/CONFIG_MA600_DONGLE deleted file mode 100644 index d32eaff57..000000000 --- a/baseconfig/CONFIG_MA600_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MA600_DONGLE=m diff --git a/baseconfig/CONFIG_MACB_USE_HWSTAMP b/baseconfig/CONFIG_MACB_USE_HWSTAMP new file mode 100644 index 000000000..ab817484b --- /dev/null +++ b/baseconfig/CONFIG_MACB_USE_HWSTAMP @@ -0,0 +1 @@ +CONFIG_MACB_USE_HWSTAMP=y diff --git a/baseconfig/CONFIG_MANAGER_SBS b/baseconfig/CONFIG_MANAGER_SBS new file mode 100644 index 000000000..aae8258e3 --- /dev/null +++ b/baseconfig/CONFIG_MANAGER_SBS @@ -0,0 +1 @@ +# CONFIG_MANAGER_SBS is not set diff --git a/baseconfig/CONFIG_MARVELL_10G_PHY b/baseconfig/CONFIG_MARVELL_10G_PHY new file mode 100644 index 000000000..6dadd98ff --- /dev/null +++ b/baseconfig/CONFIG_MARVELL_10G_PHY @@ -0,0 +1 @@ +CONFIG_MARVELL_10G_PHY=m diff --git a/baseconfig/CONFIG_MAX1118 b/baseconfig/CONFIG_MAX1118 new file mode 100644 index 000000000..615bda2e2 --- /dev/null +++ b/baseconfig/CONFIG_MAX1118 @@ -0,0 +1 @@ +# CONFIG_MAX1118 is not set diff --git a/baseconfig/CONFIG_MAX1363 b/baseconfig/CONFIG_MAX1363 index d0090112c..08e944fb7 100644 --- a/baseconfig/CONFIG_MAX1363 +++ b/baseconfig/CONFIG_MAX1363 @@ -1 +1 @@ -# CONFIG_MAX1363 is not set +CONFIG_MAX1363=m diff --git a/baseconfig/CONFIG_MAX30102 b/baseconfig/CONFIG_MAX30102 new file mode 100644 index 000000000..5b4aacf3d --- /dev/null +++ b/baseconfig/CONFIG_MAX30102 @@ -0,0 +1 @@ +# CONFIG_MAX30102 is not set diff --git a/baseconfig/CONFIG_MAX9611 b/baseconfig/CONFIG_MAX9611 new file mode 100644 index 000000000..1cbc674e0 --- /dev/null +++ b/baseconfig/CONFIG_MAX9611 @@ -0,0 +1 @@ +# CONFIG_MAX9611 is not set diff --git a/baseconfig/CONFIG_MCP2120_DONGLE b/baseconfig/CONFIG_MCP2120_DONGLE deleted file mode 100644 index ca4f23a8a..000000000 --- a/baseconfig/CONFIG_MCP2120_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MCP2120_DONGLE=m diff --git a/baseconfig/CONFIG_MCS_FIR b/baseconfig/CONFIG_MCS_FIR deleted file mode 100644 index bb7384a2b..000000000 --- a/baseconfig/CONFIG_MCS_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MCS_FIR=m diff --git a/baseconfig/CONFIG_MDIO_I2C b/baseconfig/CONFIG_MDIO_I2C new file mode 100644 index 000000000..df7d9e025 --- /dev/null +++ b/baseconfig/CONFIG_MDIO_I2C @@ -0,0 +1 @@ +CONFIG_MDIO_I2C=m diff --git a/baseconfig/CONFIG_MEDIA_CEC_RC b/baseconfig/CONFIG_MEDIA_CEC_RC new file mode 100644 index 000000000..1531c4b09 --- /dev/null +++ b/baseconfig/CONFIG_MEDIA_CEC_RC @@ -0,0 +1 @@ +CONFIG_MEDIA_CEC_RC=y diff --git a/baseconfig/CONFIG_MELLANOX_PLATFORM b/baseconfig/CONFIG_MELLANOX_PLATFORM new file mode 100644 index 000000000..8bd7b2e54 --- /dev/null +++ b/baseconfig/CONFIG_MELLANOX_PLATFORM @@ -0,0 +1 @@ +CONFIG_MELLANOX_PLATFORM=y diff --git a/baseconfig/CONFIG_MESON_GX_PM_DOMAINS b/baseconfig/CONFIG_MESON_GX_PM_DOMAINS new file mode 100644 index 000000000..5d71bc0bc --- /dev/null +++ b/baseconfig/CONFIG_MESON_GX_PM_DOMAINS @@ -0,0 +1 @@ +# CONFIG_MESON_GX_PM_DOMAINS is not set diff --git a/baseconfig/CONFIG_MESON_MX_EFUSE b/baseconfig/CONFIG_MESON_MX_EFUSE new file mode 100644 index 000000000..b289cb9dd --- /dev/null +++ b/baseconfig/CONFIG_MESON_MX_EFUSE @@ -0,0 +1 @@ +# CONFIG_MESON_MX_EFUSE is not set diff --git a/baseconfig/CONFIG_MESON_MX_SOCINFO b/baseconfig/CONFIG_MESON_MX_SOCINFO new file mode 100644 index 000000000..63f558a2c --- /dev/null +++ b/baseconfig/CONFIG_MESON_MX_SOCINFO @@ -0,0 +1 @@ +# CONFIG_MESON_MX_SOCINFO is not set diff --git a/baseconfig/CONFIG_MFD_BD9571MWV b/baseconfig/CONFIG_MFD_BD9571MWV new file mode 100644 index 000000000..28d27a0e5 --- /dev/null +++ b/baseconfig/CONFIG_MFD_BD9571MWV @@ -0,0 +1 @@ +CONFIG_MFD_BD9571MWV=m diff --git a/baseconfig/CONFIG_MFD_CPCAP b/baseconfig/CONFIG_MFD_CPCAP index acf5bd3fe..0f0408181 100644 --- a/baseconfig/CONFIG_MFD_CPCAP +++ b/baseconfig/CONFIG_MFD_CPCAP @@ -1 +1 @@ -CONFIG_MFD_CPCAP=m +# CONFIG_MFD_CPCAP is not set diff --git a/baseconfig/CONFIG_MFD_EXYNOS_LPASS b/baseconfig/CONFIG_MFD_EXYNOS_LPASS deleted file mode 100644 index d733b0518..000000000 --- a/baseconfig/CONFIG_MFD_EXYNOS_LPASS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MFD_EXYNOS_LPASS is not set diff --git a/baseconfig/CONFIG_MFD_RTSX_PCI b/baseconfig/CONFIG_MFD_RTSX_PCI deleted file mode 100644 index 161c0e2c2..000000000 --- a/baseconfig/CONFIG_MFD_RTSX_PCI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_RTSX_PCI=m diff --git a/baseconfig/CONFIG_MFD_RTSX_USB b/baseconfig/CONFIG_MFD_RTSX_USB deleted file mode 100644 index 1ec59a181..000000000 --- a/baseconfig/CONFIG_MFD_RTSX_USB +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_RTSX_USB=m diff --git a/baseconfig/CONFIG_MFD_TI_LMU b/baseconfig/CONFIG_MFD_TI_LMU new file mode 100644 index 000000000..4a84e3fd0 --- /dev/null +++ b/baseconfig/CONFIG_MFD_TI_LMU @@ -0,0 +1 @@ +# CONFIG_MFD_TI_LMU is not set diff --git a/baseconfig/CONFIG_MFD_TI_LP87565 b/baseconfig/CONFIG_MFD_TI_LP87565 new file mode 100644 index 000000000..112b4154b --- /dev/null +++ b/baseconfig/CONFIG_MFD_TI_LP87565 @@ -0,0 +1 @@ +# CONFIG_MFD_TI_LP87565 is not set diff --git a/baseconfig/CONFIG_MFD_TPS68470 b/baseconfig/CONFIG_MFD_TPS68470 new file mode 100644 index 000000000..10fd40465 --- /dev/null +++ b/baseconfig/CONFIG_MFD_TPS68470 @@ -0,0 +1 @@ +CONFIG_MFD_TPS68470=y diff --git a/baseconfig/CONFIG_MICROCHIP_KSZ b/baseconfig/CONFIG_MICROCHIP_KSZ new file mode 100644 index 000000000..83147cf6f --- /dev/null +++ b/baseconfig/CONFIG_MICROCHIP_KSZ @@ -0,0 +1 @@ +CONFIG_MICROCHIP_KSZ=m diff --git a/baseconfig/CONFIG_MICROCHIP_KSZ_SPI_DRIVER b/baseconfig/CONFIG_MICROCHIP_KSZ_SPI_DRIVER new file mode 100644 index 000000000..f5a713178 --- /dev/null +++ b/baseconfig/CONFIG_MICROCHIP_KSZ_SPI_DRIVER @@ -0,0 +1 @@ +CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m diff --git a/baseconfig/CONFIG_MISC_RTSX_PCI b/baseconfig/CONFIG_MISC_RTSX_PCI new file mode 100644 index 000000000..c05d0dda2 --- /dev/null +++ b/baseconfig/CONFIG_MISC_RTSX_PCI @@ -0,0 +1 @@ +CONFIG_MISC_RTSX_PCI=m diff --git a/baseconfig/CONFIG_MISC_RTSX_USB b/baseconfig/CONFIG_MISC_RTSX_USB new file mode 100644 index 000000000..c22296e51 --- /dev/null +++ b/baseconfig/CONFIG_MISC_RTSX_USB @@ -0,0 +1 @@ +CONFIG_MISC_RTSX_USB=m diff --git a/baseconfig/CONFIG_MLX4_CORE_GEN2 b/baseconfig/CONFIG_MLX4_CORE_GEN2 new file mode 100644 index 000000000..a6f01dac1 --- /dev/null +++ b/baseconfig/CONFIG_MLX4_CORE_GEN2 @@ -0,0 +1 @@ +CONFIG_MLX4_CORE_GEN2=y diff --git a/baseconfig/CONFIG_MLX5_CORE_IPOIB b/baseconfig/CONFIG_MLX5_CORE_IPOIB new file mode 100644 index 000000000..d78d82d65 --- /dev/null +++ b/baseconfig/CONFIG_MLX5_CORE_IPOIB @@ -0,0 +1 @@ +CONFIG_MLX5_CORE_IPOIB=y diff --git a/baseconfig/CONFIG_MLX5_EN_IPSEC b/baseconfig/CONFIG_MLX5_EN_IPSEC new file mode 100644 index 000000000..ba2658e5a --- /dev/null +++ b/baseconfig/CONFIG_MLX5_EN_IPSEC @@ -0,0 +1 @@ +# CONFIG_MLX5_EN_IPSEC is not set diff --git a/baseconfig/CONFIG_MLX5_ESWITCH b/baseconfig/CONFIG_MLX5_ESWITCH new file mode 100644 index 000000000..8a69e0671 --- /dev/null +++ b/baseconfig/CONFIG_MLX5_ESWITCH @@ -0,0 +1 @@ +CONFIG_MLX5_ESWITCH=y diff --git a/baseconfig/CONFIG_MLX5_FPGA b/baseconfig/CONFIG_MLX5_FPGA new file mode 100644 index 000000000..544f7b4f6 --- /dev/null +++ b/baseconfig/CONFIG_MLX5_FPGA @@ -0,0 +1 @@ +# CONFIG_MLX5_FPGA is not set diff --git a/baseconfig/CONFIG_MLX5_MPFS b/baseconfig/CONFIG_MLX5_MPFS new file mode 100644 index 000000000..6799ed484 --- /dev/null +++ b/baseconfig/CONFIG_MLX5_MPFS @@ -0,0 +1 @@ +CONFIG_MLX5_MPFS=y diff --git a/baseconfig/CONFIG_MLXFW b/baseconfig/CONFIG_MLXFW new file mode 100644 index 000000000..5b4751806 --- /dev/null +++ b/baseconfig/CONFIG_MLXFW @@ -0,0 +1 @@ +CONFIG_MLXFW=m diff --git a/baseconfig/CONFIG_MLXREG_HOTPLUG b/baseconfig/CONFIG_MLXREG_HOTPLUG new file mode 100644 index 000000000..44d9d3771 --- /dev/null +++ b/baseconfig/CONFIG_MLXREG_HOTPLUG @@ -0,0 +1 @@ +CONFIG_MLXREG_HOTPLUG=m diff --git a/baseconfig/CONFIG_MMC_BLOCK_BOUNCE b/baseconfig/CONFIG_MMC_BLOCK_BOUNCE deleted file mode 100644 index 4470e8359..000000000 --- a/baseconfig/CONFIG_MMC_BLOCK_BOUNCE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MMC_BLOCK_BOUNCE=y diff --git a/baseconfig/CONFIG_MMC_CQHCI b/baseconfig/CONFIG_MMC_CQHCI new file mode 100644 index 000000000..3ecbe65d0 --- /dev/null +++ b/baseconfig/CONFIG_MMC_CQHCI @@ -0,0 +1 @@ +CONFIG_MMC_CQHCI=m diff --git a/baseconfig/CONFIG_MMC_SDHCI_OF b/baseconfig/CONFIG_MMC_SDHCI_OF deleted file mode 100644 index 2e588649a..000000000 --- a/baseconfig/CONFIG_MMC_SDHCI_OF +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MMC_SDHCI_OF is not set diff --git a/baseconfig/CONFIG_MMC_SDHCI_OMAP b/baseconfig/CONFIG_MMC_SDHCI_OMAP new file mode 100644 index 000000000..c5c370b12 --- /dev/null +++ b/baseconfig/CONFIG_MMC_SDHCI_OMAP @@ -0,0 +1 @@ +# CONFIG_MMC_SDHCI_OMAP is not set diff --git a/baseconfig/CONFIG_MMC_SDHCI_XENON b/baseconfig/CONFIG_MMC_SDHCI_XENON new file mode 100644 index 000000000..7ced7b045 --- /dev/null +++ b/baseconfig/CONFIG_MMC_SDHCI_XENON @@ -0,0 +1 @@ +CONFIG_MMC_SDHCI_XENON=m diff --git a/baseconfig/CONFIG_MODULE_SIG_UEFI b/baseconfig/CONFIG_MODULE_SIG_UEFI deleted file mode 100644 index e4fb898f7..000000000 --- a/baseconfig/CONFIG_MODULE_SIG_UEFI +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MODULE_SIG_UEFI is not set diff --git a/baseconfig/CONFIG_MPU3050_I2C b/baseconfig/CONFIG_MPU3050_I2C index 92e6cbf51..2e9c7cc45 100644 --- a/baseconfig/CONFIG_MPU3050_I2C +++ b/baseconfig/CONFIG_MPU3050_I2C @@ -1 +1 @@ -# CONFIG_MPU3050_I2C is not set +CONFIG_MPU3050_I2C=m diff --git a/baseconfig/CONFIG_MQ_IOSCHED_KYBER b/baseconfig/CONFIG_MQ_IOSCHED_KYBER new file mode 100644 index 000000000..939264da2 --- /dev/null +++ b/baseconfig/CONFIG_MQ_IOSCHED_KYBER @@ -0,0 +1 @@ +CONFIG_MQ_IOSCHED_KYBER=m diff --git a/baseconfig/CONFIG_MT76x2E b/baseconfig/CONFIG_MT76x2E new file mode 100644 index 000000000..9667d0d96 --- /dev/null +++ b/baseconfig/CONFIG_MT76x2E @@ -0,0 +1 @@ +CONFIG_MT76x2E=m diff --git a/baseconfig/CONFIG_MTD_MCHP23K256 b/baseconfig/CONFIG_MTD_MCHP23K256 new file mode 100644 index 000000000..ed6627e35 --- /dev/null +++ b/baseconfig/CONFIG_MTD_MCHP23K256 @@ -0,0 +1 @@ +# CONFIG_MTD_MCHP23K256 is not set diff --git a/baseconfig/CONFIG_MTD_SHARPSL_PARTS b/baseconfig/CONFIG_MTD_SHARPSL_PARTS new file mode 100644 index 000000000..ca1894677 --- /dev/null +++ b/baseconfig/CONFIG_MTD_SHARPSL_PARTS @@ -0,0 +1 @@ +# CONFIG_MTD_SHARPSL_PARTS is not set diff --git a/baseconfig/CONFIG_MULTIPLEXER b/baseconfig/CONFIG_MULTIPLEXER new file mode 100644 index 000000000..fac2813b4 --- /dev/null +++ b/baseconfig/CONFIG_MULTIPLEXER @@ -0,0 +1 @@ +CONFIG_MULTIPLEXER=m diff --git a/baseconfig/CONFIG_MUX_ADG792A b/baseconfig/CONFIG_MUX_ADG792A new file mode 100644 index 000000000..fd85e4965 --- /dev/null +++ b/baseconfig/CONFIG_MUX_ADG792A @@ -0,0 +1 @@ +CONFIG_MUX_ADG792A=m diff --git a/baseconfig/CONFIG_MUX_GPIO b/baseconfig/CONFIG_MUX_GPIO new file mode 100644 index 000000000..e5a7a8282 --- /dev/null +++ b/baseconfig/CONFIG_MUX_GPIO @@ -0,0 +1 @@ +CONFIG_MUX_GPIO=m diff --git a/baseconfig/CONFIG_MUX_MMIO b/baseconfig/CONFIG_MUX_MMIO new file mode 100644 index 000000000..2d0328a73 --- /dev/null +++ b/baseconfig/CONFIG_MUX_MMIO @@ -0,0 +1 @@ +CONFIG_MUX_MMIO=m diff --git a/baseconfig/CONFIG_NCP_FS b/baseconfig/CONFIG_NCP_FS index 520727796..62eb3bdd0 100644 --- a/baseconfig/CONFIG_NCP_FS +++ b/baseconfig/CONFIG_NCP_FS @@ -1 +1 @@ -CONFIG_NCP_FS=m +# CONFIG_NCP_FS is not set diff --git a/baseconfig/CONFIG_NETDEVSIM b/baseconfig/CONFIG_NETDEVSIM new file mode 100644 index 000000000..f7666c533 --- /dev/null +++ b/baseconfig/CONFIG_NETDEVSIM @@ -0,0 +1 @@ +# CONFIG_NETDEVSIM is not set diff --git a/baseconfig/CONFIG_NET_9P_XEN b/baseconfig/CONFIG_NET_9P_XEN new file mode 100644 index 000000000..d2565ede3 --- /dev/null +++ b/baseconfig/CONFIG_NET_9P_XEN @@ -0,0 +1 @@ +CONFIG_NET_9P_XEN=m diff --git a/baseconfig/CONFIG_NET_DSA_LEGACY b/baseconfig/CONFIG_NET_DSA_LEGACY new file mode 100644 index 000000000..76080523a --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_LEGACY @@ -0,0 +1 @@ +# CONFIG_NET_DSA_LEGACY is not set diff --git a/baseconfig/CONFIG_NET_DSA_LOOP b/baseconfig/CONFIG_NET_DSA_LOOP new file mode 100644 index 000000000..08b25de7c --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_LOOP @@ -0,0 +1 @@ +CONFIG_NET_DSA_LOOP=m diff --git a/baseconfig/CONFIG_NET_DSA_MT7530 b/baseconfig/CONFIG_NET_DSA_MT7530 new file mode 100644 index 000000000..722095c89 --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_MT7530 @@ -0,0 +1 @@ +CONFIG_NET_DSA_MT7530=m diff --git a/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_I2C b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_I2C new file mode 100644 index 000000000..7c738fff2 --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_I2C @@ -0,0 +1 @@ +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m diff --git a/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_MDIO b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_MDIO new file mode 100644 index 000000000..d7f1987e2 --- /dev/null +++ b/baseconfig/CONFIG_NET_DSA_SMSC_LAN9303_MDIO @@ -0,0 +1 @@ +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m diff --git a/baseconfig/CONFIG_NET_NSH b/baseconfig/CONFIG_NET_NSH new file mode 100644 index 000000000..2a9a24e04 --- /dev/null +++ b/baseconfig/CONFIG_NET_NSH @@ -0,0 +1 @@ +CONFIG_NET_NSH=m diff --git a/baseconfig/CONFIG_NET_SCH_CBS b/baseconfig/CONFIG_NET_SCH_CBS new file mode 100644 index 000000000..8d0583974 --- /dev/null +++ b/baseconfig/CONFIG_NET_SCH_CBS @@ -0,0 +1 @@ +CONFIG_NET_SCH_CBS=m diff --git a/baseconfig/CONFIG_NET_SCH_DEFAULT b/baseconfig/CONFIG_NET_SCH_DEFAULT new file mode 100644 index 000000000..a4c53d281 --- /dev/null +++ b/baseconfig/CONFIG_NET_SCH_DEFAULT @@ -0,0 +1 @@ +# CONFIG_NET_SCH_DEFAULT is not set diff --git a/baseconfig/CONFIG_NET_VENDOR_AQUANTIA b/baseconfig/CONFIG_NET_VENDOR_AQUANTIA index 91af5c7e0..f8ae0ca05 100644 --- a/baseconfig/CONFIG_NET_VENDOR_AQUANTIA +++ b/baseconfig/CONFIG_NET_VENDOR_AQUANTIA @@ -1 +1 @@ -# CONFIG_NET_VENDOR_AQUANTIA is not set +CONFIG_NET_VENDOR_AQUANTIA=y diff --git a/baseconfig/CONFIG_NET_VENDOR_CORTINA b/baseconfig/CONFIG_NET_VENDOR_CORTINA new file mode 100644 index 000000000..3e188cd81 --- /dev/null +++ b/baseconfig/CONFIG_NET_VENDOR_CORTINA @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_CORTINA is not set diff --git a/baseconfig/CONFIG_NET_VENDOR_HUAWEI b/baseconfig/CONFIG_NET_VENDOR_HUAWEI new file mode 100644 index 000000000..ae01b9160 --- /dev/null +++ b/baseconfig/CONFIG_NET_VENDOR_HUAWEI @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_HUAWEI is not set diff --git a/baseconfig/CONFIG_NET_VENDOR_SNI b/baseconfig/CONFIG_NET_VENDOR_SNI new file mode 100644 index 000000000..4f301f9ba --- /dev/null +++ b/baseconfig/CONFIG_NET_VENDOR_SNI @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_SNI is not set diff --git a/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT b/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT new file mode 100644 index 000000000..7e4d43ba5 --- /dev/null +++ b/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_SOCIONEXT is not set diff --git a/baseconfig/CONFIG_NFP_APP_FLOWER b/baseconfig/CONFIG_NFP_APP_FLOWER new file mode 100644 index 000000000..d9ff8a178 --- /dev/null +++ b/baseconfig/CONFIG_NFP_APP_FLOWER @@ -0,0 +1 @@ +CONFIG_NFP_APP_FLOWER=y diff --git a/baseconfig/CONFIG_NFT_FIB_NETDEV b/baseconfig/CONFIG_NFT_FIB_NETDEV new file mode 100644 index 000000000..273bfeb6a --- /dev/null +++ b/baseconfig/CONFIG_NFT_FIB_NETDEV @@ -0,0 +1 @@ +CONFIG_NFT_FIB_NETDEV=m diff --git a/baseconfig/CONFIG_NFT_FLOW_OFFLOAD b/baseconfig/CONFIG_NFT_FLOW_OFFLOAD new file mode 100644 index 000000000..2960ce593 --- /dev/null +++ b/baseconfig/CONFIG_NFT_FLOW_OFFLOAD @@ -0,0 +1 @@ +CONFIG_NFT_FLOW_OFFLOAD=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE b/baseconfig/CONFIG_NF_FLOW_TABLE new file mode 100644 index 000000000..a2b5e03a7 --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_INET b/baseconfig/CONFIG_NF_FLOW_TABLE_INET new file mode 100644 index 000000000..f41129cf1 --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE_INET @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE_INET=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4 b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4 new file mode 100644 index 000000000..413b7910e --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4 @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE_IPV4=m diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6 b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6 new file mode 100644 index 000000000..d482fc459 --- /dev/null +++ b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6 @@ -0,0 +1 @@ +CONFIG_NF_FLOW_TABLE_IPV6=m diff --git a/baseconfig/CONFIG_NOUVEAU_DEBUG_MMU b/baseconfig/CONFIG_NOUVEAU_DEBUG_MMU new file mode 100644 index 000000000..5d30f4588 --- /dev/null +++ b/baseconfig/CONFIG_NOUVEAU_DEBUG_MMU @@ -0,0 +1 @@ +# CONFIG_NOUVEAU_DEBUG_MMU is not set diff --git a/baseconfig/powerpc/CONFIG_NR_DEV_DAX b/baseconfig/CONFIG_NR_DEV_DAX similarity index 100% rename from baseconfig/powerpc/CONFIG_NR_DEV_DAX rename to baseconfig/CONFIG_NR_DEV_DAX diff --git a/baseconfig/CONFIG_NSC_FIR b/baseconfig/CONFIG_NSC_FIR deleted file mode 100644 index fcc795e63..000000000 --- a/baseconfig/CONFIG_NSC_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_NSC_FIR=m diff --git a/baseconfig/CONFIG_NTB_IDT b/baseconfig/CONFIG_NTB_IDT new file mode 100644 index 000000000..0e9236c2a --- /dev/null +++ b/baseconfig/CONFIG_NTB_IDT @@ -0,0 +1 @@ +CONFIG_NTB_IDT=m diff --git a/baseconfig/CONFIG_NTB_SWITCHTEC b/baseconfig/CONFIG_NTB_SWITCHTEC new file mode 100644 index 000000000..36258733e --- /dev/null +++ b/baseconfig/CONFIG_NTB_SWITCHTEC @@ -0,0 +1 @@ +CONFIG_NTB_SWITCHTEC=m diff --git a/baseconfig/CONFIG_NVME_MULTIPATH b/baseconfig/CONFIG_NVME_MULTIPATH new file mode 100644 index 000000000..7eb14dd07 --- /dev/null +++ b/baseconfig/CONFIG_NVME_MULTIPATH @@ -0,0 +1 @@ +CONFIG_NVME_MULTIPATH=y diff --git a/baseconfig/CONFIG_OLD_BELKIN_DONGLE b/baseconfig/CONFIG_OLD_BELKIN_DONGLE deleted file mode 100644 index 92a72ab40..000000000 --- a/baseconfig/CONFIG_OLD_BELKIN_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_OLD_BELKIN_DONGLE=m diff --git a/baseconfig/CONFIG_OVERLAY_FS_INDEX b/baseconfig/CONFIG_OVERLAY_FS_INDEX new file mode 100644 index 000000000..48a283270 --- /dev/null +++ b/baseconfig/CONFIG_OVERLAY_FS_INDEX @@ -0,0 +1 @@ +# CONFIG_OVERLAY_FS_INDEX is not set diff --git a/baseconfig/CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW b/baseconfig/CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW new file mode 100644 index 000000000..23e8ade16 --- /dev/null +++ b/baseconfig/CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW @@ -0,0 +1 @@ +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y diff --git a/baseconfig/CONFIG_PARPORT b/baseconfig/CONFIG_PARPORT index 589156958..9dd8f33af 100644 --- a/baseconfig/CONFIG_PARPORT +++ b/baseconfig/CONFIG_PARPORT @@ -1 +1 @@ -CONFIG_PARPORT=m +# CONFIG_PARPORT is not set diff --git a/baseconfig/CONFIG_PARPORT_PC b/baseconfig/CONFIG_PARPORT_PC index b9aa6e8ca..e2a0d3656 100644 --- a/baseconfig/CONFIG_PARPORT_PC +++ b/baseconfig/CONFIG_PARPORT_PC @@ -1 +1 @@ -CONFIG_PARPORT_PC=m +# CONFIG_PARPORT_PC is not set diff --git a/baseconfig/CONFIG_PCIE_CADENCE_HOST b/baseconfig/CONFIG_PCIE_CADENCE_HOST new file mode 100644 index 000000000..1f1f00d6c --- /dev/null +++ b/baseconfig/CONFIG_PCIE_CADENCE_HOST @@ -0,0 +1 @@ +CONFIG_PCIE_CADENCE_HOST=y diff --git a/baseconfig/CONFIG_PCIE_DW_HOST_ECAM b/baseconfig/CONFIG_PCIE_DW_HOST_ECAM new file mode 100644 index 000000000..c73d5c1aa --- /dev/null +++ b/baseconfig/CONFIG_PCIE_DW_HOST_ECAM @@ -0,0 +1 @@ +# CONFIG_PCIE_DW_HOST_ECAM is not set diff --git a/baseconfig/CONFIG_PCI_ENDPOINT b/baseconfig/CONFIG_PCI_ENDPOINT new file mode 100644 index 000000000..d90e2a4f7 --- /dev/null +++ b/baseconfig/CONFIG_PCI_ENDPOINT @@ -0,0 +1 @@ +# CONFIG_PCI_ENDPOINT is not set diff --git a/baseconfig/CONFIG_PCI_ENDPOINT_TEST b/baseconfig/CONFIG_PCI_ENDPOINT_TEST new file mode 100644 index 000000000..ac8854da9 --- /dev/null +++ b/baseconfig/CONFIG_PCI_ENDPOINT_TEST @@ -0,0 +1 @@ +# CONFIG_PCI_ENDPOINT_TEST is not set diff --git a/baseconfig/CONFIG_PCI_MSI_IRQ_DOMAIN b/baseconfig/CONFIG_PCI_MSI_IRQ_DOMAIN new file mode 100644 index 000000000..90bf4c7ca --- /dev/null +++ b/baseconfig/CONFIG_PCI_MSI_IRQ_DOMAIN @@ -0,0 +1 @@ +CONFIG_PCI_MSI_IRQ_DOMAIN=y diff --git a/baseconfig/CONFIG_PCI_SW_SWITCHTEC b/baseconfig/CONFIG_PCI_SW_SWITCHTEC new file mode 100644 index 000000000..f197a5ed6 --- /dev/null +++ b/baseconfig/CONFIG_PCI_SW_SWITCHTEC @@ -0,0 +1 @@ +CONFIG_PCI_SW_SWITCHTEC=m diff --git a/baseconfig/CONFIG_PERCPU_STATS b/baseconfig/CONFIG_PERCPU_STATS new file mode 100644 index 000000000..873749756 --- /dev/null +++ b/baseconfig/CONFIG_PERCPU_STATS @@ -0,0 +1 @@ +# CONFIG_PERCPU_STATS is not set diff --git a/baseconfig/CONFIG_PHYLINK b/baseconfig/CONFIG_PHYLINK new file mode 100644 index 000000000..cc1e23e0b --- /dev/null +++ b/baseconfig/CONFIG_PHYLINK @@ -0,0 +1 @@ +CONFIG_PHYLINK=m diff --git a/baseconfig/CONFIG_PHY_CPCAP_USB b/baseconfig/CONFIG_PHY_CPCAP_USB new file mode 100644 index 000000000..c68874d74 --- /dev/null +++ b/baseconfig/CONFIG_PHY_CPCAP_USB @@ -0,0 +1 @@ +# CONFIG_PHY_CPCAP_USB is not set diff --git a/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY b/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY new file mode 100644 index 000000000..8c104689f --- /dev/null +++ b/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY @@ -0,0 +1 @@ +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set diff --git a/baseconfig/CONFIG_PI433 b/baseconfig/CONFIG_PI433 new file mode 100644 index 000000000..b275e1e6a --- /dev/null +++ b/baseconfig/CONFIG_PI433 @@ -0,0 +1 @@ +# CONFIG_PI433 is not set diff --git a/baseconfig/CONFIG_PINCTRL_AXP209 b/baseconfig/CONFIG_PINCTRL_AXP209 new file mode 100644 index 000000000..4e6ecd9bf --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_AXP209 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_AXP209 is not set diff --git a/baseconfig/CONFIG_PINCTRL_CANNONLAKE b/baseconfig/CONFIG_PINCTRL_CANNONLAKE new file mode 100644 index 000000000..4a9b7754f --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_CANNONLAKE @@ -0,0 +1 @@ +# CONFIG_PINCTRL_CANNONLAKE is not set diff --git a/baseconfig/CONFIG_PINCTRL_CEDARFORK b/baseconfig/CONFIG_PINCTRL_CEDARFORK new file mode 100644 index 000000000..b723950b2 --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_CEDARFORK @@ -0,0 +1 @@ +CONFIG_PINCTRL_CEDARFORK=m diff --git a/baseconfig/CONFIG_PINCTRL_IPQ8074 b/baseconfig/CONFIG_PINCTRL_IPQ8074 new file mode 100644 index 000000000..3cb74ba4b --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_IPQ8074 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_IPQ8074 is not set diff --git a/baseconfig/CONFIG_PINCTRL_MCP23S08 b/baseconfig/CONFIG_PINCTRL_MCP23S08 new file mode 100644 index 000000000..948eb6057 --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_MCP23S08 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_MCP23S08 is not set diff --git a/baseconfig/CONFIG_PINCTRL_MESON_GXBB b/baseconfig/CONFIG_PINCTRL_MESON_GXBB new file mode 100644 index 000000000..1c1b910ae --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_MESON_GXBB @@ -0,0 +1 @@ +# CONFIG_PINCTRL_MESON_GXBB is not set diff --git a/baseconfig/CONFIG_PINCTRL_MESON_GXL b/baseconfig/CONFIG_PINCTRL_MESON_GXL new file mode 100644 index 000000000..5e0dcb654 --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_MESON_GXL @@ -0,0 +1 @@ +# CONFIG_PINCTRL_MESON_GXL is not set diff --git a/baseconfig/CONFIG_PINCTRL_MSM8994 b/baseconfig/CONFIG_PINCTRL_MSM8994 deleted file mode 100644 index 5dd58e746..000000000 --- a/baseconfig/CONFIG_PINCTRL_MSM8994 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PINCTRL_MSM8994=m diff --git a/baseconfig/CONFIG_PINCTRL_RK805 b/baseconfig/CONFIG_PINCTRL_RK805 new file mode 100644 index 000000000..47b4fd855 --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_RK805 @@ -0,0 +1 @@ +CONFIG_PINCTRL_RK805=m diff --git a/baseconfig/CONFIG_PINCTRL_SPRD b/baseconfig/CONFIG_PINCTRL_SPRD new file mode 100644 index 000000000..cffa73544 --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_SPRD @@ -0,0 +1 @@ +# CONFIG_PINCTRL_SPRD is not set diff --git a/baseconfig/CONFIG_PINCTRL_SPRD_SC9860 b/baseconfig/CONFIG_PINCTRL_SPRD_SC9860 new file mode 100644 index 000000000..f9b405f96 --- /dev/null +++ b/baseconfig/CONFIG_PINCTRL_SPRD_SC9860 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_SPRD_SC9860 is not set diff --git a/baseconfig/CONFIG_PINCTRL_TI_IODELAY b/baseconfig/CONFIG_PINCTRL_TI_IODELAY deleted file mode 100644 index cc5eb6a6c..000000000 --- a/baseconfig/CONFIG_PINCTRL_TI_IODELAY +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_TI_IODELAY is not set diff --git a/baseconfig/CONFIG_PM_OPP b/baseconfig/CONFIG_PM_OPP index a77bd27f8..bbe2b56ba 100644 --- a/baseconfig/CONFIG_PM_OPP +++ b/baseconfig/CONFIG_PM_OPP @@ -1 +1 @@ -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y diff --git a/baseconfig/CONFIG_POWER_RESET_BRCMSTB b/baseconfig/CONFIG_POWER_RESET_BRCMSTB new file mode 100644 index 000000000..35f35e595 --- /dev/null +++ b/baseconfig/CONFIG_POWER_RESET_BRCMSTB @@ -0,0 +1 @@ +# CONFIG_POWER_RESET_BRCMSTB is not set diff --git a/baseconfig/CONFIG_PREEMPTIRQ_EVENTS b/baseconfig/CONFIG_PREEMPTIRQ_EVENTS new file mode 100644 index 000000000..a7fcee823 --- /dev/null +++ b/baseconfig/CONFIG_PREEMPTIRQ_EVENTS @@ -0,0 +1 @@ +# CONFIG_PREEMPTIRQ_EVENTS is not set diff --git a/baseconfig/CONFIG_PWRSEQ_SD8787 b/baseconfig/CONFIG_PWRSEQ_SD8787 index 243dba034..820984327 100644 --- a/baseconfig/CONFIG_PWRSEQ_SD8787 +++ b/baseconfig/CONFIG_PWRSEQ_SD8787 @@ -1 +1 @@ -# CONFIG_PWRSEQ_SD8787 is not set +CONFIG_PWRSEQ_SD8787=m diff --git a/baseconfig/CONFIG_QCA7000_SPI b/baseconfig/CONFIG_QCA7000_SPI new file mode 100644 index 000000000..9e9088849 --- /dev/null +++ b/baseconfig/CONFIG_QCA7000_SPI @@ -0,0 +1 @@ +# CONFIG_QCA7000_SPI is not set diff --git a/baseconfig/CONFIG_QCA7000_UART b/baseconfig/CONFIG_QCA7000_UART new file mode 100644 index 000000000..fc691586b --- /dev/null +++ b/baseconfig/CONFIG_QCA7000_UART @@ -0,0 +1 @@ +# CONFIG_QCA7000_UART is not set diff --git a/baseconfig/CONFIG_QCOM_GLINK_SSR b/baseconfig/CONFIG_QCOM_GLINK_SSR new file mode 100644 index 000000000..1c67b32f7 --- /dev/null +++ b/baseconfig/CONFIG_QCOM_GLINK_SSR @@ -0,0 +1 @@ +# CONFIG_QCOM_GLINK_SSR is not set diff --git a/baseconfig/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT b/baseconfig/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT new file mode 100644 index 000000000..8f9c32859 --- /dev/null +++ b/baseconfig/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT @@ -0,0 +1 @@ +# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set diff --git a/baseconfig/CONFIG_QTNFMAC_PEARL_PCIE b/baseconfig/CONFIG_QTNFMAC_PEARL_PCIE new file mode 100644 index 000000000..f67981f77 --- /dev/null +++ b/baseconfig/CONFIG_QTNFMAC_PEARL_PCIE @@ -0,0 +1 @@ +CONFIG_QTNFMAC_PEARL_PCIE=m diff --git a/baseconfig/CONFIG_R8822BE b/baseconfig/CONFIG_R8822BE new file mode 100644 index 000000000..2f7c08787 --- /dev/null +++ b/baseconfig/CONFIG_R8822BE @@ -0,0 +1 @@ +CONFIG_R8822BE=m diff --git a/baseconfig/CONFIG_RAS_CEC b/baseconfig/CONFIG_RAS_CEC new file mode 100644 index 000000000..7b0901ca1 --- /dev/null +++ b/baseconfig/CONFIG_RAS_CEC @@ -0,0 +1 @@ +CONFIG_RAS_CEC=y diff --git a/baseconfig/CONFIG_RAVE_SP_CORE b/baseconfig/CONFIG_RAVE_SP_CORE new file mode 100644 index 000000000..309dfa088 --- /dev/null +++ b/baseconfig/CONFIG_RAVE_SP_CORE @@ -0,0 +1 @@ +# CONFIG_RAVE_SP_CORE is not set diff --git a/baseconfig/CONFIG_REFCOUNT_FULL b/baseconfig/CONFIG_REFCOUNT_FULL new file mode 100644 index 000000000..0789ed3be --- /dev/null +++ b/baseconfig/CONFIG_REFCOUNT_FULL @@ -0,0 +1 @@ +# CONFIG_REFCOUNT_FULL is not set diff --git a/baseconfig/CONFIG_REGULATOR_BD9571MWV b/baseconfig/CONFIG_REGULATOR_BD9571MWV new file mode 100644 index 000000000..3b0acb786 --- /dev/null +++ b/baseconfig/CONFIG_REGULATOR_BD9571MWV @@ -0,0 +1 @@ +CONFIG_REGULATOR_BD9571MWV=m diff --git a/baseconfig/CONFIG_REGULATOR_CPCAP b/baseconfig/CONFIG_REGULATOR_CPCAP deleted file mode 100644 index 02e701e66..000000000 --- a/baseconfig/CONFIG_REGULATOR_CPCAP +++ /dev/null @@ -1 +0,0 @@ -CONFIG_REGULATOR_CPCAP=m diff --git a/baseconfig/CONFIG_REGULATOR_TPS65132 b/baseconfig/CONFIG_REGULATOR_TPS65132 new file mode 100644 index 000000000..b82a99f6c --- /dev/null +++ b/baseconfig/CONFIG_REGULATOR_TPS65132 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_TPS65132 is not set diff --git a/baseconfig/CONFIG_REGULATOR_VCTRL b/baseconfig/CONFIG_REGULATOR_VCTRL new file mode 100644 index 000000000..478bc6400 --- /dev/null +++ b/baseconfig/CONFIG_REGULATOR_VCTRL @@ -0,0 +1 @@ +CONFIG_REGULATOR_VCTRL=m diff --git a/baseconfig/CONFIG_RENESAS_PHY b/baseconfig/CONFIG_RENESAS_PHY new file mode 100644 index 000000000..2314e0cf2 --- /dev/null +++ b/baseconfig/CONFIG_RENESAS_PHY @@ -0,0 +1 @@ +CONFIG_RENESAS_PHY=m diff --git a/baseconfig/CONFIG_RESET_ATTACK_MITIGATION b/baseconfig/CONFIG_RESET_ATTACK_MITIGATION new file mode 100644 index 000000000..eea15dd52 --- /dev/null +++ b/baseconfig/CONFIG_RESET_ATTACK_MITIGATION @@ -0,0 +1 @@ +# CONFIG_RESET_ATTACK_MITIGATION is not set diff --git a/baseconfig/CONFIG_RESET_HSDK_V1 b/baseconfig/CONFIG_RESET_HSDK_V1 new file mode 100644 index 000000000..4c2b97d79 --- /dev/null +++ b/baseconfig/CONFIG_RESET_HSDK_V1 @@ -0,0 +1 @@ +# CONFIG_RESET_HSDK_V1 is not set diff --git a/baseconfig/CONFIG_RESET_TI_SYSCON b/baseconfig/CONFIG_RESET_TI_SYSCON new file mode 100644 index 000000000..1e76bd135 --- /dev/null +++ b/baseconfig/CONFIG_RESET_TI_SYSCON @@ -0,0 +1 @@ +# CONFIG_RESET_TI_SYSCON is not set diff --git a/baseconfig/CONFIG_RFD77402 b/baseconfig/CONFIG_RFD77402 new file mode 100644 index 000000000..00383ffd2 --- /dev/null +++ b/baseconfig/CONFIG_RFD77402 @@ -0,0 +1 @@ +# CONFIG_RFD77402 is not set diff --git a/baseconfig/CONFIG_RMNET b/baseconfig/CONFIG_RMNET new file mode 100644 index 000000000..5e8c115b5 --- /dev/null +++ b/baseconfig/CONFIG_RMNET @@ -0,0 +1 @@ +# CONFIG_RMNET is not set diff --git a/baseconfig/CONFIG_ROCKCHIP_PHY b/baseconfig/CONFIG_ROCKCHIP_PHY new file mode 100644 index 000000000..4ca60873a --- /dev/null +++ b/baseconfig/CONFIG_ROCKCHIP_PHY @@ -0,0 +1 @@ +# CONFIG_ROCKCHIP_PHY is not set diff --git a/baseconfig/CONFIG_RPMSG_CHAR b/baseconfig/CONFIG_RPMSG_CHAR new file mode 100644 index 000000000..3aa998906 --- /dev/null +++ b/baseconfig/CONFIG_RPMSG_CHAR @@ -0,0 +1 @@ +# CONFIG_RPMSG_CHAR is not set diff --git a/baseconfig/CONFIG_RPMSG_QCOM_GLINK_RPM b/baseconfig/CONFIG_RPMSG_QCOM_GLINK_RPM new file mode 100644 index 000000000..df2fa18d0 --- /dev/null +++ b/baseconfig/CONFIG_RPMSG_QCOM_GLINK_RPM @@ -0,0 +1 @@ +# CONFIG_RPMSG_QCOM_GLINK_RPM is not set diff --git a/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM b/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM new file mode 100644 index 000000000..c2c0a0c78 --- /dev/null +++ b/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM @@ -0,0 +1 @@ +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set diff --git a/baseconfig/CONFIG_RPMSG_VIRTIO b/baseconfig/CONFIG_RPMSG_VIRTIO new file mode 100644 index 000000000..78f0867f1 --- /dev/null +++ b/baseconfig/CONFIG_RPMSG_VIRTIO @@ -0,0 +1 @@ +CONFIG_RPMSG_VIRTIO=m diff --git a/baseconfig/CONFIG_RTC_DRV_DS3232_HWMON b/baseconfig/CONFIG_RTC_DRV_DS3232_HWMON new file mode 100644 index 000000000..88600a2ce --- /dev/null +++ b/baseconfig/CONFIG_RTC_DRV_DS3232_HWMON @@ -0,0 +1 @@ +# CONFIG_RTC_DRV_DS3232_HWMON is not set diff --git a/baseconfig/CONFIG_RTC_DRV_FTRTC010 b/baseconfig/CONFIG_RTC_DRV_FTRTC010 new file mode 100644 index 000000000..bbb608e4f --- /dev/null +++ b/baseconfig/CONFIG_RTC_DRV_FTRTC010 @@ -0,0 +1 @@ +# CONFIG_RTC_DRV_FTRTC010 is not set diff --git a/baseconfig/CONFIG_RTC_DRV_PCF85363 b/baseconfig/CONFIG_RTC_DRV_PCF85363 new file mode 100644 index 000000000..115d491a4 --- /dev/null +++ b/baseconfig/CONFIG_RTC_DRV_PCF85363 @@ -0,0 +1 @@ +# CONFIG_RTC_DRV_PCF85363 is not set diff --git a/baseconfig/CONFIG_RTC_NVMEM b/baseconfig/CONFIG_RTC_NVMEM new file mode 100644 index 000000000..5abe8e336 --- /dev/null +++ b/baseconfig/CONFIG_RTC_NVMEM @@ -0,0 +1 @@ +# CONFIG_RTC_NVMEM is not set diff --git a/baseconfig/CONFIG_RTL8723BS b/baseconfig/CONFIG_RTL8723BS new file mode 100644 index 000000000..4837f05c7 --- /dev/null +++ b/baseconfig/CONFIG_RTL8723BS @@ -0,0 +1 @@ +CONFIG_RTL8723BS=m diff --git a/baseconfig/CONFIG_RUNTIME_TESTING_MENU b/baseconfig/CONFIG_RUNTIME_TESTING_MENU new file mode 100644 index 000000000..7d54fe119 --- /dev/null +++ b/baseconfig/CONFIG_RUNTIME_TESTING_MENU @@ -0,0 +1 @@ +CONFIG_RUNTIME_TESTING_MENU=y diff --git a/baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY b/baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY new file mode 100644 index 000000000..a510f6d0b --- /dev/null +++ b/baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY @@ -0,0 +1 @@ +CONFIG_SATA_MOBILE_LPM_POLICY=0 diff --git a/baseconfig/CONFIG_SCSI_UFSHCD b/baseconfig/CONFIG_SCSI_UFSHCD index 041b8209b..542c89fc7 100644 --- a/baseconfig/CONFIG_SCSI_UFSHCD +++ b/baseconfig/CONFIG_SCSI_UFSHCD @@ -1 +1 @@ -CONFIG_SCSI_UFSHCD=m +# CONFIG_SCSI_UFSHCD is not set diff --git a/baseconfig/CONFIG_SCSI_UFS_DWC_TC_PLATFORM b/baseconfig/CONFIG_SCSI_UFS_DWC_TC_PLATFORM new file mode 100644 index 000000000..41483b33b --- /dev/null +++ b/baseconfig/CONFIG_SCSI_UFS_DWC_TC_PLATFORM @@ -0,0 +1 @@ +# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set diff --git a/baseconfig/CONFIG_SD_ADC_MODULATOR b/baseconfig/CONFIG_SD_ADC_MODULATOR new file mode 100644 index 000000000..ec43a0ff1 --- /dev/null +++ b/baseconfig/CONFIG_SD_ADC_MODULATOR @@ -0,0 +1 @@ +# CONFIG_SD_ADC_MODULATOR is not set diff --git a/baseconfig/CONFIG_SECURITY_INFINIBAND b/baseconfig/CONFIG_SECURITY_INFINIBAND new file mode 100644 index 000000000..393c3f5f8 --- /dev/null +++ b/baseconfig/CONFIG_SECURITY_INFINIBAND @@ -0,0 +1 @@ +CONFIG_SECURITY_INFINIBAND=y diff --git a/baseconfig/CONFIG_SENSORS_ADS1015 b/baseconfig/CONFIG_SENSORS_ADS1015 index 4fc01f323..928b4f25f 100644 --- a/baseconfig/CONFIG_SENSORS_ADS1015 +++ b/baseconfig/CONFIG_SENSORS_ADS1015 @@ -1 +1 @@ -CONFIG_SENSORS_ADS1015=m +# CONFIG_SENSORS_ADS1015 is not set diff --git a/baseconfig/CONFIG_SENSORS_ASPEED b/baseconfig/CONFIG_SENSORS_ASPEED new file mode 100644 index 000000000..7808f12a0 --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_ASPEED @@ -0,0 +1 @@ +CONFIG_SENSORS_ASPEED=m diff --git a/baseconfig/CONFIG_SENSORS_IBM_CFFPS b/baseconfig/CONFIG_SENSORS_IBM_CFFPS new file mode 100644 index 000000000..a217d973e --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_IBM_CFFPS @@ -0,0 +1 @@ +# CONFIG_SENSORS_IBM_CFFPS is not set diff --git a/baseconfig/CONFIG_SENSORS_IR35221 b/baseconfig/CONFIG_SENSORS_IR35221 new file mode 100644 index 000000000..788fcfa05 --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_IR35221 @@ -0,0 +1 @@ +# CONFIG_SENSORS_IR35221 is not set diff --git a/baseconfig/CONFIG_SENSORS_MAX31785 b/baseconfig/CONFIG_SENSORS_MAX31785 new file mode 100644 index 000000000..071991fe5 --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_MAX31785 @@ -0,0 +1 @@ +# CONFIG_SENSORS_MAX31785 is not set diff --git a/baseconfig/CONFIG_SENSORS_MAX6621 b/baseconfig/CONFIG_SENSORS_MAX6621 new file mode 100644 index 000000000..cc3cdefc6 --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_MAX6621 @@ -0,0 +1 @@ +# CONFIG_SENSORS_MAX6621 is not set diff --git a/baseconfig/CONFIG_SENSORS_TPS53679 b/baseconfig/CONFIG_SENSORS_TPS53679 new file mode 100644 index 000000000..461a703df --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_TPS53679 @@ -0,0 +1 @@ +CONFIG_SENSORS_TPS53679=m diff --git a/baseconfig/CONFIG_SENSORS_W83773G b/baseconfig/CONFIG_SENSORS_W83773G new file mode 100644 index 000000000..d0e8c4c84 --- /dev/null +++ b/baseconfig/CONFIG_SENSORS_W83773G @@ -0,0 +1 @@ +CONFIG_SENSORS_W83773G=m diff --git a/baseconfig/CONFIG_SERIAL_8250_ASPEED_VUART b/baseconfig/CONFIG_SERIAL_8250_ASPEED_VUART new file mode 100644 index 000000000..bbab9a646 --- /dev/null +++ b/baseconfig/CONFIG_SERIAL_8250_ASPEED_VUART @@ -0,0 +1 @@ +# CONFIG_SERIAL_8250_ASPEED_VUART is not set diff --git a/baseconfig/CONFIG_SERIAL_8250_PCI b/baseconfig/CONFIG_SERIAL_8250_PCI index d48086e3e..c0ac5637f 100644 --- a/baseconfig/CONFIG_SERIAL_8250_PCI +++ b/baseconfig/CONFIG_SERIAL_8250_PCI @@ -1 +1 @@ -CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_8250_PCI=y diff --git a/baseconfig/CONFIG_SERIO_GPIO_PS2 b/baseconfig/CONFIG_SERIO_GPIO_PS2 new file mode 100644 index 000000000..22c1adbfb --- /dev/null +++ b/baseconfig/CONFIG_SERIO_GPIO_PS2 @@ -0,0 +1 @@ +# CONFIG_SERIO_GPIO_PS2 is not set diff --git a/baseconfig/CONFIG_SFP b/baseconfig/CONFIG_SFP new file mode 100644 index 000000000..db57db12e --- /dev/null +++ b/baseconfig/CONFIG_SFP @@ -0,0 +1 @@ +CONFIG_SFP=m diff --git a/baseconfig/CONFIG_SIGMATEL_FIR b/baseconfig/CONFIG_SIGMATEL_FIR deleted file mode 100644 index 0483fa10a..000000000 --- a/baseconfig/CONFIG_SIGMATEL_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SIGMATEL_FIR=m diff --git a/baseconfig/CONFIG_SIMPLE_PM_BUS b/baseconfig/CONFIG_SIMPLE_PM_BUS new file mode 100644 index 000000000..a0712c1c4 --- /dev/null +++ b/baseconfig/CONFIG_SIMPLE_PM_BUS @@ -0,0 +1 @@ +# CONFIG_SIMPLE_PM_BUS is not set diff --git a/baseconfig/CONFIG_SIOX b/baseconfig/CONFIG_SIOX new file mode 100644 index 000000000..89578e7ae --- /dev/null +++ b/baseconfig/CONFIG_SIOX @@ -0,0 +1 @@ +# CONFIG_SIOX is not set diff --git a/baseconfig/CONFIG_SLAB_FREELIST_HARDENED b/baseconfig/CONFIG_SLAB_FREELIST_HARDENED new file mode 100644 index 000000000..52602d279 --- /dev/null +++ b/baseconfig/CONFIG_SLAB_FREELIST_HARDENED @@ -0,0 +1 @@ +CONFIG_SLAB_FREELIST_HARDENED=y diff --git a/baseconfig/CONFIG_SLAB_MERGE_DEFAULT b/baseconfig/CONFIG_SLAB_MERGE_DEFAULT new file mode 100644 index 000000000..c092cff73 --- /dev/null +++ b/baseconfig/CONFIG_SLAB_MERGE_DEFAULT @@ -0,0 +1 @@ +CONFIG_SLAB_MERGE_DEFAULT=y diff --git a/baseconfig/CONFIG_SLIMBUS b/baseconfig/CONFIG_SLIMBUS new file mode 100644 index 000000000..63141c29d --- /dev/null +++ b/baseconfig/CONFIG_SLIMBUS @@ -0,0 +1 @@ +# CONFIG_SLIMBUS is not set diff --git a/baseconfig/CONFIG_SMC_IRCC_FIR b/baseconfig/CONFIG_SMC_IRCC_FIR deleted file mode 100644 index 2b996d8b9..000000000 --- a/baseconfig/CONFIG_SMC_IRCC_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SMC_IRCC_FIR=m diff --git a/baseconfig/CONFIG_SND_AUDIO_GRAPH_CARD b/baseconfig/CONFIG_SND_AUDIO_GRAPH_CARD new file mode 100644 index 000000000..1a2c935d7 --- /dev/null +++ b/baseconfig/CONFIG_SND_AUDIO_GRAPH_CARD @@ -0,0 +1 @@ +# CONFIG_SND_AUDIO_GRAPH_CARD is not set diff --git a/baseconfig/CONFIG_SND_AUDIO_GRAPH_SCU_CARD b/baseconfig/CONFIG_SND_AUDIO_GRAPH_SCU_CARD new file mode 100644 index 000000000..12d870d77 --- /dev/null +++ b/baseconfig/CONFIG_SND_AUDIO_GRAPH_SCU_CARD @@ -0,0 +1 @@ +# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set diff --git a/baseconfig/CONFIG_SND_BCD2000 b/baseconfig/CONFIG_SND_BCD2000 index 0a60c490b..b56c9162f 100644 --- a/baseconfig/CONFIG_SND_BCD2000 +++ b/baseconfig/CONFIG_SND_BCD2000 @@ -1 +1 @@ -# CONFIG_SND_BCD2000 is not set +CONFIG_SND_BCD2000=m diff --git a/baseconfig/CONFIG_SND_DESIGNWARE_PCM b/baseconfig/CONFIG_SND_DESIGNWARE_PCM index 4fb3ac59e..8f93f9dce 100644 --- a/baseconfig/CONFIG_SND_DESIGNWARE_PCM +++ b/baseconfig/CONFIG_SND_DESIGNWARE_PCM @@ -1 +1 @@ -CONFIG_SND_DESIGNWARE_PCM=m +CONFIG_SND_DESIGNWARE_PCM=y diff --git a/baseconfig/CONFIG_SND_FIREFACE b/baseconfig/CONFIG_SND_FIREFACE new file mode 100644 index 000000000..18782f689 --- /dev/null +++ b/baseconfig/CONFIG_SND_FIREFACE @@ -0,0 +1 @@ +CONFIG_SND_FIREFACE=m diff --git a/baseconfig/CONFIG_SND_FIREWIRE_MOTU b/baseconfig/CONFIG_SND_FIREWIRE_MOTU new file mode 100644 index 000000000..73299e869 --- /dev/null +++ b/baseconfig/CONFIG_SND_FIREWIRE_MOTU @@ -0,0 +1 @@ +CONFIG_SND_FIREWIRE_MOTU=m diff --git a/baseconfig/CONFIG_SND_I2S_HI6210_I2S b/baseconfig/CONFIG_SND_I2S_HI6210_I2S new file mode 100644 index 000000000..9ae15dc8a --- /dev/null +++ b/baseconfig/CONFIG_SND_I2S_HI6210_I2S @@ -0,0 +1 @@ +CONFIG_SND_I2S_HI6210_I2S=m diff --git a/baseconfig/CONFIG_SND_INTEL8X0 b/baseconfig/CONFIG_SND_INTEL8X0 index 6d78f08ea..d97191a98 100644 --- a/baseconfig/CONFIG_SND_INTEL8X0 +++ b/baseconfig/CONFIG_SND_INTEL8X0 @@ -1 +1 @@ -CONFIG_SND_INTEL8X0=m +# CONFIG_SND_INTEL8X0 is not set diff --git a/baseconfig/CONFIG_SND_INTEL8X0M b/baseconfig/CONFIG_SND_INTEL8X0M index 24ac6ada4..4e04bb51c 100644 --- a/baseconfig/CONFIG_SND_INTEL8X0M +++ b/baseconfig/CONFIG_SND_INTEL8X0M @@ -1 +1 @@ -CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_INTEL8X0M is not set diff --git a/baseconfig/CONFIG_SND_SEQUENCER_OSS b/baseconfig/CONFIG_SND_SEQUENCER_OSS index 8447d4b1c..439bdb368 100644 --- a/baseconfig/CONFIG_SND_SEQUENCER_OSS +++ b/baseconfig/CONFIG_SND_SEQUENCER_OSS @@ -1 +1 @@ -CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_SEQUENCER_OSS=m diff --git a/baseconfig/CONFIG_SND_SIMPLE_CARD_UTILS b/baseconfig/CONFIG_SND_SIMPLE_CARD_UTILS new file mode 100644 index 000000000..9d19715c0 --- /dev/null +++ b/baseconfig/CONFIG_SND_SIMPLE_CARD_UTILS @@ -0,0 +1 @@ +CONFIG_SND_SIMPLE_CARD_UTILS=m diff --git a/baseconfig/CONFIG_SND_SOC_ADAU1761_I2C b/baseconfig/CONFIG_SND_SOC_ADAU1761_I2C new file mode 100644 index 000000000..54124be46 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ADAU1761_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_ADAU1761_I2C=m diff --git a/baseconfig/CONFIG_SND_SOC_ADAU1761_SPI b/baseconfig/CONFIG_SND_SOC_ADAU1761_SPI new file mode 100644 index 000000000..fce8309a6 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ADAU1761_SPI @@ -0,0 +1 @@ +CONFIG_SND_SOC_ADAU1761_SPI=m diff --git a/baseconfig/CONFIG_SND_SOC_AMD_CZ_RT5645_MACH b/baseconfig/CONFIG_SND_SOC_AMD_CZ_RT5645_MACH new file mode 100644 index 000000000..063f93a99 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_AMD_CZ_RT5645_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m diff --git a/baseconfig/CONFIG_SND_SOC_CS35L35 b/baseconfig/CONFIG_SND_SOC_CS35L35 new file mode 100644 index 000000000..3969b2fee --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_CS35L35 @@ -0,0 +1 @@ +CONFIG_SND_SOC_CS35L35=m diff --git a/baseconfig/CONFIG_SND_SOC_CS43130 b/baseconfig/CONFIG_SND_SOC_CS43130 new file mode 100644 index 000000000..3fad16f6d --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_CS43130 @@ -0,0 +1 @@ +CONFIG_SND_SOC_CS43130=m diff --git a/baseconfig/CONFIG_SND_SOC_DIO2125 b/baseconfig/CONFIG_SND_SOC_DIO2125 new file mode 100644 index 000000000..d3121e77e --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_DIO2125 @@ -0,0 +1 @@ +CONFIG_SND_SOC_DIO2125=m diff --git a/baseconfig/CONFIG_SND_SOC_ES7134 b/baseconfig/CONFIG_SND_SOC_ES7134 new file mode 100644 index 000000000..ff087adce --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ES7134 @@ -0,0 +1 @@ +CONFIG_SND_SOC_ES7134=m diff --git a/baseconfig/CONFIG_SND_SOC_ES8316 b/baseconfig/CONFIG_SND_SOC_ES8316 new file mode 100644 index 000000000..c9fcabfea --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ES8316 @@ -0,0 +1 @@ +# CONFIG_SND_SOC_ES8316 is not set diff --git a/baseconfig/CONFIG_SND_SOC_MAX98373 b/baseconfig/CONFIG_SND_SOC_MAX98373 new file mode 100644 index 000000000..c82d1c860 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_MAX98373 @@ -0,0 +1 @@ +CONFIG_SND_SOC_MAX98373=m diff --git a/baseconfig/CONFIG_SND_SOC_MAX98927 b/baseconfig/CONFIG_SND_SOC_MAX98927 new file mode 100644 index 000000000..341a74d43 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_MAX98927 @@ -0,0 +1 @@ +CONFIG_SND_SOC_MAX98927=m diff --git a/baseconfig/CONFIG_SND_SOC_NAU8824 b/baseconfig/CONFIG_SND_SOC_NAU8824 new file mode 100644 index 000000000..3551419c6 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_NAU8824 @@ -0,0 +1 @@ +CONFIG_SND_SOC_NAU8824=m diff --git a/baseconfig/CONFIG_SND_SOC_PCM186X_I2C b/baseconfig/CONFIG_SND_SOC_PCM186X_I2C new file mode 100644 index 000000000..8d0fad2b4 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_PCM186X_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_PCM186X_I2C=m diff --git a/baseconfig/CONFIG_SND_SOC_PCM186X_SPI b/baseconfig/CONFIG_SND_SOC_PCM186X_SPI new file mode 100644 index 000000000..0e112b31e --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_PCM186X_SPI @@ -0,0 +1 @@ +CONFIG_SND_SOC_PCM186X_SPI=m diff --git a/baseconfig/CONFIG_SND_SOC_TAS6424 b/baseconfig/CONFIG_SND_SOC_TAS6424 new file mode 100644 index 000000000..c70624da7 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TAS6424 @@ -0,0 +1 @@ +CONFIG_SND_SOC_TAS6424=m diff --git a/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C new file mode 100644 index 000000000..e7ecb5383 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m diff --git a/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI new file mode 100644 index 000000000..166098de5 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI @@ -0,0 +1 @@ +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m diff --git a/baseconfig/CONFIG_SND_SOC_TSCS42XX b/baseconfig/CONFIG_SND_SOC_TSCS42XX new file mode 100644 index 000000000..d91060f18 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_TSCS42XX @@ -0,0 +1 @@ +CONFIG_SND_SOC_TSCS42XX=m diff --git a/baseconfig/CONFIG_SND_SOC_WM8524 b/baseconfig/CONFIG_SND_SOC_WM8524 new file mode 100644 index 000000000..1eb33d7e5 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_WM8524 @@ -0,0 +1 @@ +CONFIG_SND_SOC_WM8524=m diff --git a/baseconfig/CONFIG_SND_SOC_ZX_AUD96P22 b/baseconfig/CONFIG_SND_SOC_ZX_AUD96P22 new file mode 100644 index 000000000..487603ce8 --- /dev/null +++ b/baseconfig/CONFIG_SND_SOC_ZX_AUD96P22 @@ -0,0 +1 @@ +# CONFIG_SND_SOC_ZX_AUD96P22 is not set diff --git a/baseconfig/CONFIG_SND_VIA82XX b/baseconfig/CONFIG_SND_VIA82XX index 129cf3976..2c2673578 100644 --- a/baseconfig/CONFIG_SND_VIA82XX +++ b/baseconfig/CONFIG_SND_VIA82XX @@ -1 +1 @@ -CONFIG_SND_VIA82XX=m +# CONFIG_SND_VIA82XX is not set diff --git a/baseconfig/CONFIG_SND_VIA82XX_MODEM b/baseconfig/CONFIG_SND_VIA82XX_MODEM index 81e80f3a5..53055c694 100644 --- a/baseconfig/CONFIG_SND_VIA82XX_MODEM +++ b/baseconfig/CONFIG_SND_VIA82XX_MODEM @@ -1 +1 @@ -CONFIG_SND_VIA82XX_MODEM=m +# CONFIG_SND_VIA82XX_MODEM is not set diff --git a/baseconfig/CONFIG_SOFTLOCKUP_DETECTOR b/baseconfig/CONFIG_SOFTLOCKUP_DETECTOR new file mode 100644 index 000000000..1ff04a43b --- /dev/null +++ b/baseconfig/CONFIG_SOFTLOCKUP_DETECTOR @@ -0,0 +1 @@ +CONFIG_SOFTLOCKUP_DETECTOR=y diff --git a/baseconfig/CONFIG_SOUNDWIRE b/baseconfig/CONFIG_SOUNDWIRE new file mode 100644 index 000000000..1446f20a3 --- /dev/null +++ b/baseconfig/CONFIG_SOUNDWIRE @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE=y diff --git a/baseconfig/CONFIG_SOUNDWIRE_BUS b/baseconfig/CONFIG_SOUNDWIRE_BUS new file mode 100644 index 000000000..dd3714b7c --- /dev/null +++ b/baseconfig/CONFIG_SOUNDWIRE_BUS @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE_BUS=m diff --git a/baseconfig/CONFIG_SOUNDWIRE_CADENCE b/baseconfig/CONFIG_SOUNDWIRE_CADENCE new file mode 100644 index 000000000..f97a403fa --- /dev/null +++ b/baseconfig/CONFIG_SOUNDWIRE_CADENCE @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE_CADENCE=m diff --git a/baseconfig/CONFIG_SOUND_PRIME b/baseconfig/CONFIG_SOUND_PRIME deleted file mode 100644 index 7a8a0ab6b..000000000 --- a/baseconfig/CONFIG_SOUND_PRIME +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SOUND_PRIME is not set diff --git a/baseconfig/x86/CONFIG_SPI_CADENCE b/baseconfig/CONFIG_SPI_CADENCE similarity index 100% rename from baseconfig/x86/CONFIG_SPI_CADENCE rename to baseconfig/CONFIG_SPI_CADENCE diff --git a/baseconfig/x86/CONFIG_SPI_ROCKCHIP b/baseconfig/CONFIG_SPI_ROCKCHIP similarity index 100% rename from baseconfig/x86/CONFIG_SPI_ROCKCHIP rename to baseconfig/CONFIG_SPI_ROCKCHIP diff --git a/baseconfig/CONFIG_SPI_SLAVE b/baseconfig/CONFIG_SPI_SLAVE new file mode 100644 index 000000000..663aaaaf3 --- /dev/null +++ b/baseconfig/CONFIG_SPI_SLAVE @@ -0,0 +1 @@ +# CONFIG_SPI_SLAVE is not set diff --git a/baseconfig/CONFIG_SQUASHFS_ZSTD b/baseconfig/CONFIG_SQUASHFS_ZSTD new file mode 100644 index 000000000..023fb21e0 --- /dev/null +++ b/baseconfig/CONFIG_SQUASHFS_ZSTD @@ -0,0 +1 @@ +CONFIG_SQUASHFS_ZSTD=y diff --git a/baseconfig/CONFIG_SRF04 b/baseconfig/CONFIG_SRF04 new file mode 100644 index 000000000..7dcc9136e --- /dev/null +++ b/baseconfig/CONFIG_SRF04 @@ -0,0 +1 @@ +# CONFIG_SRF04 is not set diff --git a/baseconfig/CONFIG_STRING_SELFTEST b/baseconfig/CONFIG_STRING_SELFTEST new file mode 100644 index 000000000..dbff6d7fa --- /dev/null +++ b/baseconfig/CONFIG_STRING_SELFTEST @@ -0,0 +1 @@ +# CONFIG_STRING_SELFTEST is not set diff --git a/baseconfig/CONFIG_ST_UVIS25 b/baseconfig/CONFIG_ST_UVIS25 new file mode 100644 index 000000000..55c15bb5b --- /dev/null +++ b/baseconfig/CONFIG_ST_UVIS25 @@ -0,0 +1 @@ +CONFIG_ST_UVIS25=m diff --git a/baseconfig/CONFIG_ST_UVIS25_I2C b/baseconfig/CONFIG_ST_UVIS25_I2C new file mode 100644 index 000000000..677b118e1 --- /dev/null +++ b/baseconfig/CONFIG_ST_UVIS25_I2C @@ -0,0 +1 @@ +CONFIG_ST_UVIS25_I2C=m diff --git a/baseconfig/CONFIG_ST_UVIS25_SPI b/baseconfig/CONFIG_ST_UVIS25_SPI new file mode 100644 index 000000000..e094a51ea --- /dev/null +++ b/baseconfig/CONFIG_ST_UVIS25_SPI @@ -0,0 +1 @@ +CONFIG_ST_UVIS25_SPI=m diff --git a/baseconfig/CONFIG_SYSTEM_BLACKLIST_HASH_LIST b/baseconfig/CONFIG_SYSTEM_BLACKLIST_HASH_LIST new file mode 100644 index 000000000..858e87e78 --- /dev/null +++ b/baseconfig/CONFIG_SYSTEM_BLACKLIST_HASH_LIST @@ -0,0 +1 @@ +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" diff --git a/baseconfig/x86/CONFIG_TCG_CRB b/baseconfig/CONFIG_TCG_CRB similarity index 100% rename from baseconfig/x86/CONFIG_TCG_CRB rename to baseconfig/CONFIG_TCG_CRB diff --git a/baseconfig/CONFIG_TEE b/baseconfig/CONFIG_TEE new file mode 100644 index 000000000..accc7a854 --- /dev/null +++ b/baseconfig/CONFIG_TEE @@ -0,0 +1 @@ +# CONFIG_TEE is not set diff --git a/baseconfig/CONFIG_TEKRAM_DONGLE b/baseconfig/CONFIG_TEKRAM_DONGLE deleted file mode 100644 index b68cfc30c..000000000 --- a/baseconfig/CONFIG_TEKRAM_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TEKRAM_DONGLE=m diff --git a/baseconfig/CONFIG_TEST_FIND_BIT b/baseconfig/CONFIG_TEST_FIND_BIT new file mode 100644 index 000000000..23788bfbd --- /dev/null +++ b/baseconfig/CONFIG_TEST_FIND_BIT @@ -0,0 +1 @@ +# CONFIG_TEST_FIND_BIT is not set diff --git a/baseconfig/CONFIG_TEST_KMOD b/baseconfig/CONFIG_TEST_KMOD new file mode 100644 index 000000000..59165b345 --- /dev/null +++ b/baseconfig/CONFIG_TEST_KMOD @@ -0,0 +1 @@ +# CONFIG_TEST_KMOD is not set diff --git a/baseconfig/CONFIG_TEST_SYSCTL b/baseconfig/CONFIG_TEST_SYSCTL new file mode 100644 index 000000000..f81589ea4 --- /dev/null +++ b/baseconfig/CONFIG_TEST_SYSCTL @@ -0,0 +1 @@ +# CONFIG_TEST_SYSCTL is not set diff --git a/baseconfig/CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS b/baseconfig/CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS new file mode 100644 index 000000000..9288765d6 --- /dev/null +++ b/baseconfig/CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS @@ -0,0 +1 @@ +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 diff --git a/baseconfig/CONFIG_TIGON3_HWMON b/baseconfig/CONFIG_TIGON3_HWMON new file mode 100644 index 000000000..31215b555 --- /dev/null +++ b/baseconfig/CONFIG_TIGON3_HWMON @@ -0,0 +1 @@ +CONFIG_TIGON3_HWMON=y diff --git a/baseconfig/CONFIG_TIMER_STATS b/baseconfig/CONFIG_TIMER_STATS deleted file mode 100644 index 0dfc820be..000000000 --- a/baseconfig/CONFIG_TIMER_STATS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TIMER_STATS is not set diff --git a/baseconfig/CONFIG_TI_ADC084S021 b/baseconfig/CONFIG_TI_ADC084S021 new file mode 100644 index 000000000..484542094 --- /dev/null +++ b/baseconfig/CONFIG_TI_ADC084S021 @@ -0,0 +1 @@ +# CONFIG_TI_ADC084S021 is not set diff --git a/baseconfig/CONFIG_TI_ADC108S102 b/baseconfig/CONFIG_TI_ADC108S102 new file mode 100644 index 000000000..b70880f5b --- /dev/null +++ b/baseconfig/CONFIG_TI_ADC108S102 @@ -0,0 +1 @@ +# CONFIG_TI_ADC108S102 is not set diff --git a/baseconfig/CONFIG_TI_ADS1015 b/baseconfig/CONFIG_TI_ADS1015 index 8a8d511c6..f57c3fdc4 100644 --- a/baseconfig/CONFIG_TI_ADS1015 +++ b/baseconfig/CONFIG_TI_ADS1015 @@ -1 +1 @@ -# CONFIG_TI_ADS1015 is not set +CONFIG_TI_ADS1015=m diff --git a/baseconfig/CONFIG_TI_DAC082S085 b/baseconfig/CONFIG_TI_DAC082S085 new file mode 100644 index 000000000..90397f5e3 --- /dev/null +++ b/baseconfig/CONFIG_TI_DAC082S085 @@ -0,0 +1 @@ +# CONFIG_TI_DAC082S085 is not set diff --git a/baseconfig/CONFIG_TI_SYSCON_RESET b/baseconfig/CONFIG_TI_SYSCON_RESET deleted file mode 100644 index daf623a6e..000000000 --- a/baseconfig/CONFIG_TI_SYSCON_RESET +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TI_SYSCON_RESET is not set diff --git a/baseconfig/CONFIG_TLS b/baseconfig/CONFIG_TLS new file mode 100644 index 000000000..1d627c36a --- /dev/null +++ b/baseconfig/CONFIG_TLS @@ -0,0 +1 @@ +CONFIG_TLS=m diff --git a/baseconfig/CONFIG_TOIM3232_DONGLE b/baseconfig/CONFIG_TOIM3232_DONGLE deleted file mode 100644 index a657c0499..000000000 --- a/baseconfig/CONFIG_TOIM3232_DONGLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TOIM3232_DONGLE=m diff --git a/baseconfig/CONFIG_TOSHIBA_FIR b/baseconfig/CONFIG_TOSHIBA_FIR deleted file mode 100644 index fd5cda6bb..000000000 --- a/baseconfig/CONFIG_TOSHIBA_FIR +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TOSHIBA_FIR is not set diff --git a/baseconfig/CONFIG_TOUCHSCREEN_EXC3000 b/baseconfig/CONFIG_TOUCHSCREEN_EXC3000 new file mode 100644 index 000000000..99f4f0f0f --- /dev/null +++ b/baseconfig/CONFIG_TOUCHSCREEN_EXC3000 @@ -0,0 +1 @@ +# CONFIG_TOUCHSCREEN_EXC3000 is not set diff --git a/baseconfig/CONFIG_TOUCHSCREEN_HIDEEP b/baseconfig/CONFIG_TOUCHSCREEN_HIDEEP new file mode 100644 index 000000000..95f913e6f --- /dev/null +++ b/baseconfig/CONFIG_TOUCHSCREEN_HIDEEP @@ -0,0 +1 @@ +# CONFIG_TOUCHSCREEN_HIDEEP is not set diff --git a/baseconfig/CONFIG_TOUCHSCREEN_S6SY761 b/baseconfig/CONFIG_TOUCHSCREEN_S6SY761 new file mode 100644 index 000000000..3b9b34f03 --- /dev/null +++ b/baseconfig/CONFIG_TOUCHSCREEN_S6SY761 @@ -0,0 +1 @@ +# CONFIG_TOUCHSCREEN_S6SY761 is not set diff --git a/baseconfig/CONFIG_TOUCHSCREEN_STMFTS b/baseconfig/CONFIG_TOUCHSCREEN_STMFTS new file mode 100644 index 000000000..0b1cd21e7 --- /dev/null +++ b/baseconfig/CONFIG_TOUCHSCREEN_STMFTS @@ -0,0 +1 @@ +# CONFIG_TOUCHSCREEN_STMFTS is not set diff --git a/baseconfig/CONFIG_TOUCHSCREEN_TSC2007_IIO b/baseconfig/CONFIG_TOUCHSCREEN_TSC2007_IIO new file mode 100644 index 000000000..b67dd760f --- /dev/null +++ b/baseconfig/CONFIG_TOUCHSCREEN_TSC2007_IIO @@ -0,0 +1 @@ +CONFIG_TOUCHSCREEN_TSC2007_IIO=y diff --git a/baseconfig/CONFIG_TPS68470_PMIC_OPREGION b/baseconfig/CONFIG_TPS68470_PMIC_OPREGION new file mode 100644 index 000000000..1668945e0 --- /dev/null +++ b/baseconfig/CONFIG_TPS68470_PMIC_OPREGION @@ -0,0 +1 @@ +# CONFIG_TPS68470_PMIC_OPREGION is not set diff --git a/baseconfig/CONFIG_TRACE_EVAL_MAP_FILE b/baseconfig/CONFIG_TRACE_EVAL_MAP_FILE new file mode 100644 index 000000000..64d28ec6a --- /dev/null +++ b/baseconfig/CONFIG_TRACE_EVAL_MAP_FILE @@ -0,0 +1 @@ +CONFIG_TRACE_EVAL_MAP_FILE=y diff --git a/baseconfig/CONFIG_TYPEC b/baseconfig/CONFIG_TYPEC new file mode 100644 index 000000000..d8e689e93 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC @@ -0,0 +1 @@ +CONFIG_TYPEC=m diff --git a/baseconfig/CONFIG_TYPEC_FUSB302 b/baseconfig/CONFIG_TYPEC_FUSB302 new file mode 100644 index 000000000..9633e1956 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_FUSB302 @@ -0,0 +1 @@ +CONFIG_TYPEC_FUSB302=m diff --git a/baseconfig/CONFIG_TYPEC_TCPCI b/baseconfig/CONFIG_TYPEC_TCPCI new file mode 100644 index 000000000..46687f546 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_TCPCI @@ -0,0 +1 @@ +CONFIG_TYPEC_TCPCI=m diff --git a/baseconfig/CONFIG_TYPEC_TCPM b/baseconfig/CONFIG_TYPEC_TCPM new file mode 100644 index 000000000..8294bcc60 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_TCPM @@ -0,0 +1 @@ +CONFIG_TYPEC_TCPM=m diff --git a/baseconfig/CONFIG_TYPEC_TPS6598X b/baseconfig/CONFIG_TYPEC_TPS6598X new file mode 100644 index 000000000..b6ef0d699 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_TPS6598X @@ -0,0 +1 @@ +CONFIG_TYPEC_TPS6598X=m diff --git a/baseconfig/CONFIG_TYPEC_UCSI b/baseconfig/CONFIG_TYPEC_UCSI new file mode 100644 index 000000000..6eeb035c1 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_UCSI @@ -0,0 +1 @@ +CONFIG_TYPEC_UCSI=m diff --git a/baseconfig/CONFIG_TYPEC_WCOVE b/baseconfig/CONFIG_TYPEC_WCOVE new file mode 100644 index 000000000..8801ecb28 --- /dev/null +++ b/baseconfig/CONFIG_TYPEC_WCOVE @@ -0,0 +1 @@ +CONFIG_TYPEC_WCOVE=m diff --git a/baseconfig/CONFIG_UBIFS_FS_SECURITY b/baseconfig/CONFIG_UBIFS_FS_SECURITY new file mode 100644 index 000000000..cb238b9c2 --- /dev/null +++ b/baseconfig/CONFIG_UBIFS_FS_SECURITY @@ -0,0 +1 @@ +CONFIG_UBIFS_FS_SECURITY=y diff --git a/baseconfig/CONFIG_UCSI_ACPI b/baseconfig/CONFIG_UCSI_ACPI new file mode 100644 index 000000000..34e35d282 --- /dev/null +++ b/baseconfig/CONFIG_UCSI_ACPI @@ -0,0 +1 @@ +CONFIG_UCSI_ACPI=m diff --git a/baseconfig/CONFIG_UNISYS_VISORBUS b/baseconfig/CONFIG_UNISYS_VISORBUS new file mode 100644 index 000000000..ba34845c8 --- /dev/null +++ b/baseconfig/CONFIG_UNISYS_VISORBUS @@ -0,0 +1 @@ +# CONFIG_UNISYS_VISORBUS is not set diff --git a/baseconfig/CONFIG_USB_CONFIGFS_F_UAC1_LEGACY b/baseconfig/CONFIG_USB_CONFIGFS_F_UAC1_LEGACY new file mode 100644 index 000000000..6dd4f027c --- /dev/null +++ b/baseconfig/CONFIG_USB_CONFIGFS_F_UAC1_LEGACY @@ -0,0 +1 @@ +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set diff --git a/baseconfig/CONFIG_USB_GADGET_LEGACY b/baseconfig/CONFIG_USB_GADGET_LEGACY new file mode 100644 index 000000000..9c3130405 --- /dev/null +++ b/baseconfig/CONFIG_USB_GADGET_LEGACY @@ -0,0 +1 @@ +# CONFIG_USB_GADGET_LEGACY is not set diff --git a/baseconfig/CONFIG_USB_IRDA b/baseconfig/CONFIG_USB_IRDA deleted file mode 100644 index 320b0d8b0..000000000 --- a/baseconfig/CONFIG_USB_IRDA +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_IRDA=m diff --git a/baseconfig/CONFIG_USB_LED b/baseconfig/CONFIG_USB_LED deleted file mode 100644 index 445af6c46..000000000 --- a/baseconfig/CONFIG_USB_LED +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_LED=m diff --git a/baseconfig/CONFIG_USB_PCI b/baseconfig/CONFIG_USB_PCI new file mode 100644 index 000000000..26c372a3a --- /dev/null +++ b/baseconfig/CONFIG_USB_PCI @@ -0,0 +1 @@ +CONFIG_USB_PCI=y diff --git a/baseconfig/CONFIG_USB_RAINSHADOW_CEC b/baseconfig/CONFIG_USB_RAINSHADOW_CEC new file mode 100644 index 000000000..c6605282b --- /dev/null +++ b/baseconfig/CONFIG_USB_RAINSHADOW_CEC @@ -0,0 +1 @@ +CONFIG_USB_RAINSHADOW_CEC=m diff --git a/baseconfig/CONFIG_USB_SNP_UDC_PLAT b/baseconfig/CONFIG_USB_SNP_UDC_PLAT new file mode 100644 index 000000000..b6095f92b --- /dev/null +++ b/baseconfig/CONFIG_USB_SNP_UDC_PLAT @@ -0,0 +1 @@ +CONFIG_USB_SNP_UDC_PLAT=m diff --git a/baseconfig/CONFIG_USB_XHCI_DBGCAP b/baseconfig/CONFIG_USB_XHCI_DBGCAP new file mode 100644 index 000000000..3cf92a71a --- /dev/null +++ b/baseconfig/CONFIG_USB_XHCI_DBGCAP @@ -0,0 +1 @@ +CONFIG_USB_XHCI_DBGCAP=y diff --git a/baseconfig/CONFIG_VIA_FIR b/baseconfig/CONFIG_VIA_FIR deleted file mode 100644 index a123178c8..000000000 --- a/baseconfig/CONFIG_VIA_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_VIA_FIR=m diff --git a/baseconfig/CONFIG_VIDEO_RENESAS_VSP1 b/baseconfig/CONFIG_VIDEO_RENESAS_VSP1 deleted file mode 100644 index dd5c6f34c..000000000 --- a/baseconfig/CONFIG_VIDEO_RENESAS_VSP1 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_VIDEO_RENESAS_VSP1 is not set diff --git a/baseconfig/CONFIG_VIRTIO b/baseconfig/CONFIG_VIRTIO new file mode 100644 index 000000000..300572920 --- /dev/null +++ b/baseconfig/CONFIG_VIRTIO @@ -0,0 +1 @@ +CONFIG_VIRTIO=y diff --git a/baseconfig/CONFIG_VIRTIO_BLK_SCSI b/baseconfig/CONFIG_VIRTIO_BLK_SCSI index dcc60f529..e551a8ba1 100644 --- a/baseconfig/CONFIG_VIRTIO_BLK_SCSI +++ b/baseconfig/CONFIG_VIRTIO_BLK_SCSI @@ -1 +1 @@ -CONFIG_VIRTIO_BLK_SCSI=y +# CONFIG_VIRTIO_BLK_SCSI is not set diff --git a/baseconfig/CONFIG_VIRTIO_MENU b/baseconfig/CONFIG_VIRTIO_MENU new file mode 100644 index 000000000..ce9f283a8 --- /dev/null +++ b/baseconfig/CONFIG_VIRTIO_MENU @@ -0,0 +1 @@ +CONFIG_VIRTIO_MENU=y diff --git a/baseconfig/CONFIG_VIRTIO_PCI b/baseconfig/CONFIG_VIRTIO_PCI index 58505d3a5..902a03720 100644 --- a/baseconfig/CONFIG_VIRTIO_PCI +++ b/baseconfig/CONFIG_VIRTIO_PCI @@ -1 +1 @@ -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y diff --git a/baseconfig/CONFIG_VL6180 b/baseconfig/CONFIG_VL6180 new file mode 100644 index 000000000..b178334de --- /dev/null +++ b/baseconfig/CONFIG_VL6180 @@ -0,0 +1 @@ +CONFIG_VL6180=m diff --git a/baseconfig/CONFIG_VLSI_FIR b/baseconfig/CONFIG_VLSI_FIR deleted file mode 100644 index fbade657a..000000000 --- a/baseconfig/CONFIG_VLSI_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_VLSI_FIR=m diff --git a/baseconfig/CONFIG_VSOCKETS_DIAG b/baseconfig/CONFIG_VSOCKETS_DIAG new file mode 100644 index 000000000..89432b02b --- /dev/null +++ b/baseconfig/CONFIG_VSOCKETS_DIAG @@ -0,0 +1 @@ +CONFIG_VSOCKETS_DIAG=m diff --git a/baseconfig/CONFIG_VSOCKMON b/baseconfig/CONFIG_VSOCKMON new file mode 100644 index 000000000..82594c488 --- /dev/null +++ b/baseconfig/CONFIG_VSOCKMON @@ -0,0 +1 @@ +CONFIG_VSOCKMON=m diff --git a/baseconfig/CONFIG_W1_SLAVE_DS2438 b/baseconfig/CONFIG_W1_SLAVE_DS2438 new file mode 100644 index 000000000..34301a62e --- /dev/null +++ b/baseconfig/CONFIG_W1_SLAVE_DS2438 @@ -0,0 +1 @@ +CONFIG_W1_SLAVE_DS2438=m diff --git a/baseconfig/CONFIG_W1_SLAVE_DS2805 b/baseconfig/CONFIG_W1_SLAVE_DS2805 new file mode 100644 index 000000000..eddd3bbb3 --- /dev/null +++ b/baseconfig/CONFIG_W1_SLAVE_DS2805 @@ -0,0 +1 @@ +CONFIG_W1_SLAVE_DS2805=m diff --git a/baseconfig/CONFIG_W1_SLAVE_DS28E17 b/baseconfig/CONFIG_W1_SLAVE_DS28E17 new file mode 100644 index 000000000..2349a7bea --- /dev/null +++ b/baseconfig/CONFIG_W1_SLAVE_DS28E17 @@ -0,0 +1 @@ +# CONFIG_W1_SLAVE_DS28E17 is not set diff --git a/baseconfig/CONFIG_WARN_ALL_UNSEEDED_RANDOM b/baseconfig/CONFIG_WARN_ALL_UNSEEDED_RANDOM new file mode 100644 index 000000000..5244e5664 --- /dev/null +++ b/baseconfig/CONFIG_WARN_ALL_UNSEEDED_RANDOM @@ -0,0 +1 @@ +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set diff --git a/baseconfig/CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED b/baseconfig/CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED new file mode 100644 index 000000000..2cdeb93aa --- /dev/null +++ b/baseconfig/CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED @@ -0,0 +1 @@ +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y diff --git a/baseconfig/CONFIG_WIL6210_DEBUGFS b/baseconfig/CONFIG_WIL6210_DEBUGFS new file mode 100644 index 000000000..f0f5fe7cf --- /dev/null +++ b/baseconfig/CONFIG_WIL6210_DEBUGFS @@ -0,0 +1 @@ +CONFIG_WIL6210_DEBUGFS=y diff --git a/baseconfig/CONFIG_WINBOND_FIR b/baseconfig/CONFIG_WINBOND_FIR deleted file mode 100644 index 672756266..000000000 --- a/baseconfig/CONFIG_WINBOND_FIR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_WINBOND_FIR=m diff --git a/baseconfig/CONFIG_WLAN_VENDOR_QUANTENNA b/baseconfig/CONFIG_WLAN_VENDOR_QUANTENNA new file mode 100644 index 000000000..94a9969d7 --- /dev/null +++ b/baseconfig/CONFIG_WLAN_VENDOR_QUANTENNA @@ -0,0 +1 @@ +CONFIG_WLAN_VENDOR_QUANTENNA=y diff --git a/baseconfig/CONFIG_X86_MCELOG_LEGACY b/baseconfig/CONFIG_X86_MCELOG_LEGACY new file mode 100644 index 000000000..2a4755640 --- /dev/null +++ b/baseconfig/CONFIG_X86_MCELOG_LEGACY @@ -0,0 +1 @@ +CONFIG_X86_MCELOG_LEGACY=y diff --git a/baseconfig/CONFIG_XEN_PVCALLS_FRONTEND b/baseconfig/CONFIG_XEN_PVCALLS_FRONTEND new file mode 100644 index 000000000..057a41318 --- /dev/null +++ b/baseconfig/CONFIG_XEN_PVCALLS_FRONTEND @@ -0,0 +1 @@ +# CONFIG_XEN_PVCALLS_FRONTEND is not set diff --git a/baseconfig/CONFIG_XFS_ONLINE_SCRUB b/baseconfig/CONFIG_XFS_ONLINE_SCRUB new file mode 100644 index 000000000..dd4ff1f48 --- /dev/null +++ b/baseconfig/CONFIG_XFS_ONLINE_SCRUB @@ -0,0 +1 @@ +# CONFIG_XFS_ONLINE_SCRUB is not set diff --git a/baseconfig/CONFIG_XILINX_VCU b/baseconfig/CONFIG_XILINX_VCU new file mode 100644 index 000000000..6ba10b386 --- /dev/null +++ b/baseconfig/CONFIG_XILINX_VCU @@ -0,0 +1 @@ +CONFIG_XILINX_VCU=m diff --git a/baseconfig/CONFIG_ZOPT2201 b/baseconfig/CONFIG_ZOPT2201 new file mode 100644 index 000000000..407ef5f8c --- /dev/null +++ b/baseconfig/CONFIG_ZOPT2201 @@ -0,0 +1 @@ +CONFIG_ZOPT2201=m diff --git a/baseconfig/CONFIG_ZRAM_WRITEBACK b/baseconfig/CONFIG_ZRAM_WRITEBACK new file mode 100644 index 000000000..9a566b71c --- /dev/null +++ b/baseconfig/CONFIG_ZRAM_WRITEBACK @@ -0,0 +1 @@ +# CONFIG_ZRAM_WRITEBACK is not set diff --git a/baseconfig/CONFIG_ZX_TDM b/baseconfig/CONFIG_ZX_TDM new file mode 100644 index 000000000..9d2d9bf4c --- /dev/null +++ b/baseconfig/CONFIG_ZX_TDM @@ -0,0 +1 @@ +# CONFIG_ZX_TDM is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_AK8975 b/baseconfig/arm/CONFIG_AK8975 similarity index 100% rename from baseconfig/arm/armv7/armv7/CONFIG_AK8975 rename to baseconfig/arm/CONFIG_AK8975 diff --git a/baseconfig/arm/CONFIG_ARCH_ACTIONS b/baseconfig/arm/CONFIG_ARCH_ACTIONS new file mode 100644 index 000000000..760663b50 --- /dev/null +++ b/baseconfig/arm/CONFIG_ARCH_ACTIONS @@ -0,0 +1 @@ +# CONFIG_ARCH_ACTIONS is not set diff --git a/baseconfig/arm/CONFIG_ARCH_BCM_HR2 b/baseconfig/arm/CONFIG_ARCH_BCM_HR2 new file mode 100644 index 000000000..e7a5a2028 --- /dev/null +++ b/baseconfig/arm/CONFIG_ARCH_BCM_HR2 @@ -0,0 +1 @@ +# CONFIG_ARCH_BCM_HR2 is not set diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_BCM_IPROC b/baseconfig/arm/CONFIG_ARCH_BCM_IPROC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_BCM_IPROC rename to baseconfig/arm/CONFIG_ARCH_BCM_IPROC diff --git a/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ b/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ new file mode 100644 index 000000000..c2475dc86 --- /dev/null +++ b/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ @@ -0,0 +1 @@ +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m diff --git a/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ b/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ index 89d555289..8b76dfa84 100644 --- a/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ +++ b/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ @@ -1 +1 @@ -# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +CONFIG_ARM_BIG_LITTLE_CPUFREQ=m diff --git a/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS b/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS new file mode 100644 index 000000000..b0e62594c --- /dev/null +++ b/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_ARM_PTDUMP_DEBUGFS is not set diff --git a/baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ b/baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ similarity index 100% rename from baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ rename to baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ diff --git a/baseconfig/arm/CONFIG_ARM_SPE_PMU b/baseconfig/arm/CONFIG_ARM_SPE_PMU new file mode 100644 index 000000000..c7f32cf49 --- /dev/null +++ b/baseconfig/arm/CONFIG_ARM_SPE_PMU @@ -0,0 +1 @@ +CONFIG_ARM_SPE_PMU=m diff --git a/baseconfig/arm/CONFIG_BCM2835_THERMAL b/baseconfig/arm/CONFIG_BCM2835_THERMAL new file mode 100644 index 000000000..a6e3c0a6d --- /dev/null +++ b/baseconfig/arm/CONFIG_BCM2835_THERMAL @@ -0,0 +1 @@ +CONFIG_BCM2835_THERMAL=m diff --git a/baseconfig/arm/CONFIG_BCM_SBA_RAID b/baseconfig/arm/CONFIG_BCM_SBA_RAID new file mode 100644 index 000000000..516787c00 --- /dev/null +++ b/baseconfig/arm/CONFIG_BCM_SBA_RAID @@ -0,0 +1 @@ +CONFIG_BCM_SBA_RAID=m diff --git a/baseconfig/arm/CONFIG_BCM_VIDEOCORE b/baseconfig/arm/CONFIG_BCM_VIDEOCORE new file mode 100644 index 000000000..6897b418e --- /dev/null +++ b/baseconfig/arm/CONFIG_BCM_VIDEOCORE @@ -0,0 +1 @@ +# CONFIG_BCM_VIDEOCORE is not set diff --git a/baseconfig/arm/CONFIG_BINFMT_ELF_FDPIC b/baseconfig/arm/CONFIG_BINFMT_ELF_FDPIC new file mode 100644 index 000000000..f399e3a85 --- /dev/null +++ b/baseconfig/arm/CONFIG_BINFMT_ELF_FDPIC @@ -0,0 +1 @@ +# CONFIG_BINFMT_ELF_FDPIC is not set diff --git a/baseconfig/arm/CONFIG_CADENCE_WATCHDOG b/baseconfig/arm/CONFIG_CADENCE_WATCHDOG index 3892db328..85b4e115d 100644 --- a/baseconfig/arm/CONFIG_CADENCE_WATCHDOG +++ b/baseconfig/arm/CONFIG_CADENCE_WATCHDOG @@ -1 +1 @@ -# CONFIG_CADENCE_WATCHDOG is not set +CONFIG_CADENCE_WATCHDOG=m diff --git a/baseconfig/arm/armv7/CONFIG_CROS_EC_CHARDEV b/baseconfig/arm/CONFIG_CROS_EC_CHARDEV similarity index 100% rename from baseconfig/arm/armv7/CONFIG_CROS_EC_CHARDEV rename to baseconfig/arm/CONFIG_CROS_EC_CHARDEV diff --git a/baseconfig/arm/armv7/CONFIG_CROS_EC_PROTO b/baseconfig/arm/CONFIG_CROS_EC_PROTO similarity index 100% rename from baseconfig/arm/armv7/CONFIG_CROS_EC_PROTO rename to baseconfig/arm/CONFIG_CROS_EC_PROTO diff --git a/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG b/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG new file mode 100644 index 000000000..62fd0b85a --- /dev/null +++ b/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y diff --git a/baseconfig/arm/CONFIG_CRYPTO_GHASH_ARM_CE b/baseconfig/arm/CONFIG_CRYPTO_GHASH_ARM_CE new file mode 100644 index 000000000..5c70cb19a --- /dev/null +++ b/baseconfig/arm/CONFIG_CRYPTO_GHASH_ARM_CE @@ -0,0 +1 @@ +CONFIG_CRYPTO_GHASH_ARM_CE=m diff --git a/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 b/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 index ba32f8501..3aa7dacbf 100644 --- a/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 +++ b/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 @@ -1 +1 @@ -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y diff --git a/baseconfig/arm/arm64/CONFIG_DEBUG_WX b/baseconfig/arm/CONFIG_DEBUG_WX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DEBUG_WX rename to baseconfig/arm/CONFIG_DEBUG_WX diff --git a/baseconfig/arm/armv7/CONFIG_DEFAULT_MMAP_MIN_ADDR b/baseconfig/arm/CONFIG_DEFAULT_MMAP_MIN_ADDR similarity index 100% rename from baseconfig/arm/armv7/CONFIG_DEFAULT_MMAP_MIN_ADDR rename to baseconfig/arm/CONFIG_DEFAULT_MMAP_MIN_ADDR diff --git a/baseconfig/arm/arm64/CONFIG_DMI b/baseconfig/arm/CONFIG_DMI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DMI rename to baseconfig/arm/CONFIG_DMI diff --git a/baseconfig/arm/arm64/CONFIG_DMIID b/baseconfig/arm/CONFIG_DMIID similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DMIID rename to baseconfig/arm/CONFIG_DMIID diff --git a/baseconfig/arm/arm64/CONFIG_DMI_SYSFS b/baseconfig/arm/CONFIG_DMI_SYSFS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DMI_SYSFS rename to baseconfig/arm/CONFIG_DMI_SYSFS diff --git a/baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI b/baseconfig/arm/CONFIG_DRM_DW_HDMI similarity index 100% rename from baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI rename to baseconfig/arm/CONFIG_DRM_DW_HDMI diff --git a/baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI_AHB_AUDIO b/baseconfig/arm/CONFIG_DRM_DW_HDMI_AHB_AUDIO similarity index 100% rename from baseconfig/arm/armv7/CONFIG_DRM_DW_HDMI_AHB_AUDIO rename to baseconfig/arm/CONFIG_DRM_DW_HDMI_AHB_AUDIO diff --git a/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC b/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC new file mode 100644 index 000000000..a3e178eae --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC @@ -0,0 +1 @@ +CONFIG_DRM_DW_HDMI_CEC=m diff --git a/baseconfig/arm/CONFIG_DRM_DW_HDMI_I2S_AUDIO b/baseconfig/arm/CONFIG_DRM_DW_HDMI_I2S_AUDIO new file mode 100644 index 000000000..34ecaf242 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_DW_HDMI_I2S_AUDIO @@ -0,0 +1 @@ +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m diff --git a/baseconfig/arm/CONFIG_DRM_I2C_ADV7511 b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511 new file mode 100644 index 000000000..2d931f712 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511 @@ -0,0 +1 @@ +CONFIG_DRM_I2C_ADV7511=m diff --git a/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC new file mode 100644 index 000000000..42e87e034 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC @@ -0,0 +1 @@ +CONFIG_DRM_I2C_ADV7511_CEC=y diff --git a/baseconfig/arm/CONFIG_DRM_LVDS_ENCODER b/baseconfig/arm/CONFIG_DRM_LVDS_ENCODER new file mode 100644 index 000000000..53f0efb59 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_LVDS_ENCODER @@ -0,0 +1 @@ +CONFIG_DRM_LVDS_ENCODER=m diff --git a/baseconfig/arm/CONFIG_DRM_MESON_DW_HDMI b/baseconfig/arm/CONFIG_DRM_MESON_DW_HDMI new file mode 100644 index 000000000..2590929f1 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_MESON_DW_HDMI @@ -0,0 +1 @@ +CONFIG_DRM_MESON_DW_HDMI=m diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322 b/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322 new file mode 100644 index 000000000..c18cc1b27 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322 @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_ILITEK_IL9322=m diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_LVDS b/baseconfig/arm/CONFIG_DRM_PANEL_LVDS new file mode 100644 index 000000000..6d4d3c7c6 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_PANEL_LVDS @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_LVDS=m diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 b/baseconfig/arm/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 new file mode 100644 index 000000000..8334ac016 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m diff --git a/baseconfig/arm/CONFIG_DRM_PL111 b/baseconfig/arm/CONFIG_DRM_PL111 new file mode 100644 index 000000000..8117110e8 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_PL111 @@ -0,0 +1 @@ +CONFIG_DRM_PL111=m diff --git a/baseconfig/arm/CONFIG_DRM_STM b/baseconfig/arm/CONFIG_DRM_STM new file mode 100644 index 000000000..d490eca03 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_STM @@ -0,0 +1 @@ +# CONFIG_DRM_STM is not set diff --git a/baseconfig/arm/CONFIG_DRM_SUN4I_HDMI b/baseconfig/arm/CONFIG_DRM_SUN4I_HDMI new file mode 100644 index 000000000..cda1f60f8 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_SUN4I_HDMI @@ -0,0 +1 @@ +CONFIG_DRM_SUN4I_HDMI=m diff --git a/baseconfig/arm/CONFIG_DRM_SUN4I_HDMI_CEC b/baseconfig/arm/CONFIG_DRM_SUN4I_HDMI_CEC new file mode 100644 index 000000000..146d9409f --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_SUN4I_HDMI_CEC @@ -0,0 +1 @@ +CONFIG_DRM_SUN4I_HDMI_CEC=y diff --git a/baseconfig/arm/CONFIG_DRM_SUN8I_MIXER b/baseconfig/arm/CONFIG_DRM_SUN8I_MIXER new file mode 100644 index 000000000..cbd3e6b72 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_SUN8I_MIXER @@ -0,0 +1 @@ +CONFIG_DRM_SUN8I_MIXER=m diff --git a/baseconfig/arm/CONFIG_DRM_TOSHIBA_TC358767 b/baseconfig/arm/CONFIG_DRM_TOSHIBA_TC358767 new file mode 100644 index 000000000..dd9667384 --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_TOSHIBA_TC358767 @@ -0,0 +1 @@ +CONFIG_DRM_TOSHIBA_TC358767=m diff --git a/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC b/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC new file mode 100644 index 000000000..da0132c1f --- /dev/null +++ b/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC @@ -0,0 +1 @@ +CONFIG_DRM_VC4_HDMI_CEC=y diff --git a/baseconfig/arm/CONFIG_EXTCON b/baseconfig/arm/CONFIG_EXTCON deleted file mode 100644 index 0a7190c08..000000000 --- a/baseconfig/arm/CONFIG_EXTCON +++ /dev/null @@ -1 +0,0 @@ -CONFIG_EXTCON=m diff --git a/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC b/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC new file mode 100644 index 000000000..831bc6ea7 --- /dev/null +++ b/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC @@ -0,0 +1 @@ +CONFIG_EXTCON_USBC_CROS_EC=m diff --git a/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG b/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG new file mode 100644 index 000000000..63ed03113 --- /dev/null +++ b/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG @@ -0,0 +1 @@ +# CONFIG_FTWDT010_WATCHDOG is not set diff --git a/baseconfig/arm/armv7/CONFIG_GPIO_PCF857X b/baseconfig/arm/CONFIG_GPIO_PCF857X similarity index 100% rename from baseconfig/arm/armv7/CONFIG_GPIO_PCF857X rename to baseconfig/arm/CONFIG_GPIO_PCF857X diff --git a/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP b/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP new file mode 100644 index 000000000..c98e757e1 --- /dev/null +++ b/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP @@ -0,0 +1 @@ +CONFIG_GPIO_RASPBERRYPI_EXP=m diff --git a/baseconfig/arm/CONFIG_HISI_PMU b/baseconfig/arm/CONFIG_HISI_PMU new file mode 100644 index 000000000..7bd6395da --- /dev/null +++ b/baseconfig/arm/CONFIG_HISI_PMU @@ -0,0 +1 @@ +CONFIG_HISI_PMU=y diff --git a/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC b/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC new file mode 100644 index 000000000..e7b39a2c7 --- /dev/null +++ b/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC @@ -0,0 +1 @@ +CONFIG_HW_RANDOM_IMX_RNGC=m diff --git a/baseconfig/CONFIG_HW_RANDOM_OMAP b/baseconfig/arm/CONFIG_HW_RANDOM_OMAP similarity index 100% rename from baseconfig/CONFIG_HW_RANDOM_OMAP rename to baseconfig/arm/CONFIG_HW_RANDOM_OMAP diff --git a/baseconfig/arm/armv7/armv7/CONFIG_I2C_CADENCE b/baseconfig/arm/CONFIG_I2C_CADENCE similarity index 100% rename from baseconfig/arm/armv7/armv7/CONFIG_I2C_CADENCE rename to baseconfig/arm/CONFIG_I2C_CADENCE diff --git a/baseconfig/arm/armv7/CONFIG_I2C_CROS_EC_TUNNEL b/baseconfig/arm/CONFIG_I2C_CROS_EC_TUNNEL similarity index 100% rename from baseconfig/arm/armv7/CONFIG_I2C_CROS_EC_TUNNEL rename to baseconfig/arm/CONFIG_I2C_CROS_EC_TUNNEL diff --git a/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE b/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE index 661ffb01a..f9cdc633b 100644 --- a/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE +++ b/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE @@ -1 +1 @@ -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y diff --git a/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM b/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM index cec2f8633..3d50a3e8a 100644 --- a/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM +++ b/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM @@ -1 +1 @@ -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y diff --git a/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR b/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR new file mode 100644 index 000000000..711cee4c9 --- /dev/null +++ b/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR @@ -0,0 +1 @@ +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set diff --git a/baseconfig/arm/CONFIG_I2C_RK3X b/baseconfig/arm/CONFIG_I2C_RK3X index 904a05ea2..8a79fb30d 100644 --- a/baseconfig/arm/CONFIG_I2C_RK3X +++ b/baseconfig/arm/CONFIG_I2C_RK3X @@ -1 +1 @@ -CONFIG_I2C_RK3X=m +CONFIG_I2C_RK3X=y diff --git a/baseconfig/arm/CONFIG_IIO_CROS_EC_BARO b/baseconfig/arm/CONFIG_IIO_CROS_EC_BARO new file mode 100644 index 000000000..c64555bfa --- /dev/null +++ b/baseconfig/arm/CONFIG_IIO_CROS_EC_BARO @@ -0,0 +1 @@ +CONFIG_IIO_CROS_EC_BARO=m diff --git a/baseconfig/arm/CONFIG_IIO_CROS_EC_LIGHT_PROX b/baseconfig/arm/CONFIG_IIO_CROS_EC_LIGHT_PROX new file mode 100644 index 000000000..deb1a6eb5 --- /dev/null +++ b/baseconfig/arm/CONFIG_IIO_CROS_EC_LIGHT_PROX @@ -0,0 +1 @@ +CONFIG_IIO_CROS_EC_LIGHT_PROX=m diff --git a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS b/baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS similarity index 100% rename from baseconfig/CONFIG_IIO_CROS_EC_SENSORS rename to baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS diff --git a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_CORE b/baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS_CORE similarity index 100% rename from baseconfig/CONFIG_IIO_CROS_EC_SENSORS_CORE rename to baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS_CORE diff --git a/baseconfig/arm/CONFIG_IOMMU_DMA b/baseconfig/arm/CONFIG_IOMMU_DMA new file mode 100644 index 000000000..a9155fba1 --- /dev/null +++ b/baseconfig/arm/CONFIG_IOMMU_DMA @@ -0,0 +1 @@ +CONFIG_IOMMU_DMA=y diff --git a/baseconfig/arm/CONFIG_IPQ_GCC_8074 b/baseconfig/arm/CONFIG_IPQ_GCC_8074 new file mode 100644 index 000000000..7e6a019d4 --- /dev/null +++ b/baseconfig/arm/CONFIG_IPQ_GCC_8074 @@ -0,0 +1 @@ +# CONFIG_IPQ_GCC_8074 is not set diff --git a/baseconfig/arm/CONFIG_KEYBOARD_ADC b/baseconfig/arm/CONFIG_KEYBOARD_ADC new file mode 100644 index 000000000..d9b66de57 --- /dev/null +++ b/baseconfig/arm/CONFIG_KEYBOARD_ADC @@ -0,0 +1 @@ +CONFIG_KEYBOARD_ADC=m diff --git a/baseconfig/arm/armv7/CONFIG_KEYBOARD_CROS_EC b/baseconfig/arm/CONFIG_KEYBOARD_CROS_EC similarity index 100% rename from baseconfig/arm/armv7/CONFIG_KEYBOARD_CROS_EC rename to baseconfig/arm/CONFIG_KEYBOARD_CROS_EC diff --git a/baseconfig/arm/CONFIG_KXSD9 b/baseconfig/arm/CONFIG_KXSD9 new file mode 100644 index 000000000..090669c9c --- /dev/null +++ b/baseconfig/arm/CONFIG_KXSD9 @@ -0,0 +1 @@ +CONFIG_KXSD9=m diff --git a/baseconfig/arm/CONFIG_KXSD9_I2C b/baseconfig/arm/CONFIG_KXSD9_I2C new file mode 100644 index 000000000..3d2256700 --- /dev/null +++ b/baseconfig/arm/CONFIG_KXSD9_I2C @@ -0,0 +1 @@ +CONFIG_KXSD9_I2C=m diff --git a/baseconfig/arm/CONFIG_KXSD9_SPI b/baseconfig/arm/CONFIG_KXSD9_SPI new file mode 100644 index 000000000..f4da57bbc --- /dev/null +++ b/baseconfig/arm/CONFIG_KXSD9_SPI @@ -0,0 +1 @@ +CONFIG_KXSD9_SPI=m diff --git a/baseconfig/arm/CONFIG_MESON_GX_SOCINFO b/baseconfig/arm/CONFIG_MESON_GX_SOCINFO new file mode 100644 index 000000000..ce5ba6f4a --- /dev/null +++ b/baseconfig/arm/CONFIG_MESON_GX_SOCINFO @@ -0,0 +1 @@ +CONFIG_MESON_GX_SOCINFO=y diff --git a/baseconfig/arm/CONFIG_MESON_IRQ_GPIO b/baseconfig/arm/CONFIG_MESON_IRQ_GPIO new file mode 100644 index 000000000..ee5500285 --- /dev/null +++ b/baseconfig/arm/CONFIG_MESON_IRQ_GPIO @@ -0,0 +1 @@ +CONFIG_MESON_IRQ_GPIO=y diff --git a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC b/baseconfig/arm/CONFIG_MFD_CROS_EC similarity index 100% rename from baseconfig/arm/armv7/CONFIG_MFD_CROS_EC rename to baseconfig/arm/CONFIG_MFD_CROS_EC diff --git a/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV b/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV new file mode 100644 index 000000000..fc68f1d89 --- /dev/null +++ b/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV @@ -0,0 +1 @@ +CONFIG_MFD_CROS_EC_CHARDEV=m diff --git a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_I2C b/baseconfig/arm/CONFIG_MFD_CROS_EC_I2C similarity index 100% rename from baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_I2C rename to baseconfig/arm/CONFIG_MFD_CROS_EC_I2C diff --git a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_SPI b/baseconfig/arm/CONFIG_MFD_CROS_EC_SPI similarity index 100% rename from baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_SPI rename to baseconfig/arm/CONFIG_MFD_CROS_EC_SPI diff --git a/baseconfig/arm/CONFIG_MMC b/baseconfig/arm/CONFIG_MMC new file mode 100644 index 000000000..7c2be178c --- /dev/null +++ b/baseconfig/arm/CONFIG_MMC @@ -0,0 +1 @@ +CONFIG_MMC=y diff --git a/baseconfig/arm/CONFIG_MMC_MESON_MX_SDIO b/baseconfig/arm/CONFIG_MMC_MESON_MX_SDIO new file mode 100644 index 000000000..4b58af460 --- /dev/null +++ b/baseconfig/arm/CONFIG_MMC_MESON_MX_SDIO @@ -0,0 +1 @@ +CONFIG_MMC_MESON_MX_SDIO=m diff --git a/baseconfig/arm/CONFIG_MMC_QCOM_DML b/baseconfig/arm/CONFIG_MMC_QCOM_DML deleted file mode 100644 index 11f7e7eba..000000000 --- a/baseconfig/arm/CONFIG_MMC_QCOM_DML +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MMC_QCOM_DML is not set diff --git a/baseconfig/arm/CONFIG_MMC_SDHCI_OMAP b/baseconfig/arm/CONFIG_MMC_SDHCI_OMAP new file mode 100644 index 000000000..293bf33c5 --- /dev/null +++ b/baseconfig/arm/CONFIG_MMC_SDHCI_OMAP @@ -0,0 +1 @@ +CONFIG_MMC_SDHCI_OMAP=m diff --git a/baseconfig/arm/CONFIG_MTD_NAND_MARVELL b/baseconfig/arm/CONFIG_MTD_NAND_MARVELL new file mode 100644 index 000000000..439fe9528 --- /dev/null +++ b/baseconfig/arm/CONFIG_MTD_NAND_MARVELL @@ -0,0 +1 @@ +CONFIG_MTD_NAND_MARVELL=m diff --git a/baseconfig/arm/armv7/CONFIG_MTD_NAND_PXA3xx b/baseconfig/arm/CONFIG_MTD_NAND_PXA3xx similarity index 100% rename from baseconfig/arm/armv7/CONFIG_MTD_NAND_PXA3xx rename to baseconfig/arm/CONFIG_MTD_NAND_PXA3xx diff --git a/baseconfig/arm/CONFIG_NCP_FS b/baseconfig/arm/CONFIG_NCP_FS deleted file mode 100644 index 62eb3bdd0..000000000 --- a/baseconfig/arm/CONFIG_NCP_FS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_NCP_FS is not set diff --git a/baseconfig/arm/CONFIG_NET_VENDOR_QLOGIC b/baseconfig/arm/CONFIG_NET_VENDOR_QLOGIC deleted file mode 100644 index 700f6a5e2..000000000 --- a/baseconfig/arm/CONFIG_NET_VENDOR_QLOGIC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_NET_VENDOR_QLOGIC is not set diff --git a/baseconfig/arm/CONFIG_PARPORT b/baseconfig/arm/CONFIG_PARPORT deleted file mode 100644 index 9dd8f33af..000000000 --- a/baseconfig/arm/CONFIG_PARPORT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PARPORT is not set diff --git a/baseconfig/arm/CONFIG_PATA_OF_PLATFORM b/baseconfig/arm/CONFIG_PATA_OF_PLATFORM deleted file mode 100644 index 5354705f9..000000000 --- a/baseconfig/arm/CONFIG_PATA_OF_PLATFORM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PATA_OF_PLATFORM=m diff --git a/baseconfig/arm/CONFIG_PCIE_DW_HOST b/baseconfig/arm/CONFIG_PCIE_DW_HOST new file mode 100644 index 000000000..6aecdd9c1 --- /dev/null +++ b/baseconfig/arm/CONFIG_PCIE_DW_HOST @@ -0,0 +1 @@ +CONFIG_PCIE_DW_HOST=y diff --git a/baseconfig/arm/CONFIG_PCIE_HISI_STB b/baseconfig/arm/CONFIG_PCIE_HISI_STB new file mode 100644 index 000000000..40c67db5f --- /dev/null +++ b/baseconfig/arm/CONFIG_PCIE_HISI_STB @@ -0,0 +1 @@ +CONFIG_PCIE_HISI_STB=y diff --git a/baseconfig/arm/CONFIG_PCI_FTPCI100 b/baseconfig/arm/CONFIG_PCI_FTPCI100 new file mode 100644 index 000000000..f9fe5b6ea --- /dev/null +++ b/baseconfig/arm/CONFIG_PCI_FTPCI100 @@ -0,0 +1 @@ +# CONFIG_PCI_FTPCI100 is not set diff --git a/baseconfig/arm/CONFIG_PHY_MESON_GXL_USB2 b/baseconfig/arm/CONFIG_PHY_MESON_GXL_USB2 new file mode 100644 index 000000000..ed8e9c323 --- /dev/null +++ b/baseconfig/arm/CONFIG_PHY_MESON_GXL_USB2 @@ -0,0 +1 @@ +# CONFIG_PHY_MESON_GXL_USB2 is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_UFS b/baseconfig/arm/CONFIG_PHY_QCOM_UFS similarity index 100% rename from baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_UFS rename to baseconfig/arm/CONFIG_PHY_QCOM_UFS diff --git a/baseconfig/arm/CONFIG_PINCTRL_AXP209 b/baseconfig/arm/CONFIG_PINCTRL_AXP209 new file mode 100644 index 000000000..6ccab1d44 --- /dev/null +++ b/baseconfig/arm/CONFIG_PINCTRL_AXP209 @@ -0,0 +1 @@ +CONFIG_PINCTRL_AXP209=m diff --git a/baseconfig/arm/CONFIG_PINCTRL_MESON8 b/baseconfig/arm/CONFIG_PINCTRL_MESON8 new file mode 100644 index 000000000..49f6d3fc4 --- /dev/null +++ b/baseconfig/arm/CONFIG_PINCTRL_MESON8 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_MESON8 is not set diff --git a/baseconfig/arm/CONFIG_PINCTRL_MESON8B b/baseconfig/arm/CONFIG_PINCTRL_MESON8B new file mode 100644 index 000000000..fe5151cbd --- /dev/null +++ b/baseconfig/arm/CONFIG_PINCTRL_MESON8B @@ -0,0 +1 @@ +# CONFIG_PINCTRL_MESON8B is not set diff --git a/baseconfig/arm/CONFIG_PINCTRL_MSM8994 b/baseconfig/arm/CONFIG_PINCTRL_MSM8994 new file mode 100644 index 000000000..977b1c3c4 --- /dev/null +++ b/baseconfig/arm/CONFIG_PINCTRL_MSM8994 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_MSM8994 is not set diff --git a/baseconfig/arm/CONFIG_PINCTRL_MSM8998 b/baseconfig/arm/CONFIG_PINCTRL_MSM8998 new file mode 100644 index 000000000..e2650002f --- /dev/null +++ b/baseconfig/arm/CONFIG_PINCTRL_MSM8998 @@ -0,0 +1 @@ +CONFIG_PINCTRL_MSM8998=m diff --git a/baseconfig/arm/armv7/CONFIG_PWM_CROS_EC b/baseconfig/arm/CONFIG_PWM_CROS_EC similarity index 100% rename from baseconfig/arm/armv7/CONFIG_PWM_CROS_EC rename to baseconfig/arm/CONFIG_PWM_CROS_EC diff --git a/baseconfig/arm/CONFIG_PWRSEQ_EMMC b/baseconfig/arm/CONFIG_PWRSEQ_EMMC new file mode 100644 index 000000000..29e883d93 --- /dev/null +++ b/baseconfig/arm/CONFIG_PWRSEQ_EMMC @@ -0,0 +1 @@ +CONFIG_PWRSEQ_EMMC=y diff --git a/baseconfig/arm/CONFIG_PWRSEQ_SIMPLE b/baseconfig/arm/CONFIG_PWRSEQ_SIMPLE new file mode 100644 index 000000000..7c8ad9b8a --- /dev/null +++ b/baseconfig/arm/CONFIG_PWRSEQ_SIMPLE @@ -0,0 +1 @@ +CONFIG_PWRSEQ_SIMPLE=y diff --git a/baseconfig/arm/CONFIG_QCOM_A53PLL b/baseconfig/arm/CONFIG_QCOM_A53PLL new file mode 100644 index 000000000..6928d6138 --- /dev/null +++ b/baseconfig/arm/CONFIG_QCOM_A53PLL @@ -0,0 +1 @@ +CONFIG_QCOM_A53PLL=m diff --git a/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916 b/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916 new file mode 100644 index 000000000..ca97c450e --- /dev/null +++ b/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916 @@ -0,0 +1 @@ +CONFIG_QCOM_CLK_APCS_MSM8916=m diff --git a/baseconfig/arm/CONFIG_QCOM_RMTFS_MEM b/baseconfig/arm/CONFIG_QCOM_RMTFS_MEM new file mode 100644 index 000000000..3d1c319a9 --- /dev/null +++ b/baseconfig/arm/CONFIG_QCOM_RMTFS_MEM @@ -0,0 +1 @@ +CONFIG_QCOM_RMTFS_MEM=m diff --git a/baseconfig/arm/CONFIG_QCOM_SPMI_IADC b/baseconfig/arm/CONFIG_QCOM_SPMI_IADC deleted file mode 100644 index 1b31637a0..000000000 --- a/baseconfig/arm/CONFIG_QCOM_SPMI_IADC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_QCOM_SPMI_IADC is not set diff --git a/baseconfig/arm/CONFIG_QCOM_SPMI_VADC b/baseconfig/arm/CONFIG_QCOM_SPMI_VADC deleted file mode 100644 index 54e057273..000000000 --- a/baseconfig/arm/CONFIG_QCOM_SPMI_VADC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_QCOM_SPMI_VADC is not set diff --git a/baseconfig/arm/CONFIG_REFCOUNT_FULL b/baseconfig/arm/CONFIG_REFCOUNT_FULL new file mode 100644 index 000000000..c7e4a167a --- /dev/null +++ b/baseconfig/arm/CONFIG_REFCOUNT_FULL @@ -0,0 +1 @@ +CONFIG_REFCOUNT_FULL=y diff --git a/baseconfig/arm/CONFIG_REGULATOR_FAN53555 b/baseconfig/arm/CONFIG_REGULATOR_FAN53555 index d62314c7d..3f2a9b30f 100644 --- a/baseconfig/arm/CONFIG_REGULATOR_FAN53555 +++ b/baseconfig/arm/CONFIG_REGULATOR_FAN53555 @@ -1 +1 @@ -# CONFIG_REGULATOR_FAN53555 is not set +CONFIG_REGULATOR_FAN53555=y diff --git a/baseconfig/arm/CONFIG_REGULATOR_QCOM_SPMI b/baseconfig/arm/CONFIG_REGULATOR_QCOM_SPMI deleted file mode 100644 index fe224dc89..000000000 --- a/baseconfig/arm/CONFIG_REGULATOR_QCOM_SPMI +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_REGULATOR_QCOM_SPMI is not set diff --git a/baseconfig/arm/CONFIG_RESET_SIMPLE b/baseconfig/arm/CONFIG_RESET_SIMPLE new file mode 100644 index 000000000..663fbe2ec --- /dev/null +++ b/baseconfig/arm/CONFIG_RESET_SIMPLE @@ -0,0 +1 @@ +CONFIG_RESET_SIMPLE=y diff --git a/baseconfig/arm/CONFIG_RESET_TI_SCI b/baseconfig/arm/CONFIG_RESET_TI_SCI new file mode 100644 index 000000000..2a2526769 --- /dev/null +++ b/baseconfig/arm/CONFIG_RESET_TI_SCI @@ -0,0 +1 @@ +# CONFIG_RESET_TI_SCI is not set diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP b/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP index ee89108f9..4f8576d47 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP +++ b/baseconfig/arm/CONFIG_ROCKCHIP_ANALOGIX_DP @@ -1 +1 @@ -CONFIG_ROCKCHIP_ANALOGIX_DP=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_CDN_DP b/baseconfig/arm/CONFIG_ROCKCHIP_CDN_DP new file mode 100644 index 000000000..86d2137bd --- /dev/null +++ b/baseconfig/arm/CONFIG_ROCKCHIP_CDN_DP @@ -0,0 +1 @@ +CONFIG_ROCKCHIP_CDN_DP=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI b/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI index 49748e701..80c330104 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI +++ b/baseconfig/arm/CONFIG_ROCKCHIP_DW_HDMI @@ -1 +1 @@ -CONFIG_ROCKCHIP_DW_HDMI=m +CONFIG_ROCKCHIP_DW_HDMI=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI b/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI index 516f3b1c7..6c00423c8 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI +++ b/baseconfig/arm/CONFIG_ROCKCHIP_DW_MIPI_DSI @@ -1 +1 @@ -CONFIG_ROCKCHIP_DW_MIPI_DSI=m +CONFIG_ROCKCHIP_DW_MIPI_DSI=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI b/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI index 34b798abf..50cf998df 100644 --- a/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI +++ b/baseconfig/arm/CONFIG_ROCKCHIP_INNO_HDMI @@ -1 +1 @@ -CONFIG_ROCKCHIP_INNO_HDMI=m +CONFIG_ROCKCHIP_INNO_HDMI=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_LVDS b/baseconfig/arm/CONFIG_ROCKCHIP_LVDS new file mode 100644 index 000000000..8ea9897b8 --- /dev/null +++ b/baseconfig/arm/CONFIG_ROCKCHIP_LVDS @@ -0,0 +1 @@ +CONFIG_ROCKCHIP_LVDS=y diff --git a/baseconfig/arm/CONFIG_ROCKCHIP_PHY b/baseconfig/arm/CONFIG_ROCKCHIP_PHY new file mode 100644 index 000000000..e49faf8f9 --- /dev/null +++ b/baseconfig/arm/CONFIG_ROCKCHIP_PHY @@ -0,0 +1 @@ +CONFIG_ROCKCHIP_PHY=m diff --git a/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC b/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC new file mode 100644 index 000000000..4665f7916 --- /dev/null +++ b/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC @@ -0,0 +1 @@ +CONFIG_RTC_DRV_CROS_EC=m diff --git a/baseconfig/arm/CONFIG_SCSI_UFSHCD b/baseconfig/arm/CONFIG_SCSI_UFSHCD new file mode 100644 index 000000000..041b8209b --- /dev/null +++ b/baseconfig/arm/CONFIG_SCSI_UFSHCD @@ -0,0 +1 @@ +CONFIG_SCSI_UFSHCD=m diff --git a/baseconfig/CONFIG_SCSI_UFSHCD_PCI b/baseconfig/arm/CONFIG_SCSI_UFSHCD_PCI similarity index 100% rename from baseconfig/CONFIG_SCSI_UFSHCD_PCI rename to baseconfig/arm/CONFIG_SCSI_UFSHCD_PCI diff --git a/baseconfig/arm/CONFIG_SCSI_UFSHCD_PLATFORM b/baseconfig/arm/CONFIG_SCSI_UFSHCD_PLATFORM new file mode 100644 index 000000000..59f9929cd --- /dev/null +++ b/baseconfig/arm/CONFIG_SCSI_UFSHCD_PLATFORM @@ -0,0 +1 @@ +CONFIG_SCSI_UFSHCD_PLATFORM=m diff --git a/baseconfig/arm/CONFIG_SCSI_UFS_QCOM b/baseconfig/arm/CONFIG_SCSI_UFS_QCOM new file mode 100644 index 000000000..9f663a316 --- /dev/null +++ b/baseconfig/arm/CONFIG_SCSI_UFS_QCOM @@ -0,0 +1 @@ +CONFIG_SCSI_UFS_QCOM=m diff --git a/baseconfig/arm/CONFIG_SD_ADC_MODULATOR b/baseconfig/arm/CONFIG_SD_ADC_MODULATOR new file mode 100644 index 000000000..de78e1d14 --- /dev/null +++ b/baseconfig/arm/CONFIG_SD_ADC_MODULATOR @@ -0,0 +1 @@ +CONFIG_SD_ADC_MODULATOR=m diff --git a/baseconfig/arm/CONFIG_SIMPLE_PM_BUS b/baseconfig/arm/CONFIG_SIMPLE_PM_BUS new file mode 100644 index 000000000..3cc21476a --- /dev/null +++ b/baseconfig/arm/CONFIG_SIMPLE_PM_BUS @@ -0,0 +1 @@ +CONFIG_SIMPLE_PM_BUS=y diff --git a/baseconfig/arm/CONFIG_SLIMBUS b/baseconfig/arm/CONFIG_SLIMBUS new file mode 100644 index 000000000..6b6eac17c --- /dev/null +++ b/baseconfig/arm/CONFIG_SLIMBUS @@ -0,0 +1 @@ +CONFIG_SLIMBUS=m diff --git a/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL b/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL new file mode 100644 index 000000000..ea353222f --- /dev/null +++ b/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL @@ -0,0 +1 @@ +CONFIG_SLIM_QCOM_CTRL=m diff --git a/baseconfig/arm/CONFIG_SND_AUDIO_GRAPH_CARD b/baseconfig/arm/CONFIG_SND_AUDIO_GRAPH_CARD new file mode 100644 index 000000000..01b3c1590 --- /dev/null +++ b/baseconfig/arm/CONFIG_SND_AUDIO_GRAPH_CARD @@ -0,0 +1 @@ +CONFIG_SND_AUDIO_GRAPH_CARD=m diff --git a/baseconfig/arm/CONFIG_SND_SOC_ROCKCHIP_PDM b/baseconfig/arm/CONFIG_SND_SOC_ROCKCHIP_PDM new file mode 100644 index 000000000..858c70c98 --- /dev/null +++ b/baseconfig/arm/CONFIG_SND_SOC_ROCKCHIP_PDM @@ -0,0 +1 @@ +CONFIG_SND_SOC_ROCKCHIP_PDM=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_AC97 b/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_AC97 similarity index 100% rename from baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_AC97 rename to baseconfig/arm/CONFIG_SND_SOC_TEGRA20_AC97 diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_DAS b/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_DAS similarity index 100% rename from baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_DAS rename to baseconfig/arm/CONFIG_SND_SOC_TEGRA20_DAS diff --git a/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S b/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S new file mode 100644 index 000000000..abfe22877 --- /dev/null +++ b/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S @@ -0,0 +1 @@ +CONFIG_SND_SOC_TEGRA20_I2S=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_SPDIF b/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_SPDIF similarity index 100% rename from baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_SPDIF rename to baseconfig/arm/CONFIG_SND_SOC_TEGRA20_SPDIF diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_AHUB b/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_AHUB similarity index 100% rename from baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_AHUB rename to baseconfig/arm/CONFIG_SND_SOC_TEGRA30_AHUB diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_I2S b/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_I2S similarity index 100% rename from baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_I2S rename to baseconfig/arm/CONFIG_SND_SOC_TEGRA30_I2S diff --git a/baseconfig/arm/CONFIG_SOC_BRCMSTB b/baseconfig/arm/CONFIG_SOC_BRCMSTB new file mode 100644 index 000000000..7b8f8dcbb --- /dev/null +++ b/baseconfig/arm/CONFIG_SOC_BRCMSTB @@ -0,0 +1 @@ +# CONFIG_SOC_BRCMSTB is not set diff --git a/baseconfig/arm/CONFIG_SPI_CADENCE b/baseconfig/arm/CONFIG_SPI_CADENCE index 78e16ec97..3a8bb168c 100644 --- a/baseconfig/arm/CONFIG_SPI_CADENCE +++ b/baseconfig/arm/CONFIG_SPI_CADENCE @@ -1 +1 @@ -# CONFIG_SPI_CADENCE is not set +CONFIG_SPI_CADENCE=m diff --git a/baseconfig/arm/CONFIG_SPI_MESON_SPICC b/baseconfig/arm/CONFIG_SPI_MESON_SPICC new file mode 100644 index 000000000..c78be8577 --- /dev/null +++ b/baseconfig/arm/CONFIG_SPI_MESON_SPICC @@ -0,0 +1 @@ +# CONFIG_SPI_MESON_SPICC is not set diff --git a/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV b/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV new file mode 100644 index 000000000..2b11b2de7 --- /dev/null +++ b/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV @@ -0,0 +1 @@ +CONFIG_SPMI_PMIC_CLKDIV=m diff --git a/baseconfig/arm/CONFIG_SUN50I_A64_CCU b/baseconfig/arm/CONFIG_SUN50I_A64_CCU deleted file mode 100644 index 9ce6c792a..000000000 --- a/baseconfig/arm/CONFIG_SUN50I_A64_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN50I_A64_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN5I_CCU b/baseconfig/arm/CONFIG_SUN5I_CCU deleted file mode 100644 index 26856d6b2..000000000 --- a/baseconfig/arm/CONFIG_SUN5I_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN5I_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN6I_A31_CCU b/baseconfig/arm/CONFIG_SUN6I_A31_CCU deleted file mode 100644 index 5ce1bb3f7..000000000 --- a/baseconfig/arm/CONFIG_SUN6I_A31_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN6I_A31_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_A23_CCU b/baseconfig/arm/CONFIG_SUN8I_A23_CCU deleted file mode 100644 index 26ae1100c..000000000 --- a/baseconfig/arm/CONFIG_SUN8I_A23_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN8I_A23_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_A33_CCU b/baseconfig/arm/CONFIG_SUN8I_A33_CCU deleted file mode 100644 index e1a357ee8..000000000 --- a/baseconfig/arm/CONFIG_SUN8I_A33_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN8I_A33_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_A83T_CCU b/baseconfig/arm/CONFIG_SUN8I_A83T_CCU new file mode 100644 index 000000000..9f34630e8 --- /dev/null +++ b/baseconfig/arm/CONFIG_SUN8I_A83T_CCU @@ -0,0 +1 @@ +# CONFIG_SUN8I_A83T_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_DE2_CCU b/baseconfig/arm/CONFIG_SUN8I_DE2_CCU new file mode 100644 index 000000000..41a3847ad --- /dev/null +++ b/baseconfig/arm/CONFIG_SUN8I_DE2_CCU @@ -0,0 +1 @@ +# CONFIG_SUN8I_DE2_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUN8I_H3_CCU b/baseconfig/arm/CONFIG_SUN8I_H3_CCU index 02cfb2c97..542d6fc7d 100644 --- a/baseconfig/arm/CONFIG_SUN8I_H3_CCU +++ b/baseconfig/arm/CONFIG_SUN8I_H3_CCU @@ -1 +1 @@ -# CONFIG_SUN8I_H3_CCU is not set +CONFIG_SUN8I_H3_CCU=y diff --git a/baseconfig/arm/CONFIG_SUN8I_R_CCU b/baseconfig/arm/CONFIG_SUN8I_R_CCU new file mode 100644 index 000000000..0b88df0dc --- /dev/null +++ b/baseconfig/arm/CONFIG_SUN8I_R_CCU @@ -0,0 +1 @@ +CONFIG_SUN8I_R_CCU=y diff --git a/baseconfig/arm/CONFIG_SUN9I_A80_CCU b/baseconfig/arm/CONFIG_SUN9I_A80_CCU deleted file mode 100644 index 82686b27e..000000000 --- a/baseconfig/arm/CONFIG_SUN9I_A80_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN9I_A80_CCU is not set diff --git a/baseconfig/arm/CONFIG_SUNXI_CCU b/baseconfig/arm/CONFIG_SUNXI_CCU deleted file mode 100644 index a383113ef..000000000 --- a/baseconfig/arm/CONFIG_SUNXI_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUNXI_CCU is not set diff --git a/baseconfig/arm/armv7/CONFIG_SUNXI_SRAM b/baseconfig/arm/CONFIG_SUNXI_SRAM similarity index 100% rename from baseconfig/arm/armv7/CONFIG_SUNXI_SRAM rename to baseconfig/arm/CONFIG_SUNXI_SRAM diff --git a/baseconfig/arm/CONFIG_TEGRA_BPMP b/baseconfig/arm/CONFIG_TEGRA_BPMP index 348002b0b..9127d3c57 100644 --- a/baseconfig/arm/CONFIG_TEGRA_BPMP +++ b/baseconfig/arm/CONFIG_TEGRA_BPMP @@ -1 +1 @@ -CONFIG_TEGRA_BPMP=y +# CONFIG_TEGRA_BPMP is not set diff --git a/baseconfig/arm/CONFIG_TEGRA_HSP_MBOX b/baseconfig/arm/CONFIG_TEGRA_HSP_MBOX index 3d46b7c93..54f071b05 100644 --- a/baseconfig/arm/CONFIG_TEGRA_HSP_MBOX +++ b/baseconfig/arm/CONFIG_TEGRA_HSP_MBOX @@ -1 +1 @@ -CONFIG_TEGRA_HSP_MBOX=y +# CONFIG_TEGRA_HSP_MBOX is not set diff --git a/baseconfig/arm/CONFIG_TEGRA_VDE b/baseconfig/arm/CONFIG_TEGRA_VDE new file mode 100644 index 000000000..1b373e8f2 --- /dev/null +++ b/baseconfig/arm/CONFIG_TEGRA_VDE @@ -0,0 +1 @@ +CONFIG_TEGRA_VDE=m diff --git a/baseconfig/arm/CONFIG_TINYDRM_ILI9225 b/baseconfig/arm/CONFIG_TINYDRM_ILI9225 new file mode 100644 index 000000000..3f9d07d4e --- /dev/null +++ b/baseconfig/arm/CONFIG_TINYDRM_ILI9225 @@ -0,0 +1 @@ +CONFIG_TINYDRM_ILI9225=m diff --git a/baseconfig/arm/CONFIG_TINYDRM_REPAPER b/baseconfig/arm/CONFIG_TINYDRM_REPAPER new file mode 100644 index 000000000..c4d2874fa --- /dev/null +++ b/baseconfig/arm/CONFIG_TINYDRM_REPAPER @@ -0,0 +1 @@ +# CONFIG_TINYDRM_REPAPER is not set diff --git a/baseconfig/arm/CONFIG_TINYDRM_ST7586 b/baseconfig/arm/CONFIG_TINYDRM_ST7586 new file mode 100644 index 000000000..2b9e29f63 --- /dev/null +++ b/baseconfig/arm/CONFIG_TINYDRM_ST7586 @@ -0,0 +1 @@ +# CONFIG_TINYDRM_ST7586 is not set diff --git a/baseconfig/arm/CONFIG_TINYDRM_ST7735R b/baseconfig/arm/CONFIG_TINYDRM_ST7735R new file mode 100644 index 000000000..89c0fd568 --- /dev/null +++ b/baseconfig/arm/CONFIG_TINYDRM_ST7735R @@ -0,0 +1 @@ +CONFIG_TINYDRM_ST7735R=m diff --git a/baseconfig/arm/CONFIG_TI_SCI_CLK b/baseconfig/arm/CONFIG_TI_SCI_CLK new file mode 100644 index 000000000..1cf634689 --- /dev/null +++ b/baseconfig/arm/CONFIG_TI_SCI_CLK @@ -0,0 +1 @@ +# CONFIG_TI_SCI_CLK is not set diff --git a/baseconfig/arm/CONFIG_UFS_FS b/baseconfig/arm/CONFIG_UFS_FS deleted file mode 100644 index 768c9ac9e..000000000 --- a/baseconfig/arm/CONFIG_UFS_FS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_UFS_FS is not set diff --git a/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA b/baseconfig/arm/CONFIG_USB_CHIPIDEA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA rename to baseconfig/arm/CONFIG_USB_CHIPIDEA diff --git a/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_HOST b/baseconfig/arm/CONFIG_USB_CHIPIDEA_HOST similarity index 100% rename from baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_HOST rename to baseconfig/arm/CONFIG_USB_CHIPIDEA_HOST diff --git a/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_UDC b/baseconfig/arm/CONFIG_USB_CHIPIDEA_UDC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_UDC rename to baseconfig/arm/CONFIG_USB_CHIPIDEA_UDC diff --git a/baseconfig/arm/armv7/CONFIG_TWL4030_CORE b/baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI similarity index 81% rename from baseconfig/arm/armv7/CONFIG_TWL4030_CORE rename to baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI index 1f5b92782..d1a5cf9eb 100644 --- a/baseconfig/arm/armv7/CONFIG_TWL4030_CORE +++ b/baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI @@ -1 +1 @@ -# CONFIG_TWL4030_CORE is not set +CONFIG_USB_CHIPIDEA_ULPI=y diff --git a/baseconfig/arm/CONFIG_USB_CONFIGFS_F_HID b/baseconfig/arm/CONFIG_USB_CONFIGFS_F_HID index c356c63ef..d8173d6b6 100644 --- a/baseconfig/arm/CONFIG_USB_CONFIGFS_F_HID +++ b/baseconfig/arm/CONFIG_USB_CONFIGFS_F_HID @@ -1 +1 @@ -# CONFIG_USB_CONFIGFS_F_HID is not set +CONFIG_USB_CONFIGFS_F_HID=y diff --git a/baseconfig/arm/armv7/CONFIG_USB_EHCI_HCD_ORION b/baseconfig/arm/CONFIG_USB_EHCI_HCD_ORION similarity index 100% rename from baseconfig/arm/armv7/CONFIG_USB_EHCI_HCD_ORION rename to baseconfig/arm/CONFIG_USB_EHCI_HCD_ORION diff --git a/baseconfig/arm/arm64/CONFIG_USB_MUSB_SUNXI b/baseconfig/arm/CONFIG_USB_MUSB_SUNXI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_USB_MUSB_SUNXI rename to baseconfig/arm/CONFIG_USB_MUSB_SUNXI diff --git a/baseconfig/arm/CONFIG_USB_OTG_FSM b/baseconfig/arm/CONFIG_USB_OTG_FSM new file mode 100644 index 000000000..6dc1aac25 --- /dev/null +++ b/baseconfig/arm/CONFIG_USB_OTG_FSM @@ -0,0 +1 @@ +CONFIG_USB_OTG_FSM=m diff --git a/baseconfig/arm/CONFIG_USB_TEGRA_PHY b/baseconfig/arm/CONFIG_USB_TEGRA_PHY new file mode 100644 index 000000000..8f324a3c0 --- /dev/null +++ b/baseconfig/arm/CONFIG_USB_TEGRA_PHY @@ -0,0 +1 @@ +CONFIG_USB_TEGRA_PHY=m diff --git a/baseconfig/arm/CONFIG_VIDEO_BCM2835 b/baseconfig/arm/CONFIG_VIDEO_BCM2835 new file mode 100644 index 000000000..192fdf645 --- /dev/null +++ b/baseconfig/arm/CONFIG_VIDEO_BCM2835 @@ -0,0 +1 @@ +# CONFIG_VIDEO_BCM2835 is not set diff --git a/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC b/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC new file mode 100644 index 000000000..499a44076 --- /dev/null +++ b/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC @@ -0,0 +1 @@ +CONFIG_VIDEO_MESON_AO_CEC=m diff --git a/baseconfig/arm/CONFIG_VIDEO_ROCKCHIP_RGA b/baseconfig/arm/CONFIG_VIDEO_ROCKCHIP_RGA new file mode 100644 index 000000000..433e78fa5 --- /dev/null +++ b/baseconfig/arm/CONFIG_VIDEO_ROCKCHIP_RGA @@ -0,0 +1 @@ +CONFIG_VIDEO_ROCKCHIP_RGA=m diff --git a/baseconfig/arm/CONFIG_VIDEO_TEGRA_HDMI_CEC b/baseconfig/arm/CONFIG_VIDEO_TEGRA_HDMI_CEC new file mode 100644 index 000000000..01064a677 --- /dev/null +++ b/baseconfig/arm/CONFIG_VIDEO_TEGRA_HDMI_CEC @@ -0,0 +1 @@ +CONFIG_VIDEO_TEGRA_HDMI_CEC=m diff --git a/baseconfig/arm/arm64/CONFIG_64BIT b/baseconfig/arm/aarch64/CONFIG_64BIT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_64BIT rename to baseconfig/arm/aarch64/CONFIG_64BIT diff --git a/baseconfig/arm/arm64/CONFIG_ACPI b/baseconfig/arm/aarch64/CONFIG_ACPI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI rename to baseconfig/arm/aarch64/CONFIG_ACPI diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_APEI b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_APEI rename to baseconfig/arm/aarch64/CONFIG_ACPI_APEI diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_APEI_EINJ b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_EINJ similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_APEI_EINJ rename to baseconfig/arm/aarch64/CONFIG_ACPI_APEI_EINJ diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_APEI_ERST_DEBUG b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_ERST_DEBUG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_APEI_ERST_DEBUG rename to baseconfig/arm/aarch64/CONFIG_ACPI_APEI_ERST_DEBUG diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_APEI_GHES b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_GHES similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_APEI_GHES rename to baseconfig/arm/aarch64/CONFIG_ACPI_APEI_GHES diff --git a/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_MEMORY_FAILURE b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_MEMORY_FAILURE new file mode 100644 index 000000000..46aa1579f --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_MEMORY_FAILURE @@ -0,0 +1 @@ +CONFIG_ACPI_APEI_MEMORY_FAILURE=y diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_APEI_PCIEAER b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_PCIEAER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_APEI_PCIEAER rename to baseconfig/arm/aarch64/CONFIG_ACPI_APEI_PCIEAER diff --git a/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_SEA b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_SEA new file mode 100644 index 000000000..db573ffb8 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ACPI_APEI_SEA @@ -0,0 +1 @@ +CONFIG_ACPI_APEI_SEA=y diff --git a/baseconfig/arm/aarch64/CONFIG_ACPI_BGRT b/baseconfig/arm/aarch64/CONFIG_ACPI_BGRT new file mode 100644 index 000000000..13035dd82 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ACPI_BGRT @@ -0,0 +1 @@ +CONFIG_ACPI_BGRT=y diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_BUTTON b/baseconfig/arm/aarch64/CONFIG_ACPI_BUTTON similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_BUTTON rename to baseconfig/arm/aarch64/CONFIG_ACPI_BUTTON diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_CONFIGFS b/baseconfig/arm/aarch64/CONFIG_ACPI_CONFIGFS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_CONFIGFS rename to baseconfig/arm/aarch64/CONFIG_ACPI_CONFIGFS diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_CONTAINER b/baseconfig/arm/aarch64/CONFIG_ACPI_CONTAINER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_CONTAINER rename to baseconfig/arm/aarch64/CONFIG_ACPI_CONTAINER diff --git a/baseconfig/arm/aarch64/CONFIG_ACPI_CPPC_CPUFREQ b/baseconfig/arm/aarch64/CONFIG_ACPI_CPPC_CPUFREQ new file mode 100644 index 000000000..5cc88132a --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ACPI_CPPC_CPUFREQ @@ -0,0 +1 @@ +CONFIG_ACPI_CPPC_CPUFREQ=m diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_CUSTOM_METHOD b/baseconfig/arm/aarch64/CONFIG_ACPI_CUSTOM_METHOD similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_CUSTOM_METHOD rename to baseconfig/arm/aarch64/CONFIG_ACPI_CUSTOM_METHOD diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_DOCK b/baseconfig/arm/aarch64/CONFIG_ACPI_DOCK similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_DOCK rename to baseconfig/arm/aarch64/CONFIG_ACPI_DOCK diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_EC_DEBUGFS b/baseconfig/arm/aarch64/CONFIG_ACPI_EC_DEBUGFS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_EC_DEBUGFS rename to baseconfig/arm/aarch64/CONFIG_ACPI_EC_DEBUGFS diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_FAN b/baseconfig/arm/aarch64/CONFIG_ACPI_FAN similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_FAN rename to baseconfig/arm/aarch64/CONFIG_ACPI_FAN diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_HED b/baseconfig/arm/aarch64/CONFIG_ACPI_HED similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_HED rename to baseconfig/arm/aarch64/CONFIG_ACPI_HED diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_I2C_OPREGION b/baseconfig/arm/aarch64/CONFIG_ACPI_I2C_OPREGION similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_I2C_OPREGION rename to baseconfig/arm/aarch64/CONFIG_ACPI_I2C_OPREGION diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_IPMI b/baseconfig/arm/aarch64/CONFIG_ACPI_IPMI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_IPMI rename to baseconfig/arm/aarch64/CONFIG_ACPI_IPMI diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_NFIT b/baseconfig/arm/aarch64/CONFIG_ACPI_NFIT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_NFIT rename to baseconfig/arm/aarch64/CONFIG_ACPI_NFIT diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_NFIT_DEBUG b/baseconfig/arm/aarch64/CONFIG_ACPI_NFIT_DEBUG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_NFIT_DEBUG rename to baseconfig/arm/aarch64/CONFIG_ACPI_NFIT_DEBUG diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_NUMA b/baseconfig/arm/aarch64/CONFIG_ACPI_NUMA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_NUMA rename to baseconfig/arm/aarch64/CONFIG_ACPI_NUMA diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_PROCESSOR b/baseconfig/arm/aarch64/CONFIG_ACPI_PROCESSOR similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_PROCESSOR rename to baseconfig/arm/aarch64/CONFIG_ACPI_PROCESSOR diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_PROCFS_POWER b/baseconfig/arm/aarch64/CONFIG_ACPI_PROCFS_POWER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_PROCFS_POWER rename to baseconfig/arm/aarch64/CONFIG_ACPI_PROCFS_POWER diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_TABLE_UPGRADE b/baseconfig/arm/aarch64/CONFIG_ACPI_TABLE_UPGRADE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_TABLE_UPGRADE rename to baseconfig/arm/aarch64/CONFIG_ACPI_TABLE_UPGRADE diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_THERMAL b/baseconfig/arm/aarch64/CONFIG_ACPI_THERMAL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_THERMAL rename to baseconfig/arm/aarch64/CONFIG_ACPI_THERMAL diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_WATCHDOG b/baseconfig/arm/aarch64/CONFIG_ACPI_WATCHDOG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ACPI_WATCHDOG rename to baseconfig/arm/aarch64/CONFIG_ACPI_WATCHDOG diff --git a/baseconfig/arm/arm64/CONFIG_AHCI_SUNXI b/baseconfig/arm/aarch64/CONFIG_AHCI_SUNXI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AHCI_SUNXI rename to baseconfig/arm/aarch64/CONFIG_AHCI_SUNXI diff --git a/baseconfig/arm/arm64/CONFIG_AHCI_XGENE b/baseconfig/arm/aarch64/CONFIG_AHCI_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AHCI_XGENE rename to baseconfig/arm/aarch64/CONFIG_AHCI_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_AMBA_PL08X b/baseconfig/arm/aarch64/CONFIG_AMBA_PL08X similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AMBA_PL08X rename to baseconfig/arm/aarch64/CONFIG_AMBA_PL08X diff --git a/baseconfig/arm/arm64/CONFIG_AMD_XGBE b/baseconfig/arm/aarch64/CONFIG_AMD_XGBE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AMD_XGBE rename to baseconfig/arm/aarch64/CONFIG_AMD_XGBE diff --git a/baseconfig/arm/arm64/CONFIG_AMD_XGBE_DCB b/baseconfig/arm/aarch64/CONFIG_AMD_XGBE_DCB similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AMD_XGBE_DCB rename to baseconfig/arm/aarch64/CONFIG_AMD_XGBE_DCB diff --git a/baseconfig/arm/aarch64/CONFIG_APQ_GCC_8084 b/baseconfig/arm/aarch64/CONFIG_APQ_GCC_8084 new file mode 100644 index 000000000..bacb61e5e --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_APQ_GCC_8084 @@ -0,0 +1 @@ +CONFIG_APQ_GCC_8084=y diff --git a/baseconfig/arm/arm64/CONFIG_APQ_MMCC_8084 b/baseconfig/arm/aarch64/CONFIG_APQ_MMCC_8084 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_APQ_MMCC_8084 rename to baseconfig/arm/aarch64/CONFIG_APQ_MMCC_8084 diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_ALPINE b/baseconfig/arm/aarch64/CONFIG_ARCH_ALPINE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_ALPINE rename to baseconfig/arm/aarch64/CONFIG_ARCH_ALPINE diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_BERLIN b/baseconfig/arm/aarch64/CONFIG_ARCH_BERLIN similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_BERLIN rename to baseconfig/arm/aarch64/CONFIG_ARCH_BERLIN diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_EXYNOS b/baseconfig/arm/aarch64/CONFIG_ARCH_EXYNOS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_EXYNOS rename to baseconfig/arm/aarch64/CONFIG_ARCH_EXYNOS diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_HAS_HOLES_MEMORYMODEL b/baseconfig/arm/aarch64/CONFIG_ARCH_HAS_HOLES_MEMORYMODEL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_HAS_HOLES_MEMORYMODEL rename to baseconfig/arm/aarch64/CONFIG_ARCH_HAS_HOLES_MEMORYMODEL diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_HISI b/baseconfig/arm/aarch64/CONFIG_ARCH_HISI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_HISI rename to baseconfig/arm/aarch64/CONFIG_ARCH_HISI diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_LAYERSCAPE b/baseconfig/arm/aarch64/CONFIG_ARCH_LAYERSCAPE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_LAYERSCAPE rename to baseconfig/arm/aarch64/CONFIG_ARCH_LAYERSCAPE diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_LG1K b/baseconfig/arm/aarch64/CONFIG_ARCH_LG1K similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_LG1K rename to baseconfig/arm/aarch64/CONFIG_ARCH_LG1K diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_MEDIATEK b/baseconfig/arm/aarch64/CONFIG_ARCH_MEDIATEK similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_MEDIATEK rename to baseconfig/arm/aarch64/CONFIG_ARCH_MEDIATEK diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_QCOM b/baseconfig/arm/aarch64/CONFIG_ARCH_QCOM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_QCOM rename to baseconfig/arm/aarch64/CONFIG_ARCH_QCOM diff --git a/baseconfig/arm/aarch64/CONFIG_ARCH_REALTEK b/baseconfig/arm/aarch64/CONFIG_ARCH_REALTEK new file mode 100644 index 000000000..49536f6d5 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARCH_REALTEK @@ -0,0 +1 @@ +# CONFIG_ARCH_REALTEK is not set diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_RENESAS b/baseconfig/arm/aarch64/CONFIG_ARCH_RENESAS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_RENESAS rename to baseconfig/arm/aarch64/CONFIG_ARCH_RENESAS diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_SEATTLE b/baseconfig/arm/aarch64/CONFIG_ARCH_SEATTLE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_SEATTLE rename to baseconfig/arm/aarch64/CONFIG_ARCH_SEATTLE diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_SPRD b/baseconfig/arm/aarch64/CONFIG_ARCH_SPRD similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_SPRD rename to baseconfig/arm/aarch64/CONFIG_ARCH_SPRD diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_STRATIX10 b/baseconfig/arm/aarch64/CONFIG_ARCH_STRATIX10 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_STRATIX10 rename to baseconfig/arm/aarch64/CONFIG_ARCH_STRATIX10 diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_SUNXI b/baseconfig/arm/aarch64/CONFIG_ARCH_SUNXI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_SUNXI rename to baseconfig/arm/aarch64/CONFIG_ARCH_SUNXI diff --git a/baseconfig/arm/aarch64/CONFIG_ARCH_SYNQUACER b/baseconfig/arm/aarch64/CONFIG_ARCH_SYNQUACER new file mode 100644 index 000000000..e1902121d --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARCH_SYNQUACER @@ -0,0 +1 @@ +CONFIG_ARCH_SYNQUACER=y diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA b/baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_TEGRA rename to baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_132_SOC b/baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA_132_SOC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_132_SOC rename to baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA_132_SOC diff --git a/baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA_186_SOC b/baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA_186_SOC new file mode 100644 index 000000000..1cafdb24f --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA_186_SOC @@ -0,0 +1 @@ +CONFIG_ARCH_TEGRA_186_SOC=y diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_210_SOC b/baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA_210_SOC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_210_SOC rename to baseconfig/arm/aarch64/CONFIG_ARCH_TEGRA_210_SOC diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_THUNDER b/baseconfig/arm/aarch64/CONFIG_ARCH_THUNDER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_THUNDER rename to baseconfig/arm/aarch64/CONFIG_ARCH_THUNDER diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_THUNDER2 b/baseconfig/arm/aarch64/CONFIG_ARCH_THUNDER2 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_THUNDER2 rename to baseconfig/arm/aarch64/CONFIG_ARCH_THUNDER2 diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_UNIPHIER b/baseconfig/arm/aarch64/CONFIG_ARCH_UNIPHIER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_UNIPHIER rename to baseconfig/arm/aarch64/CONFIG_ARCH_UNIPHIER diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_XGENE b/baseconfig/arm/aarch64/CONFIG_ARCH_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_XGENE rename to baseconfig/arm/aarch64/CONFIG_ARCH_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_ZX b/baseconfig/arm/aarch64/CONFIG_ARCH_ZX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARCH_ZX rename to baseconfig/arm/aarch64/CONFIG_ARCH_ZX diff --git a/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP b/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP new file mode 100644 index 000000000..59df22f3c --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP @@ -0,0 +1 @@ +CONFIG_ARCH_ZYNQMP=y diff --git a/baseconfig/arm/arm64/CONFIG_ARM64 b/baseconfig/arm/aarch64/CONFIG_ARM64 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64 rename to baseconfig/arm/aarch64/CONFIG_ARM64 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_4K_PAGES b/baseconfig/arm/aarch64/CONFIG_ARM64_4K_PAGES similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_4K_PAGES rename to baseconfig/arm/aarch64/CONFIG_ARM64_4K_PAGES diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ACPI_PARKING_PROTOCOL b/baseconfig/arm/aarch64/CONFIG_ARM64_ACPI_PARKING_PROTOCOL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ACPI_PARKING_PROTOCOL rename to baseconfig/arm/aarch64/CONFIG_ARM64_ACPI_PARKING_PROTOCOL diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_CRYPTO b/baseconfig/arm/aarch64/CONFIG_ARM64_CRYPTO similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_CRYPTO rename to baseconfig/arm/aarch64/CONFIG_ARM64_CRYPTO diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_1024718 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_1024718 new file mode 100644 index 000000000..1c8f6ffc8 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_1024718 @@ -0,0 +1 @@ +CONFIG_ARM64_ERRATUM_1024718=y diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_819472 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_819472 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_819472 rename to baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_819472 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_824069 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_824069 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_824069 rename to baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_824069 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_826319 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_826319 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_826319 rename to baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_826319 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_827319 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_827319 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_827319 rename to baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_827319 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_832075 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_832075 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_832075 rename to baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_832075 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_834220 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_834220 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_834220 rename to baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_834220 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_843419 b/baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_843419 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_ERRATUM_843419 rename to baseconfig/arm/aarch64/CONFIG_ARM64_ERRATUM_843419 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_HW_AFDBM b/baseconfig/arm/aarch64/CONFIG_ARM64_HW_AFDBM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_HW_AFDBM rename to baseconfig/arm/aarch64/CONFIG_ARM64_HW_AFDBM diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_LSE_ATOMICS b/baseconfig/arm/aarch64/CONFIG_ARM64_LSE_ATOMICS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_LSE_ATOMICS rename to baseconfig/arm/aarch64/CONFIG_ARM64_LSE_ATOMICS diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_PAN b/baseconfig/arm/aarch64/CONFIG_ARM64_PAN similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_PAN rename to baseconfig/arm/aarch64/CONFIG_ARM64_PAN diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM b/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM new file mode 100644 index 000000000..f2e1b130f --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM @@ -0,0 +1 @@ +CONFIG_ARM64_PMEM=y diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_PTDUMP b/baseconfig/arm/aarch64/CONFIG_ARM64_PTDUMP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_PTDUMP rename to baseconfig/arm/aarch64/CONFIG_ARM64_PTDUMP diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_PTDUMP_DEBUGFS b/baseconfig/arm/aarch64/CONFIG_ARM64_PTDUMP_DEBUGFS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_PTDUMP_DEBUGFS rename to baseconfig/arm/aarch64/CONFIG_ARM64_PTDUMP_DEBUGFS diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET b/baseconfig/arm/aarch64/CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET rename to baseconfig/arm/aarch64/CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN b/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN new file mode 100644 index 000000000..b664a0de1 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN @@ -0,0 +1 @@ +CONFIG_ARM64_RAS_EXTN=y diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_RELOC_TEST b/baseconfig/arm/aarch64/CONFIG_ARM64_RELOC_TEST new file mode 100644 index 000000000..864fc6a6b --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_RELOC_TEST @@ -0,0 +1 @@ +# CONFIG_ARM64_RELOC_TEST is not set diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_SVE b/baseconfig/arm/aarch64/CONFIG_ARM64_SVE new file mode 100644 index 000000000..cbb647e27 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_SVE @@ -0,0 +1 @@ +CONFIG_ARM64_SVE=y diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_SW_TTBR0_PAN b/baseconfig/arm/aarch64/CONFIG_ARM64_SW_TTBR0_PAN new file mode 100644 index 000000000..294c8ec50 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM64_SW_TTBR0_PAN @@ -0,0 +1 @@ +CONFIG_ARM64_SW_TTBR0_PAN=y diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_UAO b/baseconfig/arm/aarch64/CONFIG_ARM64_UAO similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_UAO rename to baseconfig/arm/aarch64/CONFIG_ARM64_UAO diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_VA_BITS b/baseconfig/arm/aarch64/CONFIG_ARM64_VA_BITS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_VA_BITS rename to baseconfig/arm/aarch64/CONFIG_ARM64_VA_BITS diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_VA_BITS_48 b/baseconfig/arm/aarch64/CONFIG_ARM64_VA_BITS_48 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_VA_BITS_48 rename to baseconfig/arm/aarch64/CONFIG_ARM64_VA_BITS_48 diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_VHE b/baseconfig/arm/aarch64/CONFIG_ARM64_VHE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM64_VHE rename to baseconfig/arm/aarch64/CONFIG_ARM64_VHE diff --git a/baseconfig/arm/arm64/CONFIG_ARMADA_AP806_SYSCON b/baseconfig/arm/aarch64/CONFIG_ARMADA_AP806_SYSCON similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARMADA_AP806_SYSCON rename to baseconfig/arm/aarch64/CONFIG_ARMADA_AP806_SYSCON diff --git a/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU b/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU new file mode 100644 index 000000000..383292c89 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU @@ -0,0 +1 @@ +CONFIG_ARM_DSU_PMU=m diff --git a/baseconfig/arm/arm64/CONFIG_ARM_SBSA_WATCHDOG b/baseconfig/arm/aarch64/CONFIG_ARM_SBSA_WATCHDOG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM_SBSA_WATCHDOG rename to baseconfig/arm/aarch64/CONFIG_ARM_SBSA_WATCHDOG diff --git a/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE b/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE new file mode 100644 index 000000000..b33609158 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE @@ -0,0 +1 @@ +CONFIG_ARM_SDE_INTERFACE=y diff --git a/baseconfig/arm/arm64/CONFIG_ARM_SMMU_V3 b/baseconfig/arm/aarch64/CONFIG_ARM_SMMU_V3 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM_SMMU_V3 rename to baseconfig/arm/aarch64/CONFIG_ARM_SMMU_V3 diff --git a/baseconfig/arm/aarch64/CONFIG_ARM_TEGRA186_CPUFREQ b/baseconfig/arm/aarch64/CONFIG_ARM_TEGRA186_CPUFREQ new file mode 100644 index 000000000..f0e165dfb --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_ARM_TEGRA186_CPUFREQ @@ -0,0 +1 @@ +CONFIG_ARM_TEGRA186_CPUFREQ=m diff --git a/baseconfig/arm/arm64/CONFIG_ARM_TEGRA_DEVFREQ b/baseconfig/arm/aarch64/CONFIG_ARM_TEGRA_DEVFREQ similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ARM_TEGRA_DEVFREQ rename to baseconfig/arm/aarch64/CONFIG_ARM_TEGRA_DEVFREQ diff --git a/baseconfig/arm/aarch64/CONFIG_AXP20X_ADC b/baseconfig/arm/aarch64/CONFIG_AXP20X_ADC new file mode 100644 index 000000000..025239f25 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_AXP20X_ADC @@ -0,0 +1 @@ +CONFIG_AXP20X_ADC=m diff --git a/baseconfig/arm/arm64/CONFIG_AXP20X_POWER b/baseconfig/arm/aarch64/CONFIG_AXP20X_POWER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AXP20X_POWER rename to baseconfig/arm/aarch64/CONFIG_AXP20X_POWER diff --git a/baseconfig/arm/arm64/CONFIG_AXP288_ADC b/baseconfig/arm/aarch64/CONFIG_AXP288_ADC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AXP288_ADC rename to baseconfig/arm/aarch64/CONFIG_AXP288_ADC diff --git a/baseconfig/arm/arm64/CONFIG_AXP288_CHARGER b/baseconfig/arm/aarch64/CONFIG_AXP288_CHARGER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AXP288_CHARGER rename to baseconfig/arm/aarch64/CONFIG_AXP288_CHARGER diff --git a/baseconfig/arm/arm64/CONFIG_AXP288_FUEL_GAUGE b/baseconfig/arm/aarch64/CONFIG_AXP288_FUEL_GAUGE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_AXP288_FUEL_GAUGE rename to baseconfig/arm/aarch64/CONFIG_AXP288_FUEL_GAUGE diff --git a/baseconfig/arm/aarch64/CONFIG_BATTERY_AXP20X b/baseconfig/arm/aarch64/CONFIG_BATTERY_AXP20X new file mode 100644 index 000000000..75591a277 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_BATTERY_AXP20X @@ -0,0 +1 @@ +CONFIG_BATTERY_AXP20X=m diff --git a/baseconfig/arm/arm64/CONFIG_BCMA_POSSIBLE b/baseconfig/arm/aarch64/CONFIG_BCMA_POSSIBLE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_BCMA_POSSIBLE rename to baseconfig/arm/aarch64/CONFIG_BCMA_POSSIBLE diff --git a/baseconfig/arm/arm64/CONFIG_BCM_PDC_MBOX b/baseconfig/arm/aarch64/CONFIG_BCM_PDC_MBOX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_BCM_PDC_MBOX rename to baseconfig/arm/aarch64/CONFIG_BCM_PDC_MBOX diff --git a/baseconfig/arm/arm64/CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE b/baseconfig/arm/aarch64/CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE rename to baseconfig/arm/aarch64/CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE diff --git a/baseconfig/arm/arm64/CONFIG_BRCMUTIL b/baseconfig/arm/aarch64/CONFIG_BRCMUTIL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_BRCMUTIL rename to baseconfig/arm/aarch64/CONFIG_BRCMUTIL diff --git a/baseconfig/arm/arm64/CONFIG_BTT b/baseconfig/arm/aarch64/CONFIG_BTT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_BTT rename to baseconfig/arm/aarch64/CONFIG_BTT diff --git a/baseconfig/arm/aarch64/CONFIG_BT_QCOMSMD b/baseconfig/arm/aarch64/CONFIG_BT_QCOMSMD new file mode 100644 index 000000000..9f36fb6a8 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_BT_QCOMSMD @@ -0,0 +1 @@ +CONFIG_BT_QCOMSMD=m diff --git a/baseconfig/arm/arm64/CONFIG_BUG b/baseconfig/arm/aarch64/CONFIG_BUG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_BUG rename to baseconfig/arm/aarch64/CONFIG_BUG diff --git a/baseconfig/arm/arm64/CONFIG_CAN_SUN4I b/baseconfig/arm/aarch64/CONFIG_CAN_SUN4I similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CAN_SUN4I rename to baseconfig/arm/aarch64/CONFIG_CAN_SUN4I diff --git a/baseconfig/arm/arm64/CONFIG_CAVIUM_CPT b/baseconfig/arm/aarch64/CONFIG_CAVIUM_CPT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CAVIUM_CPT rename to baseconfig/arm/aarch64/CONFIG_CAVIUM_CPT diff --git a/baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_22375 b/baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_22375 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_22375 rename to baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_22375 diff --git a/baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_23144 b/baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_23144 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_23144 rename to baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_23144 diff --git a/baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_23154 b/baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_23154 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_23154 rename to baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_23154 diff --git a/baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_27456 b/baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_27456 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CAVIUM_ERRATUM_27456 rename to baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_27456 diff --git a/baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_30115 b/baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_30115 new file mode 100644 index 000000000..e3f4218af --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CAVIUM_ERRATUM_30115 @@ -0,0 +1 @@ +CONFIG_CAVIUM_ERRATUM_30115=y diff --git a/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP b/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP new file mode 100644 index 000000000..271967f8a --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP @@ -0,0 +1 @@ +CONFIG_CAVIUM_PTP=m diff --git a/baseconfig/arm/arm64/CONFIG_CHARGER_AXP20X b/baseconfig/arm/aarch64/CONFIG_CHARGER_AXP20X similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CHARGER_AXP20X rename to baseconfig/arm/aarch64/CONFIG_CHARGER_AXP20X diff --git a/baseconfig/arm/arm64/CONFIG_CHARGER_MANAGER b/baseconfig/arm/aarch64/CONFIG_CHARGER_MANAGER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CHARGER_MANAGER rename to baseconfig/arm/aarch64/CONFIG_CHARGER_MANAGER diff --git a/baseconfig/arm/aarch64/CONFIG_CHARGER_QCOM_SMBB b/baseconfig/arm/aarch64/CONFIG_CHARGER_QCOM_SMBB new file mode 100644 index 000000000..43a91eb0e --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CHARGER_QCOM_SMBB @@ -0,0 +1 @@ +CONFIG_CHARGER_QCOM_SMBB=m diff --git a/baseconfig/arm/arm64/CONFIG_CLKDEV_LOOKUP b/baseconfig/arm/aarch64/CONFIG_CLKDEV_LOOKUP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CLKDEV_LOOKUP rename to baseconfig/arm/aarch64/CONFIG_CLKDEV_LOOKUP diff --git a/baseconfig/arm/arm64/CONFIG_CMDLINE b/baseconfig/arm/aarch64/CONFIG_CMDLINE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CMDLINE rename to baseconfig/arm/aarch64/CONFIG_CMDLINE diff --git a/baseconfig/arm/arm64/CONFIG_CMDLINE_FORCE b/baseconfig/arm/aarch64/CONFIG_CMDLINE_FORCE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CMDLINE_FORCE rename to baseconfig/arm/aarch64/CONFIG_CMDLINE_FORCE diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3516CV300 b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3516CV300 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3516CV300 rename to baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3516CV300 diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3519 b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3519 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3519 rename to baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3519 diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3660 b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3660 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3660 rename to baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3660 diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3798CV200 b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3798CV200 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3798CV200 rename to baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI3798CV200 diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI6220 b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI6220 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI6220 rename to baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI6220 diff --git a/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI655X b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI655X new file mode 100644 index 000000000..18ddc0770 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_HI655X @@ -0,0 +1 @@ +CONFIG_COMMON_CLK_HI655X=m diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_PWM b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_PWM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_CLK_PWM rename to baseconfig/arm/aarch64/CONFIG_COMMON_CLK_PWM diff --git a/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_QCOM b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_QCOM new file mode 100644 index 000000000..2b7c64357 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_QCOM @@ -0,0 +1 @@ +CONFIG_COMMON_CLK_QCOM=y diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_XGENE b/baseconfig/arm/aarch64/CONFIG_COMMON_CLK_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_CLK_XGENE rename to baseconfig/arm/aarch64/CONFIG_COMMON_CLK_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_RESET_HI6220 b/baseconfig/arm/aarch64/CONFIG_COMMON_RESET_HI6220 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMMON_RESET_HI6220 rename to baseconfig/arm/aarch64/CONFIG_COMMON_RESET_HI6220 diff --git a/baseconfig/arm/arm64/CONFIG_COMPAT b/baseconfig/arm/aarch64/CONFIG_COMPAT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_COMPAT rename to baseconfig/arm/aarch64/CONFIG_COMPAT diff --git a/baseconfig/arm/arm64/CONFIG_CONSOLE_TRANSLATIONS b/baseconfig/arm/aarch64/CONFIG_CONSOLE_TRANSLATIONS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CONSOLE_TRANSLATIONS rename to baseconfig/arm/aarch64/CONFIG_CONSOLE_TRANSLATIONS diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64 b/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64 new file mode 100644 index 000000000..dd0ae2c1d --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64 @@ -0,0 +1 @@ +CONFIG_CRYPTO_AES_ARM64=y diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_BS b/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_BS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_BS rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_BS diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_CE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_CE rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_CE diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_CE_BLK b/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_CE_BLK similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_CE_BLK rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_CE_BLK diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_CE_CCM b/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_CE_CCM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_CE_CCM rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_CE_CCM diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_NEON_BLK b/baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_NEON_BLK similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_NEON_BLK rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_AES_ARM64_NEON_BLK diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_CRC32_ARM64 b/baseconfig/arm/aarch64/CONFIG_CRYPTO_CRC32_ARM64 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_CRC32_ARM64 rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_CRC32_ARM64 diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CAVIUM_ZIP b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CAVIUM_ZIP new file mode 100644 index 000000000..d5226e157 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CAVIUM_ZIP @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CCP b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CCP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CCP rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CCP diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CCP_CRYPTO b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CCP_CRYPTO similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CCP_CRYPTO rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CCP_CRYPTO diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CCP_DD b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CCP_DD similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_CCP_DD rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_CCP_DD diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_QCE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_QCE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_DEV_QCE rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_QCE diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_SAFEXCEL b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_SAFEXCEL new file mode 100644 index 000000000..61cb97435 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_DEV_SAFEXCEL @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_SAFEXCEL=m diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_GHASH_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_GHASH_ARM64_CE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_GHASH_ARM64_CE rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_GHASH_ARM64_CE diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_SHA1_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA1_ARM64_CE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_SHA1_ARM64_CE rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA1_ARM64_CE diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_SHA2_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA2_ARM64_CE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_CRYPTO_SHA2_ARM64_CE rename to baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA2_ARM64_CE diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64 b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64 new file mode 100644 index 000000000..52d5aeaab --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64 @@ -0,0 +1 @@ +CONFIG_CRYPTO_SHA3_ARM64=m diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE new file mode 100644 index 000000000..3a159ef93 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE @@ -0,0 +1 @@ +CONFIG_CRYPTO_SHA512_ARM64_CE=m diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE new file mode 100644 index 000000000..93a6a00f4 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE @@ -0,0 +1 @@ +CONFIG_CRYPTO_SM3_ARM64_CE=m diff --git a/baseconfig/arm/arm64/CONFIG_DEBUG_ALIGN_RODATA b/baseconfig/arm/aarch64/CONFIG_DEBUG_ALIGN_RODATA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DEBUG_ALIGN_RODATA rename to baseconfig/arm/aarch64/CONFIG_DEBUG_ALIGN_RODATA diff --git a/baseconfig/arm/arm64/CONFIG_DEBUG_EFI b/baseconfig/arm/aarch64/CONFIG_DEBUG_EFI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DEBUG_EFI rename to baseconfig/arm/aarch64/CONFIG_DEBUG_EFI diff --git a/baseconfig/arm/arm64/CONFIG_DEBUG_SECTION_MISMATCH b/baseconfig/arm/aarch64/CONFIG_DEBUG_SECTION_MISMATCH similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DEBUG_SECTION_MISMATCH rename to baseconfig/arm/aarch64/CONFIG_DEBUG_SECTION_MISMATCH diff --git a/baseconfig/arm/aarch64/CONFIG_DEBUG_WX b/baseconfig/arm/aarch64/CONFIG_DEBUG_WX new file mode 100644 index 000000000..95e08f44b --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_DEBUG_WX @@ -0,0 +1 @@ +CONFIG_DEBUG_WX=y diff --git a/baseconfig/arm/arm64/CONFIG_DRM_HISI_KIRIN b/baseconfig/arm/aarch64/CONFIG_DRM_HISI_KIRIN similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DRM_HISI_KIRIN rename to baseconfig/arm/aarch64/CONFIG_DRM_HISI_KIRIN diff --git a/baseconfig/arm/arm64/CONFIG_DRM_MSM b/baseconfig/arm/aarch64/CONFIG_DRM_MSM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DRM_MSM rename to baseconfig/arm/aarch64/CONFIG_DRM_MSM diff --git a/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI new file mode 100644 index 000000000..87b627906 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI=y diff --git a/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_14NM_PHY b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_14NM_PHY new file mode 100644 index 000000000..397f69094 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_14NM_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_14NM_PHY=y diff --git a/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_20NM_PHY b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_20NM_PHY new file mode 100644 index 000000000..7595ae205 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_20NM_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_20NM_PHY=y diff --git a/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_28NM_8960_PHY b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_28NM_8960_PHY new file mode 100644 index 000000000..5d86a4597 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_28NM_8960_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y diff --git a/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_28NM_PHY b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_28NM_PHY new file mode 100644 index 000000000..ea1c4f918 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_28NM_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_28NM_PHY=y diff --git a/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_PLL b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_PLL new file mode 100644 index 000000000..16ac280e6 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_DSI_PLL @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_PLL=y diff --git a/baseconfig/arm/arm64/CONFIG_DRM_MSM_HDMI_HDCP b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_HDMI_HDCP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DRM_MSM_HDMI_HDCP rename to baseconfig/arm/aarch64/CONFIG_DRM_MSM_HDMI_HDCP diff --git a/baseconfig/arm/arm64/CONFIG_DRM_MSM_REGISTER_LOGGING b/baseconfig/arm/aarch64/CONFIG_DRM_MSM_REGISTER_LOGGING similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DRM_MSM_REGISTER_LOGGING rename to baseconfig/arm/aarch64/CONFIG_DRM_MSM_REGISTER_LOGGING diff --git a/baseconfig/arm/arm64/CONFIG_DVB_B2C2_FLEXCOP_USB b/baseconfig/arm/aarch64/CONFIG_DVB_B2C2_FLEXCOP_USB similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DVB_B2C2_FLEXCOP_USB rename to baseconfig/arm/aarch64/CONFIG_DVB_B2C2_FLEXCOP_USB diff --git a/baseconfig/arm/arm64/CONFIG_DWMAC_IPQ806X b/baseconfig/arm/aarch64/CONFIG_DWMAC_IPQ806X similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DWMAC_IPQ806X rename to baseconfig/arm/aarch64/CONFIG_DWMAC_IPQ806X diff --git a/baseconfig/arm/arm64/CONFIG_DWMAC_SUN8I b/baseconfig/arm/aarch64/CONFIG_DWMAC_SUN8I similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DWMAC_SUN8I rename to baseconfig/arm/aarch64/CONFIG_DWMAC_SUN8I diff --git a/baseconfig/arm/arm64/CONFIG_DWMAC_SUNXI b/baseconfig/arm/aarch64/CONFIG_DWMAC_SUNXI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_DWMAC_SUNXI rename to baseconfig/arm/aarch64/CONFIG_DWMAC_SUNXI diff --git a/baseconfig/arm/aarch64/CONFIG_EDAC_THUNDERX b/baseconfig/arm/aarch64/CONFIG_EDAC_THUNDERX new file mode 100644 index 000000000..dae44bb02 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_EDAC_THUNDERX @@ -0,0 +1 @@ +CONFIG_EDAC_THUNDERX=m diff --git a/baseconfig/arm/arm64/CONFIG_EDAC_XGENE b/baseconfig/arm/aarch64/CONFIG_EDAC_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_EDAC_XGENE rename to baseconfig/arm/aarch64/CONFIG_EDAC_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_EXTCON_AXP288 b/baseconfig/arm/aarch64/CONFIG_EXTCON_AXP288 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_EXTCON_AXP288 rename to baseconfig/arm/aarch64/CONFIG_EXTCON_AXP288 diff --git a/baseconfig/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC b/baseconfig/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC new file mode 100644 index 000000000..b52487909 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC @@ -0,0 +1 @@ +CONFIG_EXTCON_QCOM_SPMI_MISC=m diff --git a/baseconfig/arm/arm64/CONFIG_FB_MODE_HELPERS b/baseconfig/arm/aarch64/CONFIG_FB_MODE_HELPERS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_FB_MODE_HELPERS rename to baseconfig/arm/aarch64/CONFIG_FB_MODE_HELPERS diff --git a/baseconfig/arm/aarch64/CONFIG_FB_XILINX b/baseconfig/arm/aarch64/CONFIG_FB_XILINX new file mode 100644 index 000000000..4bcb7d896 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_FB_XILINX @@ -0,0 +1 @@ +CONFIG_FB_XILINX=m diff --git a/baseconfig/arm/arm64/CONFIG_FORCE_MAX_ZONEORDER b/baseconfig/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_FORCE_MAX_ZONEORDER rename to baseconfig/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER diff --git a/baseconfig/arm/arm64/CONFIG_FSL_ERRATUM_A008585 b/baseconfig/arm/aarch64/CONFIG_FSL_ERRATUM_A008585 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_FSL_ERRATUM_A008585 rename to baseconfig/arm/aarch64/CONFIG_FSL_ERRATUM_A008585 diff --git a/baseconfig/arm/arm64/CONFIG_FSL_MC_BUS b/baseconfig/arm/aarch64/CONFIG_FSL_MC_BUS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_FSL_MC_BUS rename to baseconfig/arm/aarch64/CONFIG_FSL_MC_BUS diff --git a/baseconfig/arm/arm64/CONFIG_FUJITSU_ES b/baseconfig/arm/aarch64/CONFIG_FUJITSU_ES similarity index 100% rename from baseconfig/arm/arm64/CONFIG_FUJITSU_ES rename to baseconfig/arm/aarch64/CONFIG_FUJITSU_ES diff --git a/baseconfig/arm/arm64/CONFIG_GPIO_AXP209 b/baseconfig/arm/aarch64/CONFIG_GPIO_AXP209 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_GPIO_AXP209 rename to baseconfig/arm/aarch64/CONFIG_GPIO_AXP209 diff --git a/baseconfig/arm/arm64/CONFIG_GPIO_MAX77620 b/baseconfig/arm/aarch64/CONFIG_GPIO_MAX77620 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_GPIO_MAX77620 rename to baseconfig/arm/aarch64/CONFIG_GPIO_MAX77620 diff --git a/baseconfig/arm/aarch64/CONFIG_GPIO_THUNDERX b/baseconfig/arm/aarch64/CONFIG_GPIO_THUNDERX new file mode 100644 index 000000000..6895cc045 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_GPIO_THUNDERX @@ -0,0 +1 @@ +CONFIG_GPIO_THUNDERX=m diff --git a/baseconfig/arm/arm64/CONFIG_GPIO_XGENE b/baseconfig/arm/aarch64/CONFIG_GPIO_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_GPIO_XGENE rename to baseconfig/arm/aarch64/CONFIG_GPIO_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_GPIO_XGENE_SB b/baseconfig/arm/aarch64/CONFIG_GPIO_XGENE_SB similarity index 100% rename from baseconfig/arm/arm64/CONFIG_GPIO_XGENE_SB rename to baseconfig/arm/aarch64/CONFIG_GPIO_XGENE_SB diff --git a/baseconfig/arm/aarch64/CONFIG_GPIO_XLP b/baseconfig/arm/aarch64/CONFIG_GPIO_XLP new file mode 100644 index 000000000..f99cd41f3 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_GPIO_XLP @@ -0,0 +1 @@ +CONFIG_GPIO_XLP=m diff --git a/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ b/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ new file mode 100644 index 000000000..2f9ba2067 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ @@ -0,0 +1 @@ +CONFIG_GPIO_ZYNQ=m diff --git a/baseconfig/arm/arm64/CONFIG_HI6220_MBOX b/baseconfig/arm/aarch64/CONFIG_HI6220_MBOX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HI6220_MBOX rename to baseconfig/arm/aarch64/CONFIG_HI6220_MBOX diff --git a/baseconfig/arm/arm64/CONFIG_HISILICON_ERRATUM_161010101 b/baseconfig/arm/aarch64/CONFIG_HISILICON_ERRATUM_161010101 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HISILICON_ERRATUM_161010101 rename to baseconfig/arm/aarch64/CONFIG_HISILICON_ERRATUM_161010101 diff --git a/baseconfig/arm/aarch64/CONFIG_HISILICON_ERRATUM_161600802 b/baseconfig/arm/aarch64/CONFIG_HISILICON_ERRATUM_161600802 new file mode 100644 index 000000000..86ef85f43 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_HISILICON_ERRATUM_161600802 @@ -0,0 +1 @@ +CONFIG_HISILICON_ERRATUM_161600802=y diff --git a/baseconfig/arm/arm64/CONFIG_HISILICON_IRQ_MBIGEN b/baseconfig/arm/aarch64/CONFIG_HISILICON_IRQ_MBIGEN similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HISILICON_IRQ_MBIGEN rename to baseconfig/arm/aarch64/CONFIG_HISILICON_IRQ_MBIGEN diff --git a/baseconfig/arm/arm64/CONFIG_HISI_KIRIN_DW_DSI b/baseconfig/arm/aarch64/CONFIG_HISI_KIRIN_DW_DSI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HISI_KIRIN_DW_DSI rename to baseconfig/arm/aarch64/CONFIG_HISI_KIRIN_DW_DSI diff --git a/baseconfig/arm/arm64/CONFIG_HISI_THERMAL b/baseconfig/arm/aarch64/CONFIG_HISI_THERMAL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HISI_THERMAL rename to baseconfig/arm/aarch64/CONFIG_HISI_THERMAL diff --git a/baseconfig/arm/arm64/CONFIG_HOTPLUG_PCI_SHPC b/baseconfig/arm/aarch64/CONFIG_HOTPLUG_PCI_SHPC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HOTPLUG_PCI_SHPC rename to baseconfig/arm/aarch64/CONFIG_HOTPLUG_PCI_SHPC diff --git a/baseconfig/arm/arm64/CONFIG_HVC_DCC b/baseconfig/arm/aarch64/CONFIG_HVC_DCC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HVC_DCC rename to baseconfig/arm/aarch64/CONFIG_HVC_DCC diff --git a/baseconfig/arm/arm64/CONFIG_HVC_DRIVER b/baseconfig/arm/aarch64/CONFIG_HVC_DRIVER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HVC_DRIVER rename to baseconfig/arm/aarch64/CONFIG_HVC_DRIVER diff --git a/baseconfig/arm/arm64/CONFIG_HWSPINLOCK_QCOM b/baseconfig/arm/aarch64/CONFIG_HWSPINLOCK_QCOM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HWSPINLOCK_QCOM rename to baseconfig/arm/aarch64/CONFIG_HWSPINLOCK_QCOM diff --git a/baseconfig/arm/arm64/CONFIG_HW_RANDOM_CAVIUM b/baseconfig/arm/aarch64/CONFIG_HW_RANDOM_CAVIUM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HW_RANDOM_CAVIUM rename to baseconfig/arm/aarch64/CONFIG_HW_RANDOM_CAVIUM diff --git a/baseconfig/arm/arm64/CONFIG_HW_RANDOM_HISI b/baseconfig/arm/aarch64/CONFIG_HW_RANDOM_HISI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HW_RANDOM_HISI rename to baseconfig/arm/aarch64/CONFIG_HW_RANDOM_HISI diff --git a/baseconfig/arm/arm64/CONFIG_HW_RANDOM_MSM b/baseconfig/arm/aarch64/CONFIG_HW_RANDOM_MSM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HW_RANDOM_MSM rename to baseconfig/arm/aarch64/CONFIG_HW_RANDOM_MSM diff --git a/baseconfig/arm/arm64/CONFIG_HW_RANDOM_OMAP b/baseconfig/arm/aarch64/CONFIG_HW_RANDOM_OMAP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HW_RANDOM_OMAP rename to baseconfig/arm/aarch64/CONFIG_HW_RANDOM_OMAP diff --git a/baseconfig/arm/arm64/CONFIG_HW_RANDOM_XGENE b/baseconfig/arm/aarch64/CONFIG_HW_RANDOM_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HW_RANDOM_XGENE rename to baseconfig/arm/aarch64/CONFIG_HW_RANDOM_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_HZ b/baseconfig/arm/aarch64/CONFIG_HZ similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HZ rename to baseconfig/arm/aarch64/CONFIG_HZ diff --git a/baseconfig/arm/arm64/CONFIG_HZ_100 b/baseconfig/arm/aarch64/CONFIG_HZ_100 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HZ_100 rename to baseconfig/arm/aarch64/CONFIG_HZ_100 diff --git a/baseconfig/arm/arm64/CONFIG_HZ_1000 b/baseconfig/arm/aarch64/CONFIG_HZ_1000 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_HZ_1000 rename to baseconfig/arm/aarch64/CONFIG_HZ_1000 diff --git a/baseconfig/arm/arm64/CONFIG_I2C_HIX5HD2 b/baseconfig/arm/aarch64/CONFIG_I2C_HIX5HD2 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_I2C_HIX5HD2 rename to baseconfig/arm/aarch64/CONFIG_I2C_HIX5HD2 diff --git a/baseconfig/arm/arm64/CONFIG_I2C_QUP b/baseconfig/arm/aarch64/CONFIG_I2C_QUP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_I2C_QUP rename to baseconfig/arm/aarch64/CONFIG_I2C_QUP diff --git a/baseconfig/arm/arm64/CONFIG_I2C_SCMI b/baseconfig/arm/aarch64/CONFIG_I2C_SCMI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_I2C_SCMI rename to baseconfig/arm/aarch64/CONFIG_I2C_SCMI diff --git a/baseconfig/arm/arm64/CONFIG_I2C_THUNDERX b/baseconfig/arm/aarch64/CONFIG_I2C_THUNDERX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_I2C_THUNDERX rename to baseconfig/arm/aarch64/CONFIG_I2C_THUNDERX diff --git a/baseconfig/arm/arm64/CONFIG_I2C_XGENE_SLIMPRO b/baseconfig/arm/aarch64/CONFIG_I2C_XGENE_SLIMPRO similarity index 100% rename from baseconfig/arm/arm64/CONFIG_I2C_XGENE_SLIMPRO rename to baseconfig/arm/aarch64/CONFIG_I2C_XGENE_SLIMPRO diff --git a/baseconfig/arm/aarch64/CONFIG_I2C_XLP9XX b/baseconfig/arm/aarch64/CONFIG_I2C_XLP9XX new file mode 100644 index 000000000..bcc41c376 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_I2C_XLP9XX @@ -0,0 +1 @@ +CONFIG_I2C_XLP9XX=m diff --git a/baseconfig/arm/arm64/CONFIG_INPUT_AXP20X_PEK b/baseconfig/arm/aarch64/CONFIG_INPUT_AXP20X_PEK similarity index 100% rename from baseconfig/arm/arm64/CONFIG_INPUT_AXP20X_PEK rename to baseconfig/arm/aarch64/CONFIG_INPUT_AXP20X_PEK diff --git a/baseconfig/arm/arm64/CONFIG_INPUT_HISI_POWERKEY b/baseconfig/arm/aarch64/CONFIG_INPUT_HISI_POWERKEY similarity index 100% rename from baseconfig/arm/arm64/CONFIG_INPUT_HISI_POWERKEY rename to baseconfig/arm/aarch64/CONFIG_INPUT_HISI_POWERKEY diff --git a/baseconfig/arm/arm64/CONFIG_INPUT_PM8941_PWRKEY b/baseconfig/arm/aarch64/CONFIG_INPUT_PM8941_PWRKEY similarity index 100% rename from baseconfig/arm/arm64/CONFIG_INPUT_PM8941_PWRKEY rename to baseconfig/arm/aarch64/CONFIG_INPUT_PM8941_PWRKEY diff --git a/baseconfig/arm/arm64/CONFIG_INPUT_REGULATOR_HAPTIC b/baseconfig/arm/aarch64/CONFIG_INPUT_REGULATOR_HAPTIC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_INPUT_REGULATOR_HAPTIC rename to baseconfig/arm/aarch64/CONFIG_INPUT_REGULATOR_HAPTIC diff --git a/baseconfig/arm/arm64/CONFIG_IR_SUNXI b/baseconfig/arm/aarch64/CONFIG_IR_SUNXI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_IR_SUNXI rename to baseconfig/arm/aarch64/CONFIG_IR_SUNXI diff --git a/baseconfig/arm/aarch64/CONFIG_K3_DMA b/baseconfig/arm/aarch64/CONFIG_K3_DMA new file mode 100644 index 000000000..c64ec401c --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_K3_DMA @@ -0,0 +1 @@ +CONFIG_K3_DMA=m diff --git a/baseconfig/arm/arm64/CONFIG_KEYBOARD_SUN4I_LRADC b/baseconfig/arm/aarch64/CONFIG_KEYBOARD_SUN4I_LRADC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_KEYBOARD_SUN4I_LRADC rename to baseconfig/arm/aarch64/CONFIG_KEYBOARD_SUN4I_LRADC diff --git a/baseconfig/arm/arm64/CONFIG_KVM b/baseconfig/arm/aarch64/CONFIG_KVM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_KVM rename to baseconfig/arm/aarch64/CONFIG_KVM diff --git a/baseconfig/arm/arm64/CONFIG_LIBNVDIMM b/baseconfig/arm/aarch64/CONFIG_LIBNVDIMM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_LIBNVDIMM rename to baseconfig/arm/aarch64/CONFIG_LIBNVDIMM diff --git a/baseconfig/arm/arm64/CONFIG_LIQUIDIO b/baseconfig/arm/aarch64/CONFIG_LIQUIDIO similarity index 100% rename from baseconfig/arm/arm64/CONFIG_LIQUIDIO rename to baseconfig/arm/aarch64/CONFIG_LIQUIDIO diff --git a/baseconfig/arm/arm64/CONFIG_MAX77620_THERMAL b/baseconfig/arm/aarch64/CONFIG_MAX77620_THERMAL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MAX77620_THERMAL rename to baseconfig/arm/aarch64/CONFIG_MAX77620_THERMAL diff --git a/baseconfig/arm/arm64/CONFIG_MAX77620_WATCHDOG b/baseconfig/arm/aarch64/CONFIG_MAX77620_WATCHDOG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MAX77620_WATCHDOG rename to baseconfig/arm/aarch64/CONFIG_MAX77620_WATCHDOG diff --git a/baseconfig/arm/arm64/CONFIG_MDIO_HISI_FEMAC b/baseconfig/arm/aarch64/CONFIG_MDIO_HISI_FEMAC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MDIO_HISI_FEMAC rename to baseconfig/arm/aarch64/CONFIG_MDIO_HISI_FEMAC diff --git a/baseconfig/arm/arm64/CONFIG_MDIO_OCTEON b/baseconfig/arm/aarch64/CONFIG_MDIO_OCTEON similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MDIO_OCTEON rename to baseconfig/arm/aarch64/CONFIG_MDIO_OCTEON diff --git a/baseconfig/arm/arm64/CONFIG_MDIO_SUN4I b/baseconfig/arm/aarch64/CONFIG_MDIO_SUN4I similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MDIO_SUN4I rename to baseconfig/arm/aarch64/CONFIG_MDIO_SUN4I diff --git a/baseconfig/arm/arm64/CONFIG_MDIO_THUNDER b/baseconfig/arm/aarch64/CONFIG_MDIO_THUNDER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MDIO_THUNDER rename to baseconfig/arm/aarch64/CONFIG_MDIO_THUNDER diff --git a/baseconfig/arm/arm64/CONFIG_MDIO_XGENE b/baseconfig/arm/aarch64/CONFIG_MDIO_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MDIO_XGENE rename to baseconfig/arm/aarch64/CONFIG_MDIO_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_MDM_GCC_9615 b/baseconfig/arm/aarch64/CONFIG_MDM_GCC_9615 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MDM_GCC_9615 rename to baseconfig/arm/aarch64/CONFIG_MDM_GCC_9615 diff --git a/baseconfig/arm/arm64/CONFIG_MDM_LCC_9615 b/baseconfig/arm/aarch64/CONFIG_MDM_LCC_9615 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MDM_LCC_9615 rename to baseconfig/arm/aarch64/CONFIG_MDM_LCC_9615 diff --git a/baseconfig/arm/arm64/CONFIG_MESON_GXBB_WATCHDOG b/baseconfig/arm/aarch64/CONFIG_MESON_GXBB_WATCHDOG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MESON_GXBB_WATCHDOG rename to baseconfig/arm/aarch64/CONFIG_MESON_GXBB_WATCHDOG diff --git a/baseconfig/arm/arm64/CONFIG_MESON_GXL_PHY b/baseconfig/arm/aarch64/CONFIG_MESON_GXL_PHY similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MESON_GXL_PHY rename to baseconfig/arm/aarch64/CONFIG_MESON_GXL_PHY diff --git a/baseconfig/arm/arm64/CONFIG_MESON_WATCHDOG b/baseconfig/arm/aarch64/CONFIG_MESON_WATCHDOG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MESON_WATCHDOG rename to baseconfig/arm/aarch64/CONFIG_MESON_WATCHDOG diff --git a/baseconfig/arm/arm64/CONFIG_MFD_AXP20X b/baseconfig/arm/aarch64/CONFIG_MFD_AXP20X similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_AXP20X rename to baseconfig/arm/aarch64/CONFIG_MFD_AXP20X diff --git a/baseconfig/arm/arm64/CONFIG_MFD_AXP20X_I2C b/baseconfig/arm/aarch64/CONFIG_MFD_AXP20X_I2C similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_AXP20X_I2C rename to baseconfig/arm/aarch64/CONFIG_MFD_AXP20X_I2C diff --git a/baseconfig/arm/arm64/CONFIG_MFD_AXP20X_RSB b/baseconfig/arm/aarch64/CONFIG_MFD_AXP20X_RSB similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_AXP20X_RSB rename to baseconfig/arm/aarch64/CONFIG_MFD_AXP20X_RSB diff --git a/baseconfig/arm/arm64/CONFIG_MFD_HI655X_PMIC b/baseconfig/arm/aarch64/CONFIG_MFD_HI655X_PMIC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_HI655X_PMIC rename to baseconfig/arm/aarch64/CONFIG_MFD_HI655X_PMIC diff --git a/baseconfig/arm/arm64/CONFIG_MFD_MAX77620 b/baseconfig/arm/aarch64/CONFIG_MFD_MAX77620 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_MAX77620 rename to baseconfig/arm/aarch64/CONFIG_MFD_MAX77620 diff --git a/baseconfig/arm/arm64/CONFIG_MFD_QCOM_RPM b/baseconfig/arm/aarch64/CONFIG_MFD_QCOM_RPM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_QCOM_RPM rename to baseconfig/arm/aarch64/CONFIG_MFD_QCOM_RPM diff --git a/baseconfig/arm/CONFIG_MFD_SPMI_PMIC b/baseconfig/arm/aarch64/CONFIG_MFD_SPMI_PMIC similarity index 100% rename from baseconfig/arm/CONFIG_MFD_SPMI_PMIC rename to baseconfig/arm/aarch64/CONFIG_MFD_SPMI_PMIC diff --git a/baseconfig/arm/arm64/CONFIG_MFD_SUN4I_GPADC b/baseconfig/arm/aarch64/CONFIG_MFD_SUN4I_GPADC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_SUN4I_GPADC rename to baseconfig/arm/aarch64/CONFIG_MFD_SUN4I_GPADC diff --git a/baseconfig/arm/arm64/CONFIG_MFD_SUN6I_PRCM b/baseconfig/arm/aarch64/CONFIG_MFD_SUN6I_PRCM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MFD_SUN6I_PRCM rename to baseconfig/arm/aarch64/CONFIG_MFD_SUN6I_PRCM diff --git a/baseconfig/arm/aarch64/CONFIG_MMC_CAVIUM_THUNDERX b/baseconfig/arm/aarch64/CONFIG_MMC_CAVIUM_THUNDERX new file mode 100644 index 000000000..8c4640a79 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MMC_CAVIUM_THUNDERX @@ -0,0 +1 @@ +CONFIG_MMC_CAVIUM_THUNDERX=m diff --git a/baseconfig/arm/arm64/CONFIG_MMC_MESON_GX b/baseconfig/arm/aarch64/CONFIG_MMC_MESON_GX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MMC_MESON_GX rename to baseconfig/arm/aarch64/CONFIG_MMC_MESON_GX diff --git a/baseconfig/arm/aarch64/CONFIG_MMC_QCOM_DML b/baseconfig/arm/aarch64/CONFIG_MMC_QCOM_DML new file mode 100644 index 000000000..48facf367 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MMC_QCOM_DML @@ -0,0 +1 @@ +CONFIG_MMC_QCOM_DML=y diff --git a/baseconfig/arm/aarch64/CONFIG_MMC_SDHCI_F_SDH30 b/baseconfig/arm/aarch64/CONFIG_MMC_SDHCI_F_SDH30 new file mode 100644 index 000000000..e026d18c2 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MMC_SDHCI_F_SDH30 @@ -0,0 +1 @@ +CONFIG_MMC_SDHCI_F_SDH30=m diff --git a/baseconfig/arm/arm64/CONFIG_MMC_SDHCI_MSM b/baseconfig/arm/aarch64/CONFIG_MMC_SDHCI_MSM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MMC_SDHCI_MSM rename to baseconfig/arm/aarch64/CONFIG_MMC_SDHCI_MSM diff --git a/baseconfig/arm/arm64/CONFIG_MMC_SUNXI b/baseconfig/arm/aarch64/CONFIG_MMC_SUNXI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MMC_SUNXI rename to baseconfig/arm/aarch64/CONFIG_MMC_SUNXI diff --git a/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8660 b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8660 new file mode 100644 index 000000000..9effe8611 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8660 @@ -0,0 +1 @@ +CONFIG_MSM_GCC_8660=y diff --git a/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8916 b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8916 new file mode 100644 index 000000000..87cf3fd89 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8916 @@ -0,0 +1 @@ +CONFIG_MSM_GCC_8916=y diff --git a/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8960 b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8960 new file mode 100644 index 000000000..03ba44b34 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8960 @@ -0,0 +1 @@ +CONFIG_MSM_GCC_8960=y diff --git a/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8974 b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8974 new file mode 100644 index 000000000..8ffbd8055 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8974 @@ -0,0 +1 @@ +CONFIG_MSM_GCC_8974=y diff --git a/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8996 b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8996 new file mode 100644 index 000000000..4b01d318d --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MSM_GCC_8996 @@ -0,0 +1 @@ +CONFIG_MSM_GCC_8996=y diff --git a/baseconfig/arm/arm64/CONFIG_MSM_LCC_8960 b/baseconfig/arm/aarch64/CONFIG_MSM_LCC_8960 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MSM_LCC_8960 rename to baseconfig/arm/aarch64/CONFIG_MSM_LCC_8960 diff --git a/baseconfig/arm/arm64/CONFIG_MSM_MMCC_8960 b/baseconfig/arm/aarch64/CONFIG_MSM_MMCC_8960 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MSM_MMCC_8960 rename to baseconfig/arm/aarch64/CONFIG_MSM_MMCC_8960 diff --git a/baseconfig/arm/arm64/CONFIG_MSM_MMCC_8974 b/baseconfig/arm/aarch64/CONFIG_MSM_MMCC_8974 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MSM_MMCC_8974 rename to baseconfig/arm/aarch64/CONFIG_MSM_MMCC_8974 diff --git a/baseconfig/arm/arm64/CONFIG_MSM_MMCC_8996 b/baseconfig/arm/aarch64/CONFIG_MSM_MMCC_8996 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_MSM_MMCC_8996 rename to baseconfig/arm/aarch64/CONFIG_MSM_MMCC_8996 diff --git a/baseconfig/arm/aarch64/CONFIG_MV_XOR_V2 b/baseconfig/arm/aarch64/CONFIG_MV_XOR_V2 new file mode 100644 index 000000000..fdcbbf4c2 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_MV_XOR_V2 @@ -0,0 +1 @@ +CONFIG_MV_XOR_V2=y diff --git a/baseconfig/arm/arm64/CONFIG_ND_BLK b/baseconfig/arm/aarch64/CONFIG_ND_BLK similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ND_BLK rename to baseconfig/arm/aarch64/CONFIG_ND_BLK diff --git a/baseconfig/arm/arm64/CONFIG_ND_BTT b/baseconfig/arm/aarch64/CONFIG_ND_BTT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_ND_BTT rename to baseconfig/arm/aarch64/CONFIG_ND_BTT diff --git a/baseconfig/arm/arm64/CONFIG_NET_SB1000 b/baseconfig/arm/aarch64/CONFIG_NET_SB1000 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NET_SB1000 rename to baseconfig/arm/aarch64/CONFIG_NET_SB1000 diff --git a/baseconfig/arm/arm64/CONFIG_NET_VENDOR_ALLWINNER b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_ALLWINNER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NET_VENDOR_ALLWINNER rename to baseconfig/arm/aarch64/CONFIG_NET_VENDOR_ALLWINNER diff --git a/baseconfig/arm/arm64/CONFIG_NET_VENDOR_CAVIUM b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_CAVIUM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NET_VENDOR_CAVIUM rename to baseconfig/arm/aarch64/CONFIG_NET_VENDOR_CAVIUM diff --git a/baseconfig/arm/arm64/CONFIG_NET_VENDOR_QUALCOMM b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_QUALCOMM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NET_VENDOR_QUALCOMM rename to baseconfig/arm/aarch64/CONFIG_NET_VENDOR_QUALCOMM diff --git a/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SNI b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SNI new file mode 100644 index 000000000..bb77206de --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SNI @@ -0,0 +1 @@ +CONFIG_NET_VENDOR_SNI=y diff --git a/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT new file mode 100644 index 000000000..213e48587 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT @@ -0,0 +1 @@ +CONFIG_NET_VENDOR_SOCIONEXT=y diff --git a/baseconfig/arm/arm64/CONFIG_NET_XGENE b/baseconfig/arm/aarch64/CONFIG_NET_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NET_XGENE rename to baseconfig/arm/aarch64/CONFIG_NET_XGENE diff --git a/baseconfig/arm/aarch64/CONFIG_NET_XGENE_V2 b/baseconfig/arm/aarch64/CONFIG_NET_XGENE_V2 new file mode 100644 index 000000000..7d5cbcdbf --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_NET_XGENE_V2 @@ -0,0 +1 @@ +CONFIG_NET_XGENE_V2=m diff --git a/baseconfig/arm/arm64/CONFIG_NODES_SHIFT b/baseconfig/arm/aarch64/CONFIG_NODES_SHIFT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NODES_SHIFT rename to baseconfig/arm/aarch64/CONFIG_NODES_SHIFT diff --git a/baseconfig/arm/arm64/CONFIG_NR_CPUS b/baseconfig/arm/aarch64/CONFIG_NR_CPUS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NR_CPUS rename to baseconfig/arm/aarch64/CONFIG_NR_CPUS diff --git a/baseconfig/arm/arm64/CONFIG_NUMA b/baseconfig/arm/aarch64/CONFIG_NUMA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NUMA rename to baseconfig/arm/aarch64/CONFIG_NUMA diff --git a/baseconfig/arm/arm64/CONFIG_NUMA_BALANCING b/baseconfig/arm/aarch64/CONFIG_NUMA_BALANCING similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NUMA_BALANCING rename to baseconfig/arm/aarch64/CONFIG_NUMA_BALANCING diff --git a/baseconfig/arm/arm64/CONFIG_NUMA_BALANCING_DEFAULT_ENABLED b/baseconfig/arm/aarch64/CONFIG_NUMA_BALANCING_DEFAULT_ENABLED similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NUMA_BALANCING_DEFAULT_ENABLED rename to baseconfig/arm/aarch64/CONFIG_NUMA_BALANCING_DEFAULT_ENABLED diff --git a/baseconfig/arm/arm64/CONFIG_NVMEM_SUNXI_SID b/baseconfig/arm/aarch64/CONFIG_NVMEM_SUNXI_SID similarity index 100% rename from baseconfig/arm/arm64/CONFIG_NVMEM_SUNXI_SID rename to baseconfig/arm/aarch64/CONFIG_NVMEM_SUNXI_SID diff --git a/baseconfig/arm/arm64/CONFIG_PCC b/baseconfig/arm/aarch64/CONFIG_PCC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PCC rename to baseconfig/arm/aarch64/CONFIG_PCC diff --git a/baseconfig/arm/aarch64/CONFIG_PCIE_DW_HOST_ECAM b/baseconfig/arm/aarch64/CONFIG_PCIE_DW_HOST_ECAM new file mode 100644 index 000000000..cdb6169bd --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PCIE_DW_HOST_ECAM @@ -0,0 +1 @@ +CONFIG_PCIE_DW_HOST_ECAM=y diff --git a/baseconfig/arm/aarch64/CONFIG_PCIE_KIRIN b/baseconfig/arm/aarch64/CONFIG_PCIE_KIRIN new file mode 100644 index 000000000..be6e297ea --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PCIE_KIRIN @@ -0,0 +1 @@ +CONFIG_PCIE_KIRIN=y diff --git a/baseconfig/arm/arm64/CONFIG_PCIE_QCOM b/baseconfig/arm/aarch64/CONFIG_PCIE_QCOM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PCIE_QCOM rename to baseconfig/arm/aarch64/CONFIG_PCIE_QCOM diff --git a/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL b/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL new file mode 100644 index 000000000..90eae1f9b --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL @@ -0,0 +1 @@ +CONFIG_PCIE_XILINX_NWL=y diff --git a/baseconfig/arm/arm64/CONFIG_PCI_HISI b/baseconfig/arm/aarch64/CONFIG_PCI_HISI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PCI_HISI rename to baseconfig/arm/aarch64/CONFIG_PCI_HISI diff --git a/baseconfig/arm/arm64/CONFIG_PCI_HOST_THUNDER_ECAM b/baseconfig/arm/aarch64/CONFIG_PCI_HOST_THUNDER_ECAM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PCI_HOST_THUNDER_ECAM rename to baseconfig/arm/aarch64/CONFIG_PCI_HOST_THUNDER_ECAM diff --git a/baseconfig/arm/arm64/CONFIG_PCI_HOST_THUNDER_PEM b/baseconfig/arm/aarch64/CONFIG_PCI_HOST_THUNDER_PEM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PCI_HOST_THUNDER_PEM rename to baseconfig/arm/aarch64/CONFIG_PCI_HOST_THUNDER_PEM diff --git a/baseconfig/arm/arm64/CONFIG_PCI_XGENE b/baseconfig/arm/aarch64/CONFIG_PCI_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PCI_XGENE rename to baseconfig/arm/aarch64/CONFIG_PCI_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_PCI_XGENE_MSI b/baseconfig/arm/aarch64/CONFIG_PCI_XGENE_MSI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PCI_XGENE_MSI rename to baseconfig/arm/aarch64/CONFIG_PCI_XGENE_MSI diff --git a/baseconfig/arm/arm64/CONFIG_PHY_HI6220_USB b/baseconfig/arm/aarch64/CONFIG_PHY_HI6220_USB similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PHY_HI6220_USB rename to baseconfig/arm/aarch64/CONFIG_PHY_HI6220_USB diff --git a/baseconfig/arm/aarch64/CONFIG_PHY_MVEBU_CP110_COMPHY b/baseconfig/arm/aarch64/CONFIG_PHY_MVEBU_CP110_COMPHY new file mode 100644 index 000000000..1902b0c1f --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PHY_MVEBU_CP110_COMPHY @@ -0,0 +1 @@ +CONFIG_PHY_MVEBU_CP110_COMPHY=m diff --git a/baseconfig/arm/arm64/CONFIG_PHY_QCOM_APQ8064_SATA b/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_APQ8064_SATA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PHY_QCOM_APQ8064_SATA rename to baseconfig/arm/aarch64/CONFIG_PHY_QCOM_APQ8064_SATA diff --git a/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_QMP b/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_QMP new file mode 100644 index 000000000..cba57faf8 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_QMP @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QMP=m diff --git a/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_QUSB2 b/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_QUSB2 new file mode 100644 index 000000000..6512e59d2 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_QUSB2 @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QUSB2=m diff --git a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HS b/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_USB_HS similarity index 100% rename from baseconfig/arm/CONFIG_PHY_QCOM_USB_HS rename to baseconfig/arm/aarch64/CONFIG_PHY_QCOM_USB_HS diff --git a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC b/baseconfig/arm/aarch64/CONFIG_PHY_QCOM_USB_HSIC similarity index 100% rename from baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC rename to baseconfig/arm/aarch64/CONFIG_PHY_QCOM_USB_HSIC diff --git a/baseconfig/arm/arm64/CONFIG_PHY_SUN4I_USB b/baseconfig/arm/aarch64/CONFIG_PHY_SUN4I_USB similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PHY_SUN4I_USB rename to baseconfig/arm/aarch64/CONFIG_PHY_SUN4I_USB diff --git a/baseconfig/arm/arm64/CONFIG_PHY_SUN9I_USB b/baseconfig/arm/aarch64/CONFIG_PHY_SUN9I_USB similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PHY_SUN9I_USB rename to baseconfig/arm/aarch64/CONFIG_PHY_SUN9I_USB diff --git a/baseconfig/arm/arm64/CONFIG_PHY_XGENE b/baseconfig/arm/aarch64/CONFIG_PHY_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PHY_XGENE rename to baseconfig/arm/aarch64/CONFIG_PHY_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_AMD b/baseconfig/arm/aarch64/CONFIG_PINCTRL_AMD similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_AMD rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_AMD diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_APQ8064 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_APQ8064 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_APQ8064 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_APQ8064 diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_APQ8084 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_APQ8084 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_APQ8084 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_APQ8084 diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MAX77620 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MAX77620 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MAX77620 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MAX77620 diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MDM9615 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MDM9615 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MDM9615 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MDM9615 diff --git a/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG new file mode 100644 index 000000000..fec409eb2 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG @@ -0,0 +1 @@ +CONFIG_PINCTRL_MESON_AXG=y diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MSM b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MSM rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8660 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8660 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8660 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8660 diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8916 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8916 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8916 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8916 diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8960 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8960 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8960 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8960 diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8996 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8996 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8996 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8996 diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8X74 b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8X74 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_MSM8X74 rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_MSM8X74 diff --git a/baseconfig/arm/aarch64/CONFIG_PINCTRL_QCOM_SPMI_PMIC b/baseconfig/arm/aarch64/CONFIG_PINCTRL_QCOM_SPMI_PMIC new file mode 100644 index 000000000..d24825e16 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_PINCTRL_QCOM_SPMI_PMIC @@ -0,0 +1 @@ +CONFIG_PINCTRL_QCOM_SPMI_PMIC=y diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_QCOM_SSBI_PMIC b/baseconfig/arm/aarch64/CONFIG_PINCTRL_QCOM_SSBI_PMIC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_QCOM_SSBI_PMIC rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_QCOM_SSBI_PMIC diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_QDF2XXX b/baseconfig/arm/aarch64/CONFIG_PINCTRL_QDF2XXX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PINCTRL_QDF2XXX rename to baseconfig/arm/aarch64/CONFIG_PINCTRL_QDF2XXX diff --git a/baseconfig/arm/arm64/CONFIG_PMIC_OPREGION b/baseconfig/arm/aarch64/CONFIG_PMIC_OPREGION similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PMIC_OPREGION rename to baseconfig/arm/aarch64/CONFIG_PMIC_OPREGION diff --git a/baseconfig/arm/arm64/CONFIG_PNP_DEBUG_MESSAGES b/baseconfig/arm/aarch64/CONFIG_PNP_DEBUG_MESSAGES similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PNP_DEBUG_MESSAGES rename to baseconfig/arm/aarch64/CONFIG_PNP_DEBUG_MESSAGES diff --git a/baseconfig/arm/arm64/CONFIG_POWER_RESET_HISI b/baseconfig/arm/aarch64/CONFIG_POWER_RESET_HISI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_POWER_RESET_HISI rename to baseconfig/arm/aarch64/CONFIG_POWER_RESET_HISI diff --git a/baseconfig/arm/arm64/CONFIG_POWER_RESET_MSM b/baseconfig/arm/aarch64/CONFIG_POWER_RESET_MSM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_POWER_RESET_MSM rename to baseconfig/arm/aarch64/CONFIG_POWER_RESET_MSM diff --git a/baseconfig/arm/arm64/CONFIG_POWER_RESET_XGENE b/baseconfig/arm/aarch64/CONFIG_POWER_RESET_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_POWER_RESET_XGENE rename to baseconfig/arm/aarch64/CONFIG_POWER_RESET_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_PWM_SUN4I b/baseconfig/arm/aarch64/CONFIG_PWM_SUN4I similarity index 100% rename from baseconfig/arm/arm64/CONFIG_PWM_SUN4I rename to baseconfig/arm/aarch64/CONFIG_PWM_SUN4I diff --git a/baseconfig/CONFIG_QCOM_ADSP_PIL b/baseconfig/arm/aarch64/CONFIG_QCOM_ADSP_PIL similarity index 100% rename from baseconfig/CONFIG_QCOM_ADSP_PIL rename to baseconfig/arm/aarch64/CONFIG_QCOM_ADSP_PIL diff --git a/baseconfig/arm/aarch64/CONFIG_QCOM_APCS_IPC b/baseconfig/arm/aarch64/CONFIG_QCOM_APCS_IPC new file mode 100644 index 000000000..f8a0514ba --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_QCOM_APCS_IPC @@ -0,0 +1 @@ +CONFIG_QCOM_APCS_IPC=m diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_BAM_DMA b/baseconfig/arm/aarch64/CONFIG_QCOM_BAM_DMA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_BAM_DMA rename to baseconfig/arm/aarch64/CONFIG_QCOM_BAM_DMA diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_CLK_RPM b/baseconfig/arm/aarch64/CONFIG_QCOM_CLK_RPM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_CLK_RPM rename to baseconfig/arm/aarch64/CONFIG_QCOM_CLK_RPM diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_CLK_SMD_RPM b/baseconfig/arm/aarch64/CONFIG_QCOM_CLK_SMD_RPM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_CLK_SMD_RPM rename to baseconfig/arm/aarch64/CONFIG_QCOM_CLK_SMD_RPM diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_COINCELL b/baseconfig/arm/aarch64/CONFIG_QCOM_COINCELL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_COINCELL rename to baseconfig/arm/aarch64/CONFIG_QCOM_COINCELL diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_EBI2 b/baseconfig/arm/aarch64/CONFIG_QCOM_EBI2 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_EBI2 rename to baseconfig/arm/aarch64/CONFIG_QCOM_EBI2 diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_EMAC b/baseconfig/arm/aarch64/CONFIG_QCOM_EMAC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_EMAC rename to baseconfig/arm/aarch64/CONFIG_QCOM_EMAC diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1003 b/baseconfig/arm/aarch64/CONFIG_QCOM_FALKOR_ERRATUM_1003 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1003 rename to baseconfig/arm/aarch64/CONFIG_QCOM_FALKOR_ERRATUM_1003 diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1009 b/baseconfig/arm/aarch64/CONFIG_QCOM_FALKOR_ERRATUM_1009 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1009 rename to baseconfig/arm/aarch64/CONFIG_QCOM_FALKOR_ERRATUM_1009 diff --git a/baseconfig/arm/aarch64/CONFIG_QCOM_FALKOR_ERRATUM_E1041 b/baseconfig/arm/aarch64/CONFIG_QCOM_FALKOR_ERRATUM_E1041 new file mode 100644 index 000000000..f0d31a87b --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_QCOM_FALKOR_ERRATUM_E1041 @@ -0,0 +1 @@ +CONFIG_QCOM_FALKOR_ERRATUM_E1041=y diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_GSBI b/baseconfig/arm/aarch64/CONFIG_QCOM_GSBI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_GSBI rename to baseconfig/arm/aarch64/CONFIG_QCOM_GSBI diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_HIDMA b/baseconfig/arm/aarch64/CONFIG_QCOM_HIDMA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_HIDMA rename to baseconfig/arm/aarch64/CONFIG_QCOM_HIDMA diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_HIDMA_MGMT b/baseconfig/arm/aarch64/CONFIG_QCOM_HIDMA_MGMT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_HIDMA_MGMT rename to baseconfig/arm/aarch64/CONFIG_QCOM_HIDMA_MGMT diff --git a/baseconfig/arm/aarch64/CONFIG_QCOM_IOMMU b/baseconfig/arm/aarch64/CONFIG_QCOM_IOMMU new file mode 100644 index 000000000..b7e99b882 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_QCOM_IOMMU @@ -0,0 +1 @@ +CONFIG_QCOM_IOMMU=y diff --git a/baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER b/baseconfig/arm/aarch64/CONFIG_QCOM_IRQ_COMBINER similarity index 100% rename from baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER rename to baseconfig/arm/aarch64/CONFIG_QCOM_IRQ_COMBINER diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_L2_PMU b/baseconfig/arm/aarch64/CONFIG_QCOM_L2_PMU similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_L2_PMU rename to baseconfig/arm/aarch64/CONFIG_QCOM_L2_PMU diff --git a/baseconfig/arm/aarch64/CONFIG_QCOM_L3_PMU b/baseconfig/arm/aarch64/CONFIG_QCOM_L3_PMU new file mode 100644 index 000000000..ed899d66b --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_QCOM_L3_PMU @@ -0,0 +1 @@ +CONFIG_QCOM_L3_PMU=y diff --git a/baseconfig/arm/aarch64/CONFIG_QCOM_Q6V5_PIL b/baseconfig/arm/aarch64/CONFIG_QCOM_Q6V5_PIL new file mode 100644 index 000000000..18d8fb792 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_QCOM_Q6V5_PIL @@ -0,0 +1 @@ +CONFIG_QCOM_Q6V5_PIL=m diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_QDF2400_ERRATUM_0065 b/baseconfig/arm/aarch64/CONFIG_QCOM_QDF2400_ERRATUM_0065 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_QDF2400_ERRATUM_0065 rename to baseconfig/arm/aarch64/CONFIG_QCOM_QDF2400_ERRATUM_0065 diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_QFPROM b/baseconfig/arm/aarch64/CONFIG_QCOM_QFPROM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_QFPROM rename to baseconfig/arm/aarch64/CONFIG_QCOM_QFPROM diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SMD_RPM b/baseconfig/arm/aarch64/CONFIG_QCOM_SMD_RPM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_SMD_RPM rename to baseconfig/arm/aarch64/CONFIG_QCOM_SMD_RPM diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SMEM b/baseconfig/arm/aarch64/CONFIG_QCOM_SMEM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_SMEM rename to baseconfig/arm/aarch64/CONFIG_QCOM_SMEM diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SMP2P b/baseconfig/arm/aarch64/CONFIG_QCOM_SMP2P similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_SMP2P rename to baseconfig/arm/aarch64/CONFIG_QCOM_SMP2P diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SMSM b/baseconfig/arm/aarch64/CONFIG_QCOM_SMSM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_SMSM rename to baseconfig/arm/aarch64/CONFIG_QCOM_SMSM diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SPMI_IADC b/baseconfig/arm/aarch64/CONFIG_QCOM_SPMI_IADC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_SPMI_IADC rename to baseconfig/arm/aarch64/CONFIG_QCOM_SPMI_IADC diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SPMI_TEMP_ALARM b/baseconfig/arm/aarch64/CONFIG_QCOM_SPMI_TEMP_ALARM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_SPMI_TEMP_ALARM rename to baseconfig/arm/aarch64/CONFIG_QCOM_SPMI_TEMP_ALARM diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SPMI_VADC b/baseconfig/arm/aarch64/CONFIG_QCOM_SPMI_VADC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_SPMI_VADC rename to baseconfig/arm/aarch64/CONFIG_QCOM_SPMI_VADC diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_TSENS b/baseconfig/arm/aarch64/CONFIG_QCOM_TSENS similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_TSENS rename to baseconfig/arm/aarch64/CONFIG_QCOM_TSENS diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_CTRL b/baseconfig/arm/aarch64/CONFIG_QCOM_WCNSS_CTRL similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_CTRL rename to baseconfig/arm/aarch64/CONFIG_QCOM_WCNSS_CTRL diff --git a/baseconfig/arm/aarch64/CONFIG_QCOM_WCNSS_PIL b/baseconfig/arm/aarch64/CONFIG_QCOM_WCNSS_PIL new file mode 100644 index 000000000..b13cefb38 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_QCOM_WCNSS_PIL @@ -0,0 +1 @@ +CONFIG_QCOM_WCNSS_PIL=m diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_WDT b/baseconfig/arm/aarch64/CONFIG_QCOM_WDT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_QCOM_WDT rename to baseconfig/arm/aarch64/CONFIG_QCOM_WDT diff --git a/baseconfig/arm/aarch64/CONFIG_RANDOMIZE_BASE b/baseconfig/arm/aarch64/CONFIG_RANDOMIZE_BASE new file mode 100644 index 000000000..20610a95a --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RANDOMIZE_BASE @@ -0,0 +1 @@ +CONFIG_RANDOMIZE_BASE=y diff --git a/baseconfig/arm/aarch64/CONFIG_RANDOMIZE_MODULE_REGION_FULL b/baseconfig/arm/aarch64/CONFIG_RANDOMIZE_MODULE_REGION_FULL new file mode 100644 index 000000000..7645a371e --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RANDOMIZE_MODULE_REGION_FULL @@ -0,0 +1 @@ +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y diff --git a/baseconfig/arm/arm64/CONFIG_RCU_FANOUT b/baseconfig/arm/aarch64/CONFIG_RCU_FANOUT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_RCU_FANOUT rename to baseconfig/arm/aarch64/CONFIG_RCU_FANOUT diff --git a/baseconfig/arm/aarch64/CONFIG_REGMAP_SPMI b/baseconfig/arm/aarch64/CONFIG_REGMAP_SPMI new file mode 100644 index 000000000..eba374b73 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_REGMAP_SPMI @@ -0,0 +1 @@ +CONFIG_REGMAP_SPMI=y diff --git a/baseconfig/arm/arm64/CONFIG_REGULATOR_AXP20X b/baseconfig/arm/aarch64/CONFIG_REGULATOR_AXP20X similarity index 100% rename from baseconfig/arm/arm64/CONFIG_REGULATOR_AXP20X rename to baseconfig/arm/aarch64/CONFIG_REGULATOR_AXP20X diff --git a/baseconfig/arm/arm64/CONFIG_REGULATOR_HI655X b/baseconfig/arm/aarch64/CONFIG_REGULATOR_HI655X similarity index 100% rename from baseconfig/arm/arm64/CONFIG_REGULATOR_HI655X rename to baseconfig/arm/aarch64/CONFIG_REGULATOR_HI655X diff --git a/baseconfig/arm/arm64/CONFIG_REGULATOR_MAX77620 b/baseconfig/arm/aarch64/CONFIG_REGULATOR_MAX77620 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_REGULATOR_MAX77620 rename to baseconfig/arm/aarch64/CONFIG_REGULATOR_MAX77620 diff --git a/baseconfig/arm/arm64/CONFIG_REGULATOR_QCOM_RPM b/baseconfig/arm/aarch64/CONFIG_REGULATOR_QCOM_RPM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_REGULATOR_QCOM_RPM rename to baseconfig/arm/aarch64/CONFIG_REGULATOR_QCOM_RPM diff --git a/baseconfig/arm/arm64/CONFIG_REGULATOR_QCOM_SMD_RPM b/baseconfig/arm/aarch64/CONFIG_REGULATOR_QCOM_SMD_RPM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_REGULATOR_QCOM_SMD_RPM rename to baseconfig/arm/aarch64/CONFIG_REGULATOR_QCOM_SMD_RPM diff --git a/baseconfig/arm/arm64/CONFIG_REGULATOR_QCOM_SPMI b/baseconfig/arm/aarch64/CONFIG_REGULATOR_QCOM_SPMI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_REGULATOR_QCOM_SPMI rename to baseconfig/arm/aarch64/CONFIG_REGULATOR_QCOM_SPMI diff --git a/baseconfig/arm/aarch64/CONFIG_RELOCATABLE b/baseconfig/arm/aarch64/CONFIG_RELOCATABLE new file mode 100644 index 000000000..36808edb3 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RELOCATABLE @@ -0,0 +1 @@ +CONFIG_RELOCATABLE=y diff --git a/baseconfig/arm/arm64/CONFIG_RESET_HISI b/baseconfig/arm/aarch64/CONFIG_RESET_HISI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_RESET_HISI rename to baseconfig/arm/aarch64/CONFIG_RESET_HISI diff --git a/baseconfig/arm/aarch64/CONFIG_RPMSG b/baseconfig/arm/aarch64/CONFIG_RPMSG new file mode 100644 index 000000000..7cc8785d0 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RPMSG @@ -0,0 +1 @@ +CONFIG_RPMSG=m diff --git a/baseconfig/arm/aarch64/CONFIG_RPMSG_QCOM_GLINK_RPM b/baseconfig/arm/aarch64/CONFIG_RPMSG_QCOM_GLINK_RPM new file mode 100644 index 000000000..1f5ac58f2 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RPMSG_QCOM_GLINK_RPM @@ -0,0 +1 @@ +CONFIG_RPMSG_QCOM_GLINK_RPM=m diff --git a/baseconfig/arm/aarch64/CONFIG_RPMSG_QCOM_SMD b/baseconfig/arm/aarch64/CONFIG_RPMSG_QCOM_SMD new file mode 100644 index 000000000..f65af3d10 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RPMSG_QCOM_SMD @@ -0,0 +1 @@ +CONFIG_RPMSG_QCOM_SMD=m diff --git a/baseconfig/arm/arm64/CONFIG_RTC_DRV_EFI b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_EFI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_RTC_DRV_EFI rename to baseconfig/arm/aarch64/CONFIG_RTC_DRV_EFI diff --git a/baseconfig/arm/arm64/CONFIG_RTC_DRV_PL030 b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_PL030 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_RTC_DRV_PL030 rename to baseconfig/arm/aarch64/CONFIG_RTC_DRV_PL030 diff --git a/baseconfig/arm/arm64/CONFIG_RTC_DRV_PM8XXX b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_PM8XXX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_RTC_DRV_PM8XXX rename to baseconfig/arm/aarch64/CONFIG_RTC_DRV_PM8XXX diff --git a/baseconfig/arm/arm64/CONFIG_RTC_DRV_SUN6I b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_SUN6I similarity index 100% rename from baseconfig/arm/arm64/CONFIG_RTC_DRV_SUN6I rename to baseconfig/arm/aarch64/CONFIG_RTC_DRV_SUN6I diff --git a/baseconfig/arm/arm64/CONFIG_RTC_DRV_XGENE b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_RTC_DRV_XGENE rename to baseconfig/arm/aarch64/CONFIG_RTC_DRV_XGENE diff --git a/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP new file mode 100644 index 000000000..440cc295e --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP @@ -0,0 +1 @@ +CONFIG_RTC_DRV_ZYNQMP=m diff --git a/baseconfig/arm/arm64/CONFIG_SATA_AHCI_SEATTLE b/baseconfig/arm/aarch64/CONFIG_SATA_AHCI_SEATTLE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SATA_AHCI_SEATTLE rename to baseconfig/arm/aarch64/CONFIG_SATA_AHCI_SEATTLE diff --git a/baseconfig/arm/arm64/CONFIG_SENSORS_ACPI_POWER b/baseconfig/arm/aarch64/CONFIG_SENSORS_ACPI_POWER similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SENSORS_ACPI_POWER rename to baseconfig/arm/aarch64/CONFIG_SENSORS_ACPI_POWER diff --git a/baseconfig/arm/arm64/CONFIG_SENSORS_LTC2978_REGULATOR b/baseconfig/arm/aarch64/CONFIG_SENSORS_LTC2978_REGULATOR similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SENSORS_LTC2978_REGULATOR rename to baseconfig/arm/aarch64/CONFIG_SENSORS_LTC2978_REGULATOR diff --git a/baseconfig/arm/arm64/CONFIG_SENSORS_XGENE b/baseconfig/arm/aarch64/CONFIG_SENSORS_XGENE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SENSORS_XGENE rename to baseconfig/arm/aarch64/CONFIG_SENSORS_XGENE diff --git a/baseconfig/arm/arm64/CONFIG_SERIAL_AMBA_PL010 b/baseconfig/arm/aarch64/CONFIG_SERIAL_AMBA_PL010 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SERIAL_AMBA_PL010 rename to baseconfig/arm/aarch64/CONFIG_SERIAL_AMBA_PL010 diff --git a/baseconfig/arm/arm64/CONFIG_SERIAL_MSM b/baseconfig/arm/aarch64/CONFIG_SERIAL_MSM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SERIAL_MSM rename to baseconfig/arm/aarch64/CONFIG_SERIAL_MSM diff --git a/baseconfig/arm/arm64/CONFIG_SERIAL_MSM_CONSOLE b/baseconfig/arm/aarch64/CONFIG_SERIAL_MSM_CONSOLE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SERIAL_MSM_CONSOLE rename to baseconfig/arm/aarch64/CONFIG_SERIAL_MSM_CONSOLE diff --git a/baseconfig/arm/arm64/CONFIG_SERIO_SUN4I_PS2 b/baseconfig/arm/aarch64/CONFIG_SERIO_SUN4I_PS2 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SERIO_SUN4I_PS2 rename to baseconfig/arm/aarch64/CONFIG_SERIO_SUN4I_PS2 diff --git a/baseconfig/arm/arm64/CONFIG_SND_KIRKWOOD_SOC b/baseconfig/arm/aarch64/CONFIG_SND_KIRKWOOD_SOC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_KIRKWOOD_SOC rename to baseconfig/arm/aarch64/CONFIG_SND_KIRKWOOD_SOC diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_APQ8016_SBC b/baseconfig/arm/aarch64/CONFIG_SND_SOC_APQ8016_SBC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_APQ8016_SBC rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_APQ8016_SBC diff --git a/baseconfig/arm/aarch64/CONFIG_SND_SOC_MSM8916_WCD_ANALOG b/baseconfig/arm/aarch64/CONFIG_SND_SOC_MSM8916_WCD_ANALOG new file mode 100644 index 000000000..207a5e523 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SND_SOC_MSM8916_WCD_ANALOG @@ -0,0 +1 @@ +CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m diff --git a/baseconfig/arm/aarch64/CONFIG_SND_SOC_MSM8916_WCD_DIGITAL b/baseconfig/arm/aarch64/CONFIG_SND_SOC_MSM8916_WCD_DIGITAL new file mode 100644 index 000000000..db12f036e --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SND_SOC_MSM8916_WCD_DIGITAL @@ -0,0 +1 @@ +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_QCOM b/baseconfig/arm/aarch64/CONFIG_SND_SOC_QCOM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_QCOM rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_QCOM diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_SGTL5000 b/baseconfig/arm/aarch64/CONFIG_SND_SOC_SGTL5000 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_SGTL5000 rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_SGTL5000 diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_STORM b/baseconfig/arm/aarch64/CONFIG_SND_SOC_STORM similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_STORM rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_STORM diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA b/baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_MAX98090 b/baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_MAX98090 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_MAX98090 rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_MAX98090 diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5640 b/baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_RT5640 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5640 rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_RT5640 diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5677 b/baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_RT5677 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5677 rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_RT5677 diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_SGTL5000 b/baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_SGTL5000 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_SGTL5000 rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_SGTL5000 diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_WM8753 b/baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_WM8753 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_WM8753 rename to baseconfig/arm/aarch64/CONFIG_SND_SOC_TEGRA_WM8753 diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN4I_CODEC b/baseconfig/arm/aarch64/CONFIG_SND_SUN4I_CODEC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SUN4I_CODEC rename to baseconfig/arm/aarch64/CONFIG_SND_SUN4I_CODEC diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN4I_I2S b/baseconfig/arm/aarch64/CONFIG_SND_SUN4I_I2S similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SUN4I_I2S rename to baseconfig/arm/aarch64/CONFIG_SND_SUN4I_I2S diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN4I_SPDIF b/baseconfig/arm/aarch64/CONFIG_SND_SUN4I_SPDIF similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SUN4I_SPDIF rename to baseconfig/arm/aarch64/CONFIG_SND_SUN4I_SPDIF diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC b/baseconfig/arm/aarch64/CONFIG_SND_SUN8I_CODEC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC rename to baseconfig/arm/aarch64/CONFIG_SND_SUN8I_CODEC diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC_ANALOG b/baseconfig/arm/aarch64/CONFIG_SND_SUN8I_CODEC_ANALOG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC_ANALOG rename to baseconfig/arm/aarch64/CONFIG_SND_SUN8I_CODEC_ANALOG diff --git a/baseconfig/arm/aarch64/CONFIG_SNI_NETSEC b/baseconfig/arm/aarch64/CONFIG_SNI_NETSEC new file mode 100644 index 000000000..c348519ff --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SNI_NETSEC @@ -0,0 +1 @@ +CONFIG_SNI_NETSEC=m diff --git a/baseconfig/arm/aarch64/CONFIG_SOCIONEXT_SYNQUACER_PREITS b/baseconfig/arm/aarch64/CONFIG_SOCIONEXT_SYNQUACER_PREITS new file mode 100644 index 000000000..ded5c358e --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SOCIONEXT_SYNQUACER_PREITS @@ -0,0 +1 @@ +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y diff --git a/baseconfig/arm/aarch64/CONFIG_SOC_TEGRA_FLOWCTRL b/baseconfig/arm/aarch64/CONFIG_SOC_TEGRA_FLOWCTRL new file mode 100644 index 000000000..00413d459 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SOC_TEGRA_FLOWCTRL @@ -0,0 +1 @@ +CONFIG_SOC_TEGRA_FLOWCTRL=y diff --git a/baseconfig/arm/arm64/CONFIG_SPARSEMEM_VMEMMAP b/baseconfig/arm/aarch64/CONFIG_SPARSEMEM_VMEMMAP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SPARSEMEM_VMEMMAP rename to baseconfig/arm/aarch64/CONFIG_SPARSEMEM_VMEMMAP diff --git a/baseconfig/arm/arm64/CONFIG_SPARSE_IRQ b/baseconfig/arm/aarch64/CONFIG_SPARSE_IRQ similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SPARSE_IRQ rename to baseconfig/arm/aarch64/CONFIG_SPARSE_IRQ diff --git a/baseconfig/arm/arm64/CONFIG_SPI_QUP b/baseconfig/arm/aarch64/CONFIG_SPI_QUP similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SPI_QUP rename to baseconfig/arm/aarch64/CONFIG_SPI_QUP diff --git a/baseconfig/arm/arm64/CONFIG_SPI_SUN6I b/baseconfig/arm/aarch64/CONFIG_SPI_SUN6I similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SPI_SUN6I rename to baseconfig/arm/aarch64/CONFIG_SPI_SUN6I diff --git a/baseconfig/arm/arm64/CONFIG_SPI_THUNDERX b/baseconfig/arm/aarch64/CONFIG_SPI_THUNDERX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SPI_THUNDERX rename to baseconfig/arm/aarch64/CONFIG_SPI_THUNDERX diff --git a/baseconfig/arm/aarch64/CONFIG_SPI_XLP b/baseconfig/arm/aarch64/CONFIG_SPI_XLP new file mode 100644 index 000000000..6026d5f51 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SPI_XLP @@ -0,0 +1 @@ +CONFIG_SPI_XLP=m diff --git a/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI b/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI new file mode 100644 index 000000000..98ca0a7ef --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI @@ -0,0 +1 @@ +CONFIG_SPI_ZYNQMP_GQSPI=m diff --git a/baseconfig/arm/aarch64/CONFIG_SPMI b/baseconfig/arm/aarch64/CONFIG_SPMI new file mode 100644 index 000000000..4ce4dfde9 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SPMI @@ -0,0 +1 @@ +CONFIG_SPMI=y diff --git a/baseconfig/arm/aarch64/CONFIG_SPMI_MSM_PMIC_ARB b/baseconfig/arm/aarch64/CONFIG_SPMI_MSM_PMIC_ARB new file mode 100644 index 000000000..bd46b497a --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SPMI_MSM_PMIC_ARB @@ -0,0 +1 @@ +CONFIG_SPMI_MSM_PMIC_ARB=y diff --git a/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660 b/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660 new file mode 100644 index 000000000..99ffc024c --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660 @@ -0,0 +1 @@ +CONFIG_STUB_CLK_HI3660=y diff --git a/baseconfig/arm/arm64/CONFIG_STUB_CLK_HI6220 b/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI6220 similarity index 100% rename from baseconfig/arm/arm64/CONFIG_STUB_CLK_HI6220 rename to baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI6220 diff --git a/baseconfig/arm/arm64/CONFIG_SUN4I_EMAC b/baseconfig/arm/aarch64/CONFIG_SUN4I_EMAC similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SUN4I_EMAC rename to baseconfig/arm/aarch64/CONFIG_SUN4I_EMAC diff --git a/baseconfig/arm/aarch64/CONFIG_SUN4I_GPADC b/baseconfig/arm/aarch64/CONFIG_SUN4I_GPADC new file mode 100644 index 000000000..97139c216 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_SUN4I_GPADC @@ -0,0 +1 @@ +CONFIG_SUN4I_GPADC=m diff --git a/baseconfig/arm/arm64/CONFIG_SUN50I_A64_CCU b/baseconfig/arm/aarch64/CONFIG_SUN50I_A64_CCU similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SUN50I_A64_CCU rename to baseconfig/arm/aarch64/CONFIG_SUN50I_A64_CCU diff --git a/baseconfig/arm/arm64/CONFIG_SUNXI_CCU b/baseconfig/arm/aarch64/CONFIG_SUNXI_CCU similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SUNXI_CCU rename to baseconfig/arm/aarch64/CONFIG_SUNXI_CCU diff --git a/baseconfig/arm/arm64/CONFIG_SUNXI_WATCHDOG b/baseconfig/arm/aarch64/CONFIG_SUNXI_WATCHDOG similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SUNXI_WATCHDOG rename to baseconfig/arm/aarch64/CONFIG_SUNXI_WATCHDOG diff --git a/baseconfig/arm/arm64/CONFIG_SYS_HYPERVISOR b/baseconfig/arm/aarch64/CONFIG_SYS_HYPERVISOR similarity index 100% rename from baseconfig/arm/arm64/CONFIG_SYS_HYPERVISOR rename to baseconfig/arm/aarch64/CONFIG_SYS_HYPERVISOR diff --git a/baseconfig/arm/arm64/CONFIG_TEGRA210_ADMA b/baseconfig/arm/aarch64/CONFIG_TEGRA210_ADMA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_TEGRA210_ADMA rename to baseconfig/arm/aarch64/CONFIG_TEGRA210_ADMA diff --git a/baseconfig/arm/arm64/CONFIG_TEGRA_ACONNECT b/baseconfig/arm/aarch64/CONFIG_TEGRA_ACONNECT similarity index 100% rename from baseconfig/arm/arm64/CONFIG_TEGRA_ACONNECT rename to baseconfig/arm/aarch64/CONFIG_TEGRA_ACONNECT diff --git a/baseconfig/arm/aarch64/CONFIG_TEGRA_BPMP b/baseconfig/arm/aarch64/CONFIG_TEGRA_BPMP new file mode 100644 index 000000000..348002b0b --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_TEGRA_BPMP @@ -0,0 +1 @@ +CONFIG_TEGRA_BPMP=y diff --git a/baseconfig/arm/aarch64/CONFIG_TEGRA_BPMP_THERMAL b/baseconfig/arm/aarch64/CONFIG_TEGRA_BPMP_THERMAL new file mode 100644 index 000000000..41b5a2ab5 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_TEGRA_BPMP_THERMAL @@ -0,0 +1 @@ +CONFIG_TEGRA_BPMP_THERMAL=m diff --git a/baseconfig/arm/arm64/CONFIG_TEGRA_GMI b/baseconfig/arm/aarch64/CONFIG_TEGRA_GMI similarity index 100% rename from baseconfig/arm/arm64/CONFIG_TEGRA_GMI rename to baseconfig/arm/aarch64/CONFIG_TEGRA_GMI diff --git a/baseconfig/arm/aarch64/CONFIG_TEGRA_HSP_MBOX b/baseconfig/arm/aarch64/CONFIG_TEGRA_HSP_MBOX new file mode 100644 index 000000000..3d46b7c93 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_TEGRA_HSP_MBOX @@ -0,0 +1 @@ +CONFIG_TEGRA_HSP_MBOX=y diff --git a/baseconfig/arm/arm64/CONFIG_THUNDER_NIC_BGX b/baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_BGX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_THUNDER_NIC_BGX rename to baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_BGX diff --git a/baseconfig/arm/arm64/CONFIG_THUNDER_NIC_PF b/baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_PF similarity index 100% rename from baseconfig/arm/arm64/CONFIG_THUNDER_NIC_PF rename to baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_PF diff --git a/baseconfig/arm/arm64/CONFIG_THUNDER_NIC_RGX b/baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_RGX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_THUNDER_NIC_RGX rename to baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_RGX diff --git a/baseconfig/arm/arm64/CONFIG_THUNDER_NIC_VF b/baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_VF similarity index 100% rename from baseconfig/arm/arm64/CONFIG_THUNDER_NIC_VF rename to baseconfig/arm/aarch64/CONFIG_THUNDER_NIC_VF diff --git a/baseconfig/arm/arm64/CONFIG_TOUCHSCREEN_SUN4I b/baseconfig/arm/aarch64/CONFIG_TOUCHSCREEN_SUN4I similarity index 100% rename from baseconfig/arm/arm64/CONFIG_TOUCHSCREEN_SUN4I rename to baseconfig/arm/aarch64/CONFIG_TOUCHSCREEN_SUN4I diff --git a/baseconfig/arm/aarch64/CONFIG_USB_CONFIGFS_F_LB_SS b/baseconfig/arm/aarch64/CONFIG_USB_CONFIGFS_F_LB_SS new file mode 100644 index 000000000..213edb5a1 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_USB_CONFIGFS_F_LB_SS @@ -0,0 +1 @@ +# CONFIG_USB_CONFIGFS_F_LB_SS is not set diff --git a/baseconfig/arm/arm64/CONFIG_USB_SPEEDTOUCH b/baseconfig/arm/aarch64/CONFIG_USB_SPEEDTOUCH similarity index 100% rename from baseconfig/arm/arm64/CONFIG_USB_SPEEDTOUCH rename to baseconfig/arm/aarch64/CONFIG_USB_SPEEDTOUCH diff --git a/baseconfig/arm/arm64/CONFIG_VDSO b/baseconfig/arm/aarch64/CONFIG_VDSO similarity index 100% rename from baseconfig/arm/arm64/CONFIG_VDSO rename to baseconfig/arm/aarch64/CONFIG_VDSO diff --git a/baseconfig/arm/arm64/CONFIG_VFIO_PLATFORM_AMDXGBE_RESET b/baseconfig/arm/aarch64/CONFIG_VFIO_PLATFORM_AMDXGBE_RESET similarity index 100% rename from baseconfig/arm/arm64/CONFIG_VFIO_PLATFORM_AMDXGBE_RESET rename to baseconfig/arm/aarch64/CONFIG_VFIO_PLATFORM_AMDXGBE_RESET diff --git a/baseconfig/arm/arm64/CONFIG_VGA_CONSOLE b/baseconfig/arm/aarch64/CONFIG_VGA_CONSOLE similarity index 100% rename from baseconfig/arm/arm64/CONFIG_VGA_CONSOLE rename to baseconfig/arm/aarch64/CONFIG_VGA_CONSOLE diff --git a/baseconfig/arm/aarch64/CONFIG_VIDEO_QCOM_CAMSS b/baseconfig/arm/aarch64/CONFIG_VIDEO_QCOM_CAMSS new file mode 100644 index 000000000..5e2512c4c --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_VIDEO_QCOM_CAMSS @@ -0,0 +1 @@ +CONFIG_VIDEO_QCOM_CAMSS=m diff --git a/baseconfig/arm/aarch64/CONFIG_VIDEO_QCOM_VENUS b/baseconfig/arm/aarch64/CONFIG_VIDEO_QCOM_VENUS new file mode 100644 index 000000000..68082fdff --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_VIDEO_QCOM_VENUS @@ -0,0 +1 @@ +CONFIG_VIDEO_QCOM_VENUS=m diff --git a/baseconfig/arm/aarch64/CONFIG_VMAP_STACK b/baseconfig/arm/aarch64/CONFIG_VMAP_STACK new file mode 100644 index 000000000..8bd986875 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_VMAP_STACK @@ -0,0 +1 @@ +CONFIG_VMAP_STACK=y diff --git a/baseconfig/arm/arm64/CONFIG_XGENE_DMA b/baseconfig/arm/aarch64/CONFIG_XGENE_DMA similarity index 100% rename from baseconfig/arm/arm64/CONFIG_XGENE_DMA rename to baseconfig/arm/aarch64/CONFIG_XGENE_DMA diff --git a/baseconfig/arm/arm64/CONFIG_XGENE_PMU b/baseconfig/arm/aarch64/CONFIG_XGENE_PMU similarity index 100% rename from baseconfig/arm/arm64/CONFIG_XGENE_PMU rename to baseconfig/arm/aarch64/CONFIG_XGENE_PMU diff --git a/baseconfig/arm/arm64/CONFIG_XGENE_SLIMPRO_MBOX b/baseconfig/arm/aarch64/CONFIG_XGENE_SLIMPRO_MBOX similarity index 100% rename from baseconfig/arm/arm64/CONFIG_XGENE_SLIMPRO_MBOX rename to baseconfig/arm/aarch64/CONFIG_XGENE_SLIMPRO_MBOX diff --git a/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA b/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA new file mode 100644 index 000000000..9d804ee98 --- /dev/null +++ b/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA @@ -0,0 +1 @@ +CONFIG_XILINX_ZYNQMP_DMA=m diff --git a/baseconfig/arm/arm64/README b/baseconfig/arm/aarch64/README similarity index 100% rename from baseconfig/arm/arm64/README rename to baseconfig/arm/aarch64/README diff --git a/baseconfig/arm/arm64/CONFIG_ACPI_CPPC_CPUFREQ b/baseconfig/arm/arm64/CONFIG_ACPI_CPPC_CPUFREQ deleted file mode 100644 index 5d20724da..000000000 --- a/baseconfig/arm/arm64/CONFIG_ACPI_CPPC_CPUFREQ +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ACPI_CPPC_CPUFREQ is not set diff --git a/baseconfig/arm/arm64/CONFIG_APQ_GCC_8084 b/baseconfig/arm/arm64/CONFIG_APQ_GCC_8084 deleted file mode 100644 index 5ce9e62f4..000000000 --- a/baseconfig/arm/arm64/CONFIG_APQ_GCC_8084 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_APQ_GCC_8084=m diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC b/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC deleted file mode 100644 index 0439db330..000000000 --- a/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_TEGRA_186_SOC is not set diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN b/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN deleted file mode 100644 index 6081275c5..000000000 --- a/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_VULCAN is not set diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_ZYNQMP b/baseconfig/arm/arm64/CONFIG_ARCH_ZYNQMP deleted file mode 100644 index f92a386c6..000000000 --- a/baseconfig/arm/arm64/CONFIG_ARCH_ZYNQMP +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_ZYNQMP is not set diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN b/baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN deleted file mode 100644 index 3b878e832..000000000 --- a/baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARM64_SW_TTBR0_PAN is not set diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_QCOM b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_QCOM deleted file mode 100644 index ec4000095..000000000 --- a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_QCOM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_COMMON_CLK_QCOM=m diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 b/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 deleted file mode 100644 index 113c72b8c..000000000 --- a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_AES_ARM64=m diff --git a/baseconfig/arm/arm64/CONFIG_DRM_MSM_DSI b/baseconfig/arm/arm64/CONFIG_DRM_MSM_DSI deleted file mode 100644 index e305e243b..000000000 --- a/baseconfig/arm/arm64/CONFIG_DRM_MSM_DSI +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_MSM_DSI is not set diff --git a/baseconfig/arm/arm64/CONFIG_GPIO_PCA953X b/baseconfig/arm/arm64/CONFIG_GPIO_PCA953X deleted file mode 100644 index 15f1c9373..000000000 --- a/baseconfig/arm/arm64/CONFIG_GPIO_PCA953X +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GPIO_PCA953X=m diff --git a/baseconfig/arm/arm64/CONFIG_K3_DMA b/baseconfig/arm/arm64/CONFIG_K3_DMA deleted file mode 100644 index b698e7e5e..000000000 --- a/baseconfig/arm/arm64/CONFIG_K3_DMA +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_K3_DMA is not set diff --git a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8660 b/baseconfig/arm/arm64/CONFIG_MSM_GCC_8660 deleted file mode 100644 index 457d918ff..000000000 --- a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8660 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MSM_GCC_8660=m diff --git a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8916 b/baseconfig/arm/arm64/CONFIG_MSM_GCC_8916 deleted file mode 100644 index f65dc3662..000000000 --- a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8916 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MSM_GCC_8916 is not set diff --git a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8960 b/baseconfig/arm/arm64/CONFIG_MSM_GCC_8960 deleted file mode 100644 index a492a6821..000000000 --- a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8960 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MSM_GCC_8960=m diff --git a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8974 b/baseconfig/arm/arm64/CONFIG_MSM_GCC_8974 deleted file mode 100644 index 62f48a9e8..000000000 --- a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8974 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MSM_GCC_8974=m diff --git a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8996 b/baseconfig/arm/arm64/CONFIG_MSM_GCC_8996 deleted file mode 100644 index 166ddcce5..000000000 --- a/baseconfig/arm/arm64/CONFIG_MSM_GCC_8996 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MSM_GCC_8996=m diff --git a/baseconfig/arm/arm64/CONFIG_MV_XOR_V2 b/baseconfig/arm/arm64/CONFIG_MV_XOR_V2 deleted file mode 100644 index a6e590eb8..000000000 --- a/baseconfig/arm/arm64/CONFIG_MV_XOR_V2 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MV_XOR_V2 is not set diff --git a/baseconfig/arm/arm64/CONFIG_PARPORT_PC b/baseconfig/arm/arm64/CONFIG_PARPORT_PC deleted file mode 100644 index e2a0d3656..000000000 --- a/baseconfig/arm/arm64/CONFIG_PARPORT_PC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PARPORT_PC is not set diff --git a/baseconfig/arm/arm64/CONFIG_PHY_QCOM_UFS b/baseconfig/arm/arm64/CONFIG_PHY_QCOM_UFS deleted file mode 100644 index 50ac1d830..000000000 --- a/baseconfig/arm/arm64/CONFIG_PHY_QCOM_UFS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PHY_QCOM_UFS is not set diff --git a/baseconfig/arm/arm64/CONFIG_PINCTRL_QCOM_SPMI_PMIC b/baseconfig/arm/arm64/CONFIG_PINCTRL_QCOM_SPMI_PMIC deleted file mode 100644 index 42b81a044..000000000 --- a/baseconfig/arm/arm64/CONFIG_PINCTRL_QCOM_SPMI_PMIC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PINCTRL_QCOM_SPMI_PMIC=m diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL b/baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL deleted file mode 100644 index b749a7daa..000000000 --- a/baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_QCOM_Q6V5_PIL is not set diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_SMD b/baseconfig/arm/arm64/CONFIG_QCOM_SMD deleted file mode 100644 index d43fecfdb..000000000 --- a/baseconfig/arm/arm64/CONFIG_QCOM_SMD +++ /dev/null @@ -1 +0,0 @@ -CONFIG_QCOM_SMD=m diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL b/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL deleted file mode 100644 index bb8c24d61..000000000 --- a/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_QCOM_WCNSS_PIL is not set diff --git a/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE b/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE deleted file mode 100644 index 097a2d3e7..000000000 --- a/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_RANDOMIZE_BASE is not set diff --git a/baseconfig/arm/arm64/CONFIG_RELOCATABLE b/baseconfig/arm/arm64/CONFIG_RELOCATABLE deleted file mode 100644 index ff7e13901..000000000 --- a/baseconfig/arm/arm64/CONFIG_RELOCATABLE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_RELOCATABLE is not set diff --git a/baseconfig/arm/arm64/CONFIG_SPMI_MSM_PMIC_ARB b/baseconfig/arm/arm64/CONFIG_SPMI_MSM_PMIC_ARB deleted file mode 100644 index 813a8d1d9..000000000 --- a/baseconfig/arm/arm64/CONFIG_SPMI_MSM_PMIC_ARB +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SPMI_MSM_PMIC_ARB=m diff --git a/baseconfig/arm/arm64/CONFIG_SUN8I_H3_CCU b/baseconfig/arm/arm64/CONFIG_SUN8I_H3_CCU deleted file mode 100644 index 02cfb2c97..000000000 --- a/baseconfig/arm/arm64/CONFIG_SUN8I_H3_CCU +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SUN8I_H3_CCU is not set diff --git a/baseconfig/arm/arm64/CONFIG_TEGRA_IVC b/baseconfig/arm/arm64/CONFIG_TEGRA_IVC deleted file mode 100644 index cdcacbec2..000000000 --- a/baseconfig/arm/arm64/CONFIG_TEGRA_IVC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TEGRA_IVC=y diff --git a/baseconfig/arm/arm64/CONFIG_USB_EHCI_MSM b/baseconfig/arm/arm64/CONFIG_USB_EHCI_MSM deleted file mode 100644 index 7397a0f15..000000000 --- a/baseconfig/arm/arm64/CONFIG_USB_EHCI_MSM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_EHCI_MSM=m diff --git a/baseconfig/arm/arm64/CONFIG_USB_MSM_OTG b/baseconfig/arm/arm64/CONFIG_USB_MSM_OTG deleted file mode 100644 index 043abcf37..000000000 --- a/baseconfig/arm/arm64/CONFIG_USB_MSM_OTG +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_MSM_OTG=m diff --git a/baseconfig/arm/arm64/CONFIG_USB_QCOM_8X16_PHY b/baseconfig/arm/arm64/CONFIG_USB_QCOM_8X16_PHY deleted file mode 100644 index 79fac4fdc..000000000 --- a/baseconfig/arm/arm64/CONFIG_USB_QCOM_8X16_PHY +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_QCOM_8X16_PHY=m diff --git a/baseconfig/arm/armv7/CONFIG_AHCI_DM816 b/baseconfig/arm/armv7/CONFIG_AHCI_DM816 new file mode 100644 index 000000000..ba4b51891 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_AHCI_DM816 @@ -0,0 +1 @@ +CONFIG_AHCI_DM816=m diff --git a/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ b/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ deleted file mode 100644 index 8b76dfa84..000000000 --- a/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ARM_BIG_LITTLE_CPUFREQ=m diff --git a/baseconfig/arm/armv7/CONFIG_AXP20X_ADC b/baseconfig/arm/armv7/CONFIG_AXP20X_ADC new file mode 100644 index 000000000..025239f25 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_AXP20X_ADC @@ -0,0 +1 @@ +CONFIG_AXP20X_ADC=m diff --git a/baseconfig/arm/armv7/CONFIG_BATTERY_AXP20X b/baseconfig/arm/armv7/CONFIG_BATTERY_AXP20X new file mode 100644 index 000000000..75591a277 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_BATTERY_AXP20X @@ -0,0 +1 @@ +CONFIG_BATTERY_AXP20X=m diff --git a/baseconfig/arm/armv7/CONFIG_CGROUP_RDMA b/baseconfig/arm/armv7/CONFIG_CGROUP_RDMA new file mode 100644 index 000000000..94ae4f4bc --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_CGROUP_RDMA @@ -0,0 +1 @@ +# CONFIG_CGROUP_RDMA is not set diff --git a/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77802 b/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77802 deleted file mode 100644 index c6e1136d0..000000000 --- a/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77802 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_COMMON_CLK_MAX77802=m diff --git a/baseconfig/arm/armv7/CONFIG_CRYPTO_DEV_EXYNOS_RNG b/baseconfig/arm/armv7/CONFIG_CRYPTO_DEV_EXYNOS_RNG new file mode 100644 index 000000000..f60ff08ee --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_CRYPTO_DEV_EXYNOS_RNG @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_EXYNOS_RNG=m diff --git a/baseconfig/arm/armv7/CONFIG_CRYPTO_GHASH_ARM_CE b/baseconfig/arm/armv7/CONFIG_CRYPTO_GHASH_ARM_CE deleted file mode 100644 index e2ffa82ef..000000000 --- a/baseconfig/arm/armv7/CONFIG_CRYPTO_GHASH_ARM_CE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_CRYPTO_GHASH_ARM_CE is not set diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC deleted file mode 100644 index 761cf114e..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_FIMC=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC deleted file mode 100644 index cf2c394a6..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_GSC=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU index 1c741aa22..5975dfe01 100644 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU +++ b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IOMMU @@ -1 +1 @@ -# CONFIG_DRM_EXYNOS_IOMMU is not set +CONFIG_DRM_EXYNOS_IOMMU=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP deleted file mode 100644 index 0d547a2f8..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_IPP=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR deleted file mode 100644 index b994e95b5..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_EXYNOS_ROTATOR=y diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_LG_LG4573 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_LG_LG4573 deleted file mode 100644 index bdb9d96a2..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_LG_LG4573 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_LG_LG4573=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 deleted file mode 100644 index 6a1aa6578..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_LD9040 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_LD9040 deleted file mode 100644 index aa66847bb..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_LD9040 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_SAMSUNG_LD9040=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 deleted file mode 100644 index 8e8122a2d..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 deleted file mode 100644 index e5e36406d..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 deleted file mode 100644 index e3649f9de..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SIMPLE b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SIMPLE deleted file mode 100644 index 1c716c97c..000000000 --- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SIMPLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL_SIMPLE=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND b/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND new file mode 100644 index 000000000..c1d1d2121 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND @@ -0,0 +1 @@ +CONFIG_DRM_SUN4I_BACKEND=m diff --git a/baseconfig/arm/armv7/CONFIG_DRM_TVE200 b/baseconfig/arm/armv7/CONFIG_DRM_TVE200 new file mode 100644 index 000000000..9e6b9770d --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_DRM_TVE200 @@ -0,0 +1 @@ +CONFIG_DRM_TVE200=m diff --git a/baseconfig/arm/armv7/CONFIG_EXYNOS5420_MCPM not set b/baseconfig/arm/armv7/CONFIG_EXYNOS5420_MCPM not set deleted file mode 100644 index d161874fe..000000000 --- a/baseconfig/arm/armv7/CONFIG_EXYNOS5420_MCPM not set +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EXYNOS5420_MCPM not set diff --git a/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU b/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU index 76ab03ad5..6a0844a77 100644 --- a/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU +++ b/baseconfig/arm/armv7/CONFIG_EXYNOS_IOMMU @@ -1 +1 @@ -# CONFIG_EXYNOS_IOMMU is not set +CONFIG_EXYNOS_IOMMU=y diff --git a/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO b/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO deleted file mode 100644 index 7b38ce09b..000000000 --- a/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_IIO_CROS_EC_BARO is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND b/baseconfig/arm/armv7/CONFIG_INFINIBAND new file mode 100644 index 000000000..b475048ed --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND @@ -0,0 +1 @@ +# CONFIG_INFINIBAND is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB3 b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB3 new file mode 100644 index 000000000..f06c87360 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB3 @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_CXGB3 is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB4 b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB4 new file mode 100644 index 000000000..40ff06894 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_CXGB4 @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_CXGB4 is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_I40IW b/baseconfig/arm/armv7/CONFIG_INFINIBAND_I40IW new file mode 100644 index 000000000..39998dbd7 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_I40IW @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_I40IW is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB new file mode 100644 index 000000000..5f27e681e --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_IPOIB is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_CM b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_CM new file mode 100644 index 000000000..b26396a7e --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_CM @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_IPOIB_CM is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG new file mode 100644 index 000000000..f1a19d66a --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_IPOIB_DEBUG is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG_DATA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG_DATA new file mode 100644 index 000000000..00e419c17 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_IPOIB_DEBUG_DATA @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISER b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISER new file mode 100644 index 000000000..89d63b0a5 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISER @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_ISER is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISERT b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISERT new file mode 100644 index 000000000..a8c9bda68 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ISERT @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_ISERT is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_MTHCA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_MTHCA new file mode 100644 index 000000000..a134e36a3 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_MTHCA @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_MTHCA is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_NES b/baseconfig/arm/armv7/CONFIG_INFINIBAND_NES new file mode 100644 index 000000000..eee505590 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_NES @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_NES is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_OCRDMA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_OCRDMA new file mode 100644 index 000000000..12ff35161 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_OCRDMA @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_OCRDMA is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_ON_DEMAND_PAGING b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ON_DEMAND_PAGING new file mode 100644 index 000000000..80be02a8b --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_ON_DEMAND_PAGING @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB new file mode 100644 index 000000000..591f4e962 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_QIB is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB_DCA b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB_DCA new file mode 100644 index 000000000..810520ecc --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_QIB_DCA @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_QIB_DCA is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_RDMAVT b/baseconfig/arm/armv7/CONFIG_INFINIBAND_RDMAVT new file mode 100644 index 000000000..b32d29489 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_RDMAVT @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_RDMAVT is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRP b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRP new file mode 100644 index 000000000..27e9c13e6 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRP @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_SRP is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRPT b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRPT new file mode 100644 index 000000000..ad99ea1ea --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_SRPT @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_SRPT is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_ACCESS b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_ACCESS new file mode 100644 index 000000000..e59e563c4 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_ACCESS @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_USER_ACCESS is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_MAD b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_MAD new file mode 100644 index 000000000..2dd5ad05d --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USER_MAD @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_USER_MAD is not set diff --git a/baseconfig/arm/armv7/CONFIG_INFINIBAND_USNIC b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USNIC new file mode 100644 index 000000000..3624c0fd6 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_INFINIBAND_USNIC @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_USNIC is not set diff --git a/baseconfig/arm/armv7/CONFIG_KEYSTONE_REMOTEPROC b/baseconfig/arm/armv7/CONFIG_KEYSTONE_REMOTEPROC new file mode 100644 index 000000000..c6ded13d3 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_KEYSTONE_REMOTEPROC @@ -0,0 +1 @@ +# CONFIG_KEYSTONE_REMOTEPROC is not set diff --git a/baseconfig/arm/armv7/CONFIG_MFD_PM8921_CORE b/baseconfig/arm/armv7/CONFIG_MFD_PM8921_CORE deleted file mode 100644 index 226d75be9..000000000 --- a/baseconfig/arm/armv7/CONFIG_MFD_PM8921_CORE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MFD_PM8921_CORE is not set diff --git a/baseconfig/arm/armv7/CONFIG_MLX4_INFINIBAND b/baseconfig/arm/armv7/CONFIG_MLX4_INFINIBAND new file mode 100644 index 000000000..84f627ee6 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_MLX4_INFINIBAND @@ -0,0 +1 @@ +# CONFIG_MLX4_INFINIBAND is not set diff --git a/baseconfig/arm/armv7/CONFIG_MLX5_INFINIBAND b/baseconfig/arm/armv7/CONFIG_MLX5_INFINIBAND new file mode 100644 index 000000000..c09ba1a61 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_MLX5_INFINIBAND @@ -0,0 +1 @@ +# CONFIG_MLX5_INFINIBAND is not set diff --git a/baseconfig/arm/armv7/CONFIG_MMA8452 b/baseconfig/arm/armv7/CONFIG_MMA8452 new file mode 100644 index 000000000..44b2d2ae8 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_MMA8452 @@ -0,0 +1 @@ +CONFIG_MMA8452=m diff --git a/baseconfig/arm/armv7/CONFIG_NET_9P_RDMA b/baseconfig/arm/armv7/CONFIG_NET_9P_RDMA new file mode 100644 index 000000000..fce5acb9a --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_NET_9P_RDMA @@ -0,0 +1 @@ +# CONFIG_NET_9P_RDMA is not set diff --git a/baseconfig/arm/armv7/CONFIG_NVMEM_IMX_IIM b/baseconfig/arm/armv7/CONFIG_NVMEM_IMX_IIM new file mode 100644 index 000000000..9407e7a4b --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_NVMEM_IMX_IIM @@ -0,0 +1 @@ +CONFIG_NVMEM_IMX_IIM=m diff --git a/baseconfig/arm/armv7/CONFIG_NVME_RDMA b/baseconfig/arm/armv7/CONFIG_NVME_RDMA new file mode 100644 index 000000000..5815bee55 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_NVME_RDMA @@ -0,0 +1 @@ +# CONFIG_NVME_RDMA is not set diff --git a/baseconfig/arm/armv7/CONFIG_NVME_TARGET_RDMA b/baseconfig/arm/armv7/CONFIG_NVME_TARGET_RDMA new file mode 100644 index 000000000..e57c5b285 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_NVME_TARGET_RDMA @@ -0,0 +1 @@ +# CONFIG_NVME_TARGET_RDMA is not set diff --git a/baseconfig/arm/armv7/CONFIG_OMAP4_DSS_HDMI_CEC b/baseconfig/arm/armv7/CONFIG_OMAP4_DSS_HDMI_CEC new file mode 100644 index 000000000..56ceebfd5 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_OMAP4_DSS_HDMI_CEC @@ -0,0 +1 @@ +CONFIG_OMAP4_DSS_HDMI_CEC=y diff --git a/baseconfig/arm/armv7/CONFIG_PATA_FTIDE010 b/baseconfig/arm/armv7/CONFIG_PATA_FTIDE010 new file mode 100644 index 000000000..c20fa4d0f --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PATA_FTIDE010 @@ -0,0 +1 @@ +# CONFIG_PATA_FTIDE010 is not set diff --git a/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX new file mode 100644 index 000000000..b401f79fb --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX @@ -0,0 +1 @@ +# CONFIG_PCI_DRA7XX is not set diff --git a/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_EP b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_EP new file mode 100644 index 000000000..8a6a68062 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_EP @@ -0,0 +1 @@ +# CONFIG_PCI_DRA7XX_EP is not set diff --git a/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_HOST b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_HOST new file mode 100644 index 000000000..7bbb2fd97 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PCI_DRA7XX_HOST @@ -0,0 +1 @@ +# CONFIG_PCI_DRA7XX_HOST is not set diff --git a/baseconfig/arm/armv7/CONFIG_PCI_V3_SEMI b/baseconfig/arm/armv7/CONFIG_PCI_V3_SEMI new file mode 100644 index 000000000..8aeccd6e6 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PCI_V3_SEMI @@ -0,0 +1 @@ +CONFIG_PCI_V3_SEMI=y diff --git a/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX b/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX deleted file mode 100644 index 9963aedf7..000000000 --- a/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_BCM281XX is not set diff --git a/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35 b/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35 deleted file mode 100644 index c9a64229e..000000000 --- a/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_IMX35 is not set diff --git a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 index af3842f84..a821768d1 100644 --- a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 +++ b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_588369 @@ -1 +1 @@ -# CONFIG_PL310_ERRATA_588369 is not set +CONFIG_PL310_ERRATA_588369=y diff --git a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 index 99df60574..4e4e5453f 100644 --- a/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 +++ b/baseconfig/arm/armv7/CONFIG_PL310_ERRATA_727915 @@ -1 +1 @@ -# CONFIG_PL310_ERRATA_727915 is not set +CONFIG_PL310_ERRATA_727915=y diff --git a/baseconfig/arm/armv7/CONFIG_PWM_TIECAP b/baseconfig/arm/armv7/CONFIG_PWM_TIECAP new file mode 100644 index 000000000..84f1e9b57 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_PWM_TIECAP @@ -0,0 +1 @@ +CONFIG_PWM_TIECAP=m diff --git a/baseconfig/arm/armv7/CONFIG_QCOM_PM8XXX_XOADC b/baseconfig/arm/armv7/CONFIG_QCOM_PM8XXX_XOADC new file mode 100644 index 000000000..1060913dd --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_QCOM_PM8XXX_XOADC @@ -0,0 +1 @@ +CONFIG_QCOM_PM8XXX_XOADC=m diff --git a/baseconfig/arm/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM b/baseconfig/arm/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM deleted file mode 100644 index 69966daab..000000000 --- a/baseconfig/arm/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_QCOM_SPMI_TEMP_ALARM is not set diff --git a/baseconfig/arm/armv7/CONFIG_RDMA_RXE b/baseconfig/arm/armv7/CONFIG_RDMA_RXE new file mode 100644 index 000000000..66d4cbe32 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_RDMA_RXE @@ -0,0 +1 @@ +# CONFIG_RDMA_RXE is not set diff --git a/baseconfig/arm/armv7/CONFIG_RDS_RDMA b/baseconfig/arm/armv7/CONFIG_RDS_RDMA new file mode 100644 index 000000000..169ffb921 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_RDS_RDMA @@ -0,0 +1 @@ +# CONFIG_RDS_RDMA is not set diff --git a/baseconfig/arm/armv7/CONFIG_REGULATOR_FAN53555 b/baseconfig/arm/armv7/CONFIG_REGULATOR_FAN53555 deleted file mode 100644 index 5534cc406..000000000 --- a/baseconfig/arm/armv7/CONFIG_REGULATOR_FAN53555 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_REGULATOR_FAN53555=m diff --git a/baseconfig/arm/armv7/CONFIG_ROCKCHIP_CDN_DP b/baseconfig/arm/armv7/CONFIG_ROCKCHIP_CDN_DP deleted file mode 100644 index 98a696d76..000000000 --- a/baseconfig/arm/armv7/CONFIG_ROCKCHIP_CDN_DP +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ROCKCHIP_CDN_DP is not set diff --git a/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X b/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X deleted file mode 100644 index 7dcdafcbb..000000000 --- a/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X +++ /dev/null @@ -1 +0,0 @@ -CONFIG_RTC_DRV_ARMADA38X=m diff --git a/baseconfig/arm/armv7/CONFIG_SECURITY_INFINIBAND b/baseconfig/arm/armv7/CONFIG_SECURITY_INFINIBAND new file mode 100644 index 000000000..8bcc67164 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SECURITY_INFINIBAND @@ -0,0 +1 @@ +# CONFIG_SECURITY_INFINIBAND is not set diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_MAX98090 b/baseconfig/arm/armv7/CONFIG_SND_SOC_MAX98090 new file mode 100644 index 000000000..c22ad4a46 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SND_SOC_MAX98090 @@ -0,0 +1 @@ +CONFIG_SND_SOC_MAX98090=m diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_ODROID b/baseconfig/arm/armv7/CONFIG_SND_SOC_ODROID new file mode 100644 index 000000000..ece6cf56f --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SND_SOC_ODROID @@ -0,0 +1 @@ +CONFIG_SND_SOC_ODROID=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SOC_DRA7XX b/baseconfig/arm/armv7/CONFIG_SOC_DRA7XX similarity index 100% rename from baseconfig/arm/armv7/armv7/CONFIG_SOC_DRA7XX rename to baseconfig/arm/armv7/CONFIG_SOC_DRA7XX diff --git a/baseconfig/arm/armv7/CONFIG_SOC_TEGRA_FLOWCTRL b/baseconfig/arm/armv7/CONFIG_SOC_TEGRA_FLOWCTRL new file mode 100644 index 000000000..00413d459 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SOC_TEGRA_FLOWCTRL @@ -0,0 +1 @@ +CONFIG_SOC_TEGRA_FLOWCTRL=y diff --git a/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU b/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU new file mode 100644 index 000000000..3b2ba681a --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU @@ -0,0 +1 @@ +CONFIG_SUN4I_A10_CCU=y diff --git a/baseconfig/arm/armv7/CONFIG_SUN4I_GPADC b/baseconfig/arm/armv7/CONFIG_SUN4I_GPADC new file mode 100644 index 000000000..97139c216 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SUN4I_GPADC @@ -0,0 +1 @@ +CONFIG_SUN4I_GPADC=m diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_A83T_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_A83T_CCU new file mode 100644 index 000000000..a4e88a43c --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SUN8I_A83T_CCU @@ -0,0 +1 @@ +CONFIG_SUN8I_A83T_CCU=y diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_DE2_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_DE2_CCU new file mode 100644 index 000000000..1729d1f68 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SUN8I_DE2_CCU @@ -0,0 +1 @@ +CONFIG_SUN8I_DE2_CCU=y diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_H3_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_H3_CCU deleted file mode 100644 index 542d6fc7d..000000000 --- a/baseconfig/arm/armv7/CONFIG_SUN8I_H3_CCU +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SUN8I_H3_CCU=y diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU new file mode 100644 index 000000000..149900927 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU @@ -0,0 +1 @@ +CONFIG_SUN8I_R40_CCU=y diff --git a/baseconfig/arm/armv7/CONFIG_SUNRPC_XPRT_RDMA b/baseconfig/arm/armv7/CONFIG_SUNRPC_XPRT_RDMA new file mode 100644 index 000000000..f0616cc93 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_SUNRPC_XPRT_RDMA @@ -0,0 +1 @@ +# CONFIG_SUNRPC_XPRT_RDMA is not set diff --git a/baseconfig/arm/armv7/CONFIG_TEGRA_IVC b/baseconfig/arm/armv7/CONFIG_TEGRA_IVC deleted file mode 100644 index cdcacbec2..000000000 --- a/baseconfig/arm/armv7/CONFIG_TEGRA_IVC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TEGRA_IVC=y diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS b/baseconfig/arm/armv7/CONFIG_UBIFS_FS deleted file mode 100644 index e71980df4..000000000 --- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_UBIFS_FS=m diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ADVANCED_COMPR b/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ADVANCED_COMPR deleted file mode 100644 index f91c8cd6c..000000000 --- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ADVANCED_COMPR +++ /dev/null @@ -1 +0,0 @@ -CONFIG_UBIFS_FS_ADVANCED_COMPR=y diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_LZO b/baseconfig/arm/armv7/CONFIG_UBIFS_FS_LZO deleted file mode 100644 index e743a6b32..000000000 --- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_LZO +++ /dev/null @@ -1 +0,0 @@ -CONFIG_UBIFS_FS_LZO=y diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ZLIB b/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ZLIB deleted file mode 100644 index 18bffa1f1..000000000 --- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ZLIB +++ /dev/null @@ -1 +0,0 @@ -CONFIG_UBIFS_FS_ZLIB=y diff --git a/baseconfig/arm/armv7/CONFIG_VIDEO_IMX_MEDIA b/baseconfig/arm/armv7/CONFIG_VIDEO_IMX_MEDIA new file mode 100644 index 000000000..fb99bb91a --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_VIDEO_IMX_MEDIA @@ -0,0 +1 @@ +# CONFIG_VIDEO_IMX_MEDIA is not set diff --git a/baseconfig/arm/armv7/CONFIG_VIDEO_MUX b/baseconfig/arm/armv7/CONFIG_VIDEO_MUX new file mode 100644 index 000000000..b01b0b424 --- /dev/null +++ b/baseconfig/arm/armv7/CONFIG_VIDEO_MUX @@ -0,0 +1 @@ +CONFIG_VIDEO_MUX=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_APQ_GCC_8084 b/baseconfig/arm/armv7/armv7/CONFIG_APQ_GCC_8084 index 5ce9e62f4..bacb61e5e 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_APQ_GCC_8084 +++ b/baseconfig/arm/armv7/armv7/CONFIG_APQ_GCC_8084 @@ -1 +1 @@ -CONFIG_APQ_GCC_8084=m +CONFIG_APQ_GCC_8084=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM b/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM new file mode 100644 index 000000000..13f2e3d86 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM @@ -0,0 +1 @@ +# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ b/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ new file mode 100644 index 000000000..2be078588 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ @@ -0,0 +1 @@ +CONFIG_BATTERY_BQ27XXX_HDQ=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_BT_QCOMSMD b/baseconfig/arm/armv7/armv7/CONFIG_BT_QCOMSMD new file mode 100644 index 000000000..9f36fb6a8 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_BT_QCOMSMD @@ -0,0 +1 @@ +CONFIG_BT_QCOMSMD=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_CADENCE_WATCHDOG b/baseconfig/arm/armv7/armv7/CONFIG_CADENCE_WATCHDOG deleted file mode 100644 index 85b4e115d..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_CADENCE_WATCHDOG +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CADENCE_WATCHDOG=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB b/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB new file mode 100644 index 000000000..43a91eb0e --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB @@ -0,0 +1 @@ +CONFIG_CHARGER_QCOM_SMBB=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 b/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 index e77c2fc05..629b8503c 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 +++ b/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 @@ -1 +1 @@ -CONFIG_CHARGER_TPS65217=m +# CONFIG_CHARGER_TPS65217 is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_QCOM b/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_QCOM index ec4000095..2b7c64357 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_QCOM +++ b/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_QCOM @@ -1 +1 @@ -CONFIG_COMMON_CLK_QCOM=m +CONFIG_COMMON_CLK_QCOM=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_SI570 b/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_SI570 deleted file mode 100644 index df6668885..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_COMMON_CLK_SI570 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_COMMON_CLK_SI570=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP new file mode 100644 index 000000000..98ff565f8 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_OMAP=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL b/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL new file mode 100644 index 000000000..ddd9d5832 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL @@ -0,0 +1 @@ +CONFIG_DRM_ETNAVIV_THERMAL=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI index e305e243b..87b627906 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI @@ -1 +1 @@ -# CONFIG_DRM_MSM_DSI is not set +CONFIG_DRM_MSM_DSI=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_14NM_PHY b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_14NM_PHY new file mode 100644 index 000000000..397f69094 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_14NM_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_14NM_PHY=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_20NM_PHY b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_20NM_PHY new file mode 100644 index 000000000..7595ae205 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_20NM_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_20NM_PHY=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_28NM_8960_PHY b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_28NM_8960_PHY new file mode 100644 index 000000000..5d86a4597 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_28NM_8960_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_28NM_PHY b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_28NM_PHY new file mode 100644 index 000000000..ea1c4f918 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_28NM_PHY @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_28NM_PHY=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_PLL b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_PLL new file mode 100644 index 000000000..16ac280e6 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MSM_DSI_PLL @@ -0,0 +1 @@ +CONFIG_DRM_MSM_DSI_PLL=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MXSFB b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MXSFB new file mode 100644 index 000000000..e24a8952c --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MXSFB @@ -0,0 +1 @@ +CONFIG_DRM_MXSFB=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_EXTCON_QCOM_SPMI_MISC b/baseconfig/arm/armv7/armv7/CONFIG_EXTCON_QCOM_SPMI_MISC new file mode 100644 index 000000000..b52487909 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_EXTCON_QCOM_SPMI_MISC @@ -0,0 +1 @@ +CONFIG_EXTCON_QCOM_SPMI_MISC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_IMX7_PM_DOMAINS b/baseconfig/arm/armv7/armv7/CONFIG_IMX7_PM_DOMAINS new file mode 100644 index 000000000..33e5c6a93 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_IMX7_PM_DOMAINS @@ -0,0 +1 @@ +CONFIG_IMX7_PM_DOMAINS=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC b/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC new file mode 100644 index 000000000..53983d8af --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC @@ -0,0 +1 @@ +CONFIG_IMX_REMOTEPROC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC b/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC new file mode 100644 index 000000000..6360fee39 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC @@ -0,0 +1 @@ +CONFIG_MFD_SPMI_PMIC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU b/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU new file mode 100644 index 000000000..777cb90c8 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU @@ -0,0 +1 @@ +CONFIG_MFD_TI_LMU=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML b/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML index 059d0d4f2..48facf367 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML +++ b/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML @@ -1 +1 @@ -CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_QCOM_DML=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MMC_SDHCI_OF_ESDHC b/baseconfig/arm/armv7/armv7/CONFIG_MMC_SDHCI_OF_ESDHC new file mode 100644 index 000000000..40e2f68cb --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_MMC_SDHCI_OF_ESDHC @@ -0,0 +1 @@ +CONFIG_MMC_SDHCI_OF_ESDHC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8660 b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8660 index 457d918ff..9effe8611 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8660 +++ b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8660 @@ -1 +1 @@ -CONFIG_MSM_GCC_8660=m +CONFIG_MSM_GCC_8660=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8960 b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8960 index a492a6821..03ba44b34 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8960 +++ b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8960 @@ -1 +1 @@ -CONFIG_MSM_GCC_8960=m +CONFIG_MSM_GCC_8960=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8974 b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8974 index 62f48a9e8..8ffbd8055 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8974 +++ b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8974 @@ -1 +1 @@ -CONFIG_MSM_GCC_8974=m +CONFIG_MSM_GCC_8974=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8996 b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8996 index 166ddcce5..4b01d318d 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8996 +++ b/baseconfig/arm/armv7/armv7/CONFIG_MSM_GCC_8996 @@ -1 +1 @@ -CONFIG_MSM_GCC_8996=m +CONFIG_MSM_GCC_8996=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_NVMEM_SNVS_LPGPR b/baseconfig/arm/armv7/armv7/CONFIG_NVMEM_SNVS_LPGPR new file mode 100644 index 000000000..21803b106 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_NVMEM_SNVS_LPGPR @@ -0,0 +1 @@ +CONFIG_NVMEM_SNVS_LPGPR=m diff --git a/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG b/baseconfig/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUG similarity index 100% rename from baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG rename to baseconfig/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUG diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PCI_DRA7XX b/baseconfig/arm/armv7/armv7/CONFIG_PCI_DRA7XX deleted file mode 100644 index 7f8a147e3..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_PCI_DRA7XX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PCI_DRA7XX=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QMP b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QMP new file mode 100644 index 000000000..cba57faf8 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QMP @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QMP=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QUSB2 b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QUSB2 new file mode 100644 index 000000000..6512e59d2 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_QUSB2 @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_QUSB2=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HS b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HS new file mode 100644 index 000000000..61e98f856 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HS @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_USB_HS=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HSIC b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HSIC new file mode 100644 index 000000000..0b25aa233 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_QCOM_USB_HSIC @@ -0,0 +1 @@ +CONFIG_PHY_QCOM_USB_HSIC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_588369 b/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_588369 deleted file mode 100644 index a821768d1..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_588369 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PL310_ERRATA_588369=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_727915 b/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_727915 deleted file mode 100644 index 4e4e5453f..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_PL310_ERRATA_727915 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PL310_ERRATA_727915=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX b/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX deleted file mode 100644 index 25d1d5570..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_POWER_RESET_IMX=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_ADSP_PIL b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_ADSP_PIL new file mode 100644 index 000000000..0aa258124 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_ADSP_PIL @@ -0,0 +1 @@ +CONFIG_QCOM_ADSP_PIL=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_APCS_IPC b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_APCS_IPC new file mode 100644 index 000000000..f8a0514ba --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_APCS_IPC @@ -0,0 +1 @@ +CONFIG_QCOM_APCS_IPC=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_IOMMU b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_IOMMU new file mode 100644 index 000000000..b7e99b882 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_IOMMU @@ -0,0 +1 @@ +CONFIG_QCOM_IOMMU=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL index b749a7daa..18d8fb792 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL +++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL @@ -1 +1 @@ -# CONFIG_QCOM_Q6V5_PIL is not set +CONFIG_QCOM_Q6V5_PIL=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SMD b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SMD deleted file mode 100644 index d43fecfdb..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SMD +++ /dev/null @@ -1 +0,0 @@ -CONFIG_QCOM_SMD=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM new file mode 100644 index 000000000..7155372b9 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM @@ -0,0 +1 @@ +CONFIG_QCOM_SPMI_TEMP_ALARM=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL index bb8c24d61..b13cefb38 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL +++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL @@ -1 +1 @@ -# CONFIG_QCOM_WCNSS_PIL is not set +CONFIG_QCOM_WCNSS_PIL=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RADIO_WL128X b/baseconfig/arm/armv7/armv7/CONFIG_RADIO_WL128X deleted file mode 100644 index 88b42f8e6..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_RADIO_WL128X +++ /dev/null @@ -1 +0,0 @@ -CONFIG_RADIO_WL128X=m diff --git a/baseconfig/arm/CONFIG_REGMAP_SPMI b/baseconfig/arm/armv7/armv7/CONFIG_REGMAP_SPMI similarity index 100% rename from baseconfig/arm/CONFIG_REGMAP_SPMI rename to baseconfig/arm/armv7/armv7/CONFIG_REGMAP_SPMI diff --git a/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_FAN53555 b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_FAN53555 deleted file mode 100644 index 5534cc406..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_FAN53555 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_REGULATOR_FAN53555=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X new file mode 100644 index 000000000..a4610d589 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X @@ -0,0 +1 @@ +CONFIG_REGULATOR_LM363X=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RPMSG b/baseconfig/arm/armv7/armv7/CONFIG_RPMSG new file mode 100644 index 000000000..7cc8785d0 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_RPMSG @@ -0,0 +1 @@ +CONFIG_RPMSG=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RPMSG_QCOM_GLINK_RPM b/baseconfig/arm/armv7/armv7/CONFIG_RPMSG_QCOM_GLINK_RPM new file mode 100644 index 000000000..1f5ac58f2 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_RPMSG_QCOM_GLINK_RPM @@ -0,0 +1 @@ +CONFIG_RPMSG_QCOM_GLINK_RPM=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RPMSG_QCOM_SMD b/baseconfig/arm/armv7/armv7/CONFIG_RPMSG_QCOM_SMD new file mode 100644 index 000000000..f65af3d10 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_RPMSG_QCOM_SMD @@ -0,0 +1 @@ +CONFIG_RPMSG_QCOM_SMD=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2 b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2 new file mode 100644 index 000000000..225594051 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2 @@ -0,0 +1 @@ +CONFIG_RTC_DRV_MXC_V2=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_TWL4030 b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_TWL4030 index dcf57704b..5716e825c 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_TWL4030 +++ b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_TWL4030 @@ -1 +1 @@ -CONFIG_RTC_DRV_TWL4030=y +CONFIG_RTC_DRV_TWL4030=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP index 582053b2d..0f7ea5449 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP @@ -1 +1 @@ -CONFIG_SERIAL_8250_OMAP=m +CONFIG_SERIAL_8250_OMAP=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP new file mode 100644 index 000000000..cffbc1b84 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP @@ -0,0 +1 @@ +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP index 0dbd205b2..1c036ec4f 100644 --- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP @@ -1 +1 @@ -CONFIG_SERIAL_OMAP=y +# CONFIG_SERIAL_OMAP is not set diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE deleted file mode 100644 index 84ab44f7f..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SERIAL_OMAP_CONSOLE=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_UARTLITE_NR_UARTS b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_UARTLITE_NR_UARTS new file mode 100644 index 000000000..37161086e --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_UARTLITE_NR_UARTS @@ -0,0 +1 @@ +CONFIG_SERIAL_UARTLITE_NR_UARTS=1 diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_ANALOG b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_ANALOG new file mode 100644 index 000000000..f862f05a7 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_ANALOG @@ -0,0 +1 @@ +CONFIG_SND_SOC_MSM8916_WCD_ANALOg=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_DIGITAL b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_DIGITAL new file mode 100644 index 000000000..db12f036e --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_MSM8916_WCD_DIGITAL @@ -0,0 +1 @@ +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SPI_CADENCE b/baseconfig/arm/armv7/armv7/CONFIG_SPI_CADENCE deleted file mode 100644 index 3a8bb168c..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_SPI_CADENCE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SPI_CADENCE=m diff --git a/baseconfig/arm/CONFIG_SPMI b/baseconfig/arm/armv7/armv7/CONFIG_SPMI similarity index 100% rename from baseconfig/arm/CONFIG_SPMI rename to baseconfig/arm/armv7/armv7/CONFIG_SPMI diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM b/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM new file mode 100644 index 000000000..6bb0bf6e6 --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM @@ -0,0 +1 @@ +CONFIG_TI_EMIF_SRAM=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_ST b/baseconfig/arm/armv7/armv7/CONFIG_TI_ST deleted file mode 100644 index e6d0d4428..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_TI_ST +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TI_ST=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET b/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET deleted file mode 100644 index defe64498..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TI_SYSCON_RESET=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA b/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA deleted file mode 100644 index 0b76e3525..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_CHIPIDEA=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST b/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST deleted file mode 100644 index 1c14a4a6c..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_CHIPIDEA_HOST=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC b/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC deleted file mode 100644 index 320052607..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_CHIPIDEA_UDC=y diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_EHCI_MSM b/baseconfig/arm/armv7/armv7/CONFIG_USB_EHCI_MSM deleted file mode 100644 index 7397a0f15..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_USB_EHCI_MSM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_EHCI_MSM=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_MSM_OTG b/baseconfig/arm/armv7/armv7/CONFIG_USB_MSM_OTG deleted file mode 100644 index 043abcf37..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_USB_MSM_OTG +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_MSM_OTG=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_QCOM_8X16_PHY b/baseconfig/arm/armv7/armv7/CONFIG_USB_QCOM_8X16_PHY deleted file mode 100644 index 79fac4fdc..000000000 --- a/baseconfig/arm/armv7/armv7/CONFIG_USB_QCOM_8X16_PHY +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_QCOM_8X16_PHY=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS new file mode 100644 index 000000000..5e2512c4c --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS @@ -0,0 +1 @@ +CONFIG_VIDEO_QCOM_CAMSS=m diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_VENUS b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_VENUS new file mode 100644 index 000000000..68082fdff --- /dev/null +++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_VENUS @@ -0,0 +1 @@ +CONFIG_VIDEO_QCOM_VENUS=m diff --git a/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI b/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI new file mode 100644 index 000000000..6989ad752 --- /dev/null +++ b/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI @@ -0,0 +1 @@ +CONFIG_EDAC_TI=m diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS b/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS deleted file mode 100644 index 71a38a48c..000000000 --- a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SND_SOC_TEGRA20_DAS is not set diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SOC_DRA7XX b/baseconfig/arm/armv7/lpae/CONFIG_SOC_DRA7XX deleted file mode 100644 index a11bb6971..000000000 --- a/baseconfig/arm/armv7/lpae/CONFIG_SOC_DRA7XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SOC_DRA7XX is not set diff --git a/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET b/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET deleted file mode 100644 index defe64498..000000000 --- a/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TI_SYSCON_RESET=m diff --git a/baseconfig/powerpc/CONFIG_CRYPTO_CRCT10DIF_VPMSUM b/baseconfig/powerpc/CONFIG_CRYPTO_CRCT10DIF_VPMSUM new file mode 100644 index 000000000..eb0464d08 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_CRYPTO_CRCT10DIF_VPMSUM @@ -0,0 +1 @@ +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m diff --git a/baseconfig/powerpc/CONFIG_CRYPTO_DEV_NX b/baseconfig/powerpc/CONFIG_CRYPTO_DEV_NX index fd145f04f..47b9dbe8a 100644 --- a/baseconfig/powerpc/CONFIG_CRYPTO_DEV_NX +++ b/baseconfig/powerpc/CONFIG_CRYPTO_DEV_NX @@ -1 +1 @@ -CONFIG_CRYPTO_DEV_NX=y +# CONFIG_CRYPTO_DEV_NX is not set diff --git a/baseconfig/powerpc/CONFIG_CRYPTO_VPMSUM_TESTER b/baseconfig/powerpc/CONFIG_CRYPTO_VPMSUM_TESTER new file mode 100644 index 000000000..a3acefe62 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_CRYPTO_VPMSUM_TESTER @@ -0,0 +1 @@ +# CONFIG_CRYPTO_VPMSUM_TESTER is not set diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL b/baseconfig/powerpc/CONFIG_DRM_PANEL similarity index 100% rename from baseconfig/arm/armv7/CONFIG_DRM_PANEL rename to baseconfig/powerpc/CONFIG_DRM_PANEL diff --git a/baseconfig/powerpc/CONFIG_HARDLOCKUP_DETECTOR b/baseconfig/powerpc/CONFIG_HARDLOCKUP_DETECTOR new file mode 100644 index 000000000..dc5ae5ce3 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_HARDLOCKUP_DETECTOR @@ -0,0 +1 @@ +CONFIG_HARDLOCKUP_DETECTOR=y diff --git a/baseconfig/powerpc/CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE b/baseconfig/powerpc/CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE index bbbf7d364..e7fe50c39 100644 --- a/baseconfig/powerpc/CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE +++ b/baseconfig/powerpc/CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE @@ -1 +1 @@ -CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set diff --git a/baseconfig/powerpc/CONFIG_MMC_SDHCI_OF b/baseconfig/powerpc/CONFIG_MMC_SDHCI_OF deleted file mode 100644 index d2e2790aa..000000000 --- a/baseconfig/powerpc/CONFIG_MMC_SDHCI_OF +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MMC_SDHCI_OF=m diff --git a/baseconfig/powerpc/CONFIG_OCXL b/baseconfig/powerpc/CONFIG_OCXL new file mode 100644 index 000000000..4f2a1a2ca --- /dev/null +++ b/baseconfig/powerpc/CONFIG_OCXL @@ -0,0 +1 @@ +CONFIG_OCXL=m diff --git a/baseconfig/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN b/baseconfig/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN new file mode 100644 index 000000000..2d1ad5bb1 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN @@ -0,0 +1 @@ +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set diff --git a/baseconfig/powerpc/CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN b/baseconfig/powerpc/CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN new file mode 100644 index 000000000..46354e6a9 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN @@ -0,0 +1 @@ +CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y diff --git a/baseconfig/powerpc/CONFIG_PPC_DT_CPU_FTRS b/baseconfig/powerpc/CONFIG_PPC_DT_CPU_FTRS new file mode 100644 index 000000000..aa61b1ff3 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_DT_CPU_FTRS @@ -0,0 +1 @@ +CONFIG_PPC_DT_CPU_FTRS=y diff --git a/baseconfig/powerpc/CONFIG_PPC_FAST_ENDIAN_SWITCH b/baseconfig/powerpc/CONFIG_PPC_FAST_ENDIAN_SWITCH new file mode 100644 index 000000000..9a031362f --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_FAST_ENDIAN_SWITCH @@ -0,0 +1 @@ +# CONFIG_PPC_FAST_ENDIAN_SWITCH is not set diff --git a/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG b/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG new file mode 100644 index 000000000..34e3d00fe --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG @@ -0,0 +1 @@ +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set diff --git a/baseconfig/powerpc/CONFIG_PPC_MEMTRACE b/baseconfig/powerpc/CONFIG_PPC_MEMTRACE new file mode 100644 index 000000000..c783714d8 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_MEMTRACE @@ -0,0 +1 @@ +# CONFIG_PPC_MEMTRACE is not set diff --git a/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS b/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS new file mode 100644 index 000000000..fc57e86b5 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS @@ -0,0 +1 @@ +CONFIG_PPC_MEM_KEYS=y diff --git a/baseconfig/powerpc/CONFIG_PPC_RADIX_MMU_DEFAULT b/baseconfig/powerpc/CONFIG_PPC_RADIX_MMU_DEFAULT new file mode 100644 index 000000000..fe2d46f23 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_RADIX_MMU_DEFAULT @@ -0,0 +1 @@ +CONFIG_PPC_RADIX_MMU_DEFAULT=y diff --git a/baseconfig/powerpc/CONFIG_PPC_VAS b/baseconfig/powerpc/CONFIG_PPC_VAS new file mode 100644 index 000000000..ec767da00 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_PPC_VAS @@ -0,0 +1 @@ +CONFIG_PPC_VAS=y diff --git a/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS b/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS new file mode 100644 index 000000000..31f260384 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS @@ -0,0 +1 @@ +CONFIG_SENSORS_IBM_CFFPS=m diff --git a/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU b/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU index da6fd2882..ffe83031d 100644 --- a/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU +++ b/baseconfig/powerpc/CONFIG_SPAPR_TCE_IOMMU @@ -1 +1 @@ -# CONFIG_SPAPR_TCE_IOMMU is not set +CONFIG_SPAPR_TCE_IOMMU=y diff --git a/baseconfig/powerpc/CONFIG_SWIOTLB b/baseconfig/powerpc/CONFIG_SWIOTLB index 5405b65b4..ac62bf35e 100644 --- a/baseconfig/powerpc/CONFIG_SWIOTLB +++ b/baseconfig/powerpc/CONFIG_SWIOTLB @@ -1 +1 @@ -CONFIG_SWIOTLB=y +# CONFIG_SWIOTLB is not set diff --git a/baseconfig/powerpc/CONFIG_TWL4030_CORE b/baseconfig/powerpc/CONFIG_TWL4030_CORE deleted file mode 100644 index 1f5b92782..000000000 --- a/baseconfig/powerpc/CONFIG_TWL4030_CORE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TWL4030_CORE is not set diff --git a/baseconfig/powerpc/CONFIG_USB_OHCI_HCD_PCI b/baseconfig/powerpc/CONFIG_USB_OHCI_HCD_PCI deleted file mode 100644 index a78b62cb5..000000000 --- a/baseconfig/powerpc/CONFIG_USB_OHCI_HCD_PCI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_OHCI_HCD_PCI=y diff --git a/baseconfig/powerpc/CONFIG_VFIO_IOMMU_TYPE1 b/baseconfig/powerpc/CONFIG_VFIO_IOMMU_TYPE1 new file mode 100644 index 000000000..9f1df8c24 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_VFIO_IOMMU_TYPE1 @@ -0,0 +1 @@ +# CONFIG_VFIO_IOMMU_TYPE1 is not set diff --git a/baseconfig/powerpc/CONFIG_ZONE_DEVICE b/baseconfig/powerpc/CONFIG_ZONE_DEVICE new file mode 100644 index 000000000..ee4f1b8b2 --- /dev/null +++ b/baseconfig/powerpc/CONFIG_ZONE_DEVICE @@ -0,0 +1 @@ +# CONFIG_ZONE_DEVICE is not set diff --git a/baseconfig/powerpc/CONFIG_ADB_PMU_LED_DISK b/baseconfig/powerpc/powerpc64/CONFIG_ADB_PMU_LED_DISK similarity index 100% rename from baseconfig/powerpc/CONFIG_ADB_PMU_LED_DISK rename to baseconfig/powerpc/powerpc64/CONFIG_ADB_PMU_LED_DISK diff --git a/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN b/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN deleted file mode 100644 index 57d623ff2..000000000 --- a/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_CPU_LITTLE_ENDIAN is not set diff --git a/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX b/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX deleted file mode 100644 index 6982ed98a..000000000 --- a/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_I2C_MUX=m diff --git a/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE b/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE deleted file mode 100644 index c8855e8a0..000000000 --- a/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_CORE=m diff --git a/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU b/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU deleted file mode 100644 index 40eb65bc2..000000000 --- a/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU +++ /dev/null @@ -1 +0,0 @@ -CONFIG_POWER7_CPU=y diff --git a/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE b/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE deleted file mode 100644 index 32ecde504..000000000 --- a/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SERIAL_CORE=m diff --git a/baseconfig/s390x/CONFIG_ALTERNATIVES b/baseconfig/s390x/CONFIG_ALTERNATIVES new file mode 100644 index 000000000..ae7823029 --- /dev/null +++ b/baseconfig/s390x/CONFIG_ALTERNATIVES @@ -0,0 +1 @@ +CONFIG_ALTERNATIVES=y diff --git a/baseconfig/s390x/CONFIG_ARCH_RANDOM b/baseconfig/s390x/CONFIG_ARCH_RANDOM new file mode 100644 index 000000000..51658fe1c --- /dev/null +++ b/baseconfig/s390x/CONFIG_ARCH_RANDOM @@ -0,0 +1 @@ +CONFIG_ARCH_RANDOM=y diff --git a/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA b/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA deleted file mode 100644 index 2e6c723ac..000000000 --- a/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BLK_CPQ_CISS_DA is not set diff --git a/baseconfig/s390x/CONFIG_CHECKPOINT_RESTORE b/baseconfig/s390x/CONFIG_CHECKPOINT_RESTORE new file mode 100644 index 000000000..c554a09ce --- /dev/null +++ b/baseconfig/s390x/CONFIG_CHECKPOINT_RESTORE @@ -0,0 +1 @@ +CONFIG_CHECKPOINT_RESTORE=y diff --git a/baseconfig/s390x/CONFIG_CMA b/baseconfig/s390x/CONFIG_CMA new file mode 100644 index 000000000..309c9e771 --- /dev/null +++ b/baseconfig/s390x/CONFIG_CMA @@ -0,0 +1 @@ +CONFIG_CMA=y diff --git a/baseconfig/s390x/CONFIG_CMA_AREAS b/baseconfig/s390x/CONFIG_CMA_AREAS new file mode 100644 index 000000000..5474a48e9 --- /dev/null +++ b/baseconfig/s390x/CONFIG_CMA_AREAS @@ -0,0 +1 @@ +CONFIG_CMA_AREAS=7 diff --git a/baseconfig/s390x/CONFIG_CMA_DEBUG b/baseconfig/s390x/CONFIG_CMA_DEBUG new file mode 100644 index 000000000..64ff80c56 --- /dev/null +++ b/baseconfig/s390x/CONFIG_CMA_DEBUG @@ -0,0 +1 @@ +# CONFIG_CMA_DEBUG is not set diff --git a/baseconfig/s390x/CONFIG_CMA_DEBUGFS b/baseconfig/s390x/CONFIG_CMA_DEBUGFS new file mode 100644 index 000000000..fba89903a --- /dev/null +++ b/baseconfig/s390x/CONFIG_CMA_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_CMA_DEBUGFS is not set diff --git a/baseconfig/s390x/CONFIG_CRASH_DUMP b/baseconfig/s390x/CONFIG_CRASH_DUMP deleted file mode 100644 index 84bb04c03..000000000 --- a/baseconfig/s390x/CONFIG_CRASH_DUMP +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRASH_DUMP=y diff --git a/baseconfig/s390x/CONFIG_CRYPTO_PAES_S390 b/baseconfig/s390x/CONFIG_CRYPTO_PAES_S390 new file mode 100644 index 000000000..f7071dfd3 --- /dev/null +++ b/baseconfig/s390x/CONFIG_CRYPTO_PAES_S390 @@ -0,0 +1 @@ +CONFIG_CRYPTO_PAES_S390=m diff --git a/baseconfig/s390x/CONFIG_EXPOLINE b/baseconfig/s390x/CONFIG_EXPOLINE new file mode 100644 index 000000000..4fed3923a --- /dev/null +++ b/baseconfig/s390x/CONFIG_EXPOLINE @@ -0,0 +1 @@ +CONFIG_EXPOLINE=y diff --git a/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM b/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM new file mode 100644 index 000000000..82c8370c3 --- /dev/null +++ b/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM @@ -0,0 +1 @@ +CONFIG_EXPOLINE_MEDIUM=y diff --git a/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY b/baseconfig/s390x/CONFIG_GENERIC_PHY similarity index 100% rename from baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY rename to baseconfig/s390x/CONFIG_GENERIC_PHY diff --git a/baseconfig/s390x/CONFIG_HW_RANDOM_S390 b/baseconfig/s390x/CONFIG_HW_RANDOM_S390 new file mode 100644 index 000000000..7108db8ff --- /dev/null +++ b/baseconfig/s390x/CONFIG_HW_RANDOM_S390 @@ -0,0 +1 @@ +CONFIG_HW_RANDOM_S390=m diff --git a/baseconfig/s390x/CONFIG_I2C_PARPORT b/baseconfig/s390x/CONFIG_I2C_PARPORT deleted file mode 100644 index 87b55caf2..000000000 --- a/baseconfig/s390x/CONFIG_I2C_PARPORT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_I2C_PARPORT is not set diff --git a/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT b/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT deleted file mode 100644 index e18239222..000000000 --- a/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_I2C_PARPORT_LIGHT is not set diff --git a/baseconfig/s390x/CONFIG_IRDA b/baseconfig/s390x/CONFIG_IRDA deleted file mode 100644 index 54366a325..000000000 --- a/baseconfig/s390x/CONFIG_IRDA +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_IRDA is not set diff --git a/baseconfig/s390x/CONFIG_KERNEL_NOBP b/baseconfig/s390x/CONFIG_KERNEL_NOBP new file mode 100644 index 000000000..b3c291602 --- /dev/null +++ b/baseconfig/s390x/CONFIG_KERNEL_NOBP @@ -0,0 +1 @@ +CONFIG_KERNEL_NOBP=y diff --git a/baseconfig/s390x/CONFIG_MAX_PHYSMEM_BITS b/baseconfig/s390x/CONFIG_MAX_PHYSMEM_BITS new file mode 100644 index 000000000..6ace7a163 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MAX_PHYSMEM_BITS @@ -0,0 +1 @@ +CONFIG_MAX_PHYSMEM_BITS=46 diff --git a/baseconfig/s390x/CONFIG_MDIO_DEVICE b/baseconfig/s390x/CONFIG_MDIO_DEVICE new file mode 100644 index 000000000..67ac6bad8 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MDIO_DEVICE @@ -0,0 +1 @@ +CONFIG_MDIO_DEVICE=m diff --git a/baseconfig/s390x/CONFIG_MEM_SOFT_DIRTY b/baseconfig/s390x/CONFIG_MEM_SOFT_DIRTY new file mode 100644 index 000000000..356f2edd8 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MEM_SOFT_DIRTY @@ -0,0 +1 @@ +CONFIG_MEM_SOFT_DIRTY=y diff --git a/baseconfig/s390x/CONFIG_MFD_BD9571MWV b/baseconfig/s390x/CONFIG_MFD_BD9571MWV new file mode 100644 index 000000000..d321ad3c6 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MFD_BD9571MWV @@ -0,0 +1 @@ +# CONFIG_MFD_BD9571MWV is not set diff --git a/baseconfig/s390x/CONFIG_MFD_RTSX_PCI b/baseconfig/s390x/CONFIG_MFD_RTSX_PCI deleted file mode 100644 index 03cefd786..000000000 --- a/baseconfig/s390x/CONFIG_MFD_RTSX_PCI +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MFD_RTSX_PCI is not set diff --git a/baseconfig/s390x/CONFIG_MFD_TPS68470 b/baseconfig/s390x/CONFIG_MFD_TPS68470 new file mode 100644 index 000000000..e82f415aa --- /dev/null +++ b/baseconfig/s390x/CONFIG_MFD_TPS68470 @@ -0,0 +1 @@ +# CONFIG_MFD_TPS68470 is not set diff --git a/baseconfig/s390x/CONFIG_MFD_VIPERBOARD b/baseconfig/s390x/CONFIG_MFD_VIPERBOARD new file mode 100644 index 000000000..1d4d00579 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MFD_VIPERBOARD @@ -0,0 +1 @@ +# CONFIG_MFD_VIPERBOARD is not set diff --git a/baseconfig/s390x/CONFIG_MISC_RTSX_PCI b/baseconfig/s390x/CONFIG_MISC_RTSX_PCI new file mode 100644 index 000000000..eeec3f096 --- /dev/null +++ b/baseconfig/s390x/CONFIG_MISC_RTSX_PCI @@ -0,0 +1 @@ +# CONFIG_MISC_RTSX_PCI is not set diff --git a/baseconfig/s390x/CONFIG_MISC_RTSX_USB b/baseconfig/s390x/CONFIG_MISC_RTSX_USB new file mode 100644 index 000000000..f41dad5dd --- /dev/null +++ b/baseconfig/s390x/CONFIG_MISC_RTSX_USB @@ -0,0 +1 @@ +# CONFIG_MISC_RTSX_USB is not set diff --git a/baseconfig/s390x/CONFIG_PARPORT b/baseconfig/s390x/CONFIG_PARPORT deleted file mode 100644 index 9dd8f33af..000000000 --- a/baseconfig/s390x/CONFIG_PARPORT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PARPORT is not set diff --git a/baseconfig/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN b/baseconfig/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN new file mode 100644 index 000000000..2d1ad5bb1 --- /dev/null +++ b/baseconfig/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN @@ -0,0 +1 @@ +# CONFIG_PCI_MSI_IRQ_DOMAIN is not set diff --git a/baseconfig/s390x/CONFIG_PKEY b/baseconfig/s390x/CONFIG_PKEY new file mode 100644 index 000000000..ec0fc60b1 --- /dev/null +++ b/baseconfig/s390x/CONFIG_PKEY @@ -0,0 +1 @@ +CONFIG_PKEY=m diff --git a/baseconfig/s390x/CONFIG_S390_CCW_IOMMU b/baseconfig/s390x/CONFIG_S390_CCW_IOMMU new file mode 100644 index 000000000..7dd58dfa7 --- /dev/null +++ b/baseconfig/s390x/CONFIG_S390_CCW_IOMMU @@ -0,0 +1 @@ +CONFIG_S390_CCW_IOMMU=y diff --git a/baseconfig/s390x/CONFIG_SCSI_UFSHCD b/baseconfig/s390x/CONFIG_SCSI_UFSHCD deleted file mode 100644 index 542c89fc7..000000000 --- a/baseconfig/s390x/CONFIG_SCSI_UFSHCD +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SCSI_UFSHCD is not set diff --git a/baseconfig/s390x/CONFIG_VFIO_CCW b/baseconfig/s390x/CONFIG_VFIO_CCW new file mode 100644 index 000000000..15f7493a4 --- /dev/null +++ b/baseconfig/s390x/CONFIG_VFIO_CCW @@ -0,0 +1 @@ +CONFIG_VFIO_CCW=m diff --git a/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE b/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE new file mode 100644 index 000000000..aee0667ac --- /dev/null +++ b/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE @@ -0,0 +1 @@ +CONFIG_VMCP_CMA_SIZE=4 diff --git a/baseconfig/x86/CONFIG_ACER_WIRELESS b/baseconfig/x86/CONFIG_ACER_WIRELESS new file mode 100644 index 000000000..6d6dddcc0 --- /dev/null +++ b/baseconfig/x86/CONFIG_ACER_WIRELESS @@ -0,0 +1 @@ +CONFIG_ACER_WIRELESS=m diff --git a/baseconfig/x86/CONFIG_ACPI_REV_OVERRIDE_POSSIBLE b/baseconfig/x86/CONFIG_ACPI_REV_OVERRIDE_POSSIBLE index 22e6b36cf..021ea2f25 100644 --- a/baseconfig/x86/CONFIG_ACPI_REV_OVERRIDE_POSSIBLE +++ b/baseconfig/x86/CONFIG_ACPI_REV_OVERRIDE_POSSIBLE @@ -1 +1 @@ -# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set +CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y diff --git a/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG b/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG new file mode 100644 index 000000000..c2c51192e --- /dev/null +++ b/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG @@ -0,0 +1 @@ +CONFIG_PINCTRL_LEWISBURG=m diff --git a/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM b/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM new file mode 100644 index 000000000..3fead97e1 --- /dev/null +++ b/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM @@ -0,0 +1 @@ +CONFIG_DELL_SMBIOS_SMM=y diff --git a/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI b/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI new file mode 100644 index 000000000..46a8c84ce --- /dev/null +++ b/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI @@ -0,0 +1 @@ +CONFIG_DELL_SMBIOS_WMI=y diff --git a/baseconfig/x86/CONFIG_DELL_WMI_LED b/baseconfig/x86/CONFIG_DELL_WMI_LED new file mode 100644 index 000000000..23d945e59 --- /dev/null +++ b/baseconfig/x86/CONFIG_DELL_WMI_LED @@ -0,0 +1 @@ +CONFIG_DELL_WMI_LED=m diff --git a/baseconfig/x86/CONFIG_DRM_AMD_DC_DCN1_0 b/baseconfig/x86/CONFIG_DRM_AMD_DC_DCN1_0 new file mode 100644 index 000000000..5d7cf50f6 --- /dev/null +++ b/baseconfig/x86/CONFIG_DRM_AMD_DC_DCN1_0 @@ -0,0 +1 @@ +CONFIG_DRM_AMD_DC_DCN1_0=y diff --git a/baseconfig/x86/CONFIG_DRM_I915_DEBUG_VBLANK_EVADE b/baseconfig/x86/CONFIG_DRM_I915_DEBUG_VBLANK_EVADE new file mode 100644 index 000000000..d48518abd --- /dev/null +++ b/baseconfig/x86/CONFIG_DRM_I915_DEBUG_VBLANK_EVADE @@ -0,0 +1 @@ +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set diff --git a/baseconfig/x86/i686/CONFIG_DRM_PANEL b/baseconfig/x86/CONFIG_DRM_PANEL similarity index 100% rename from baseconfig/x86/i686/CONFIG_DRM_PANEL rename to baseconfig/x86/CONFIG_DRM_PANEL diff --git a/baseconfig/x86/CONFIG_DRM_PANEL_LVDS b/baseconfig/x86/CONFIG_DRM_PANEL_LVDS new file mode 100644 index 000000000..6d4d3c7c6 --- /dev/null +++ b/baseconfig/x86/CONFIG_DRM_PANEL_LVDS @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_LVDS=m diff --git a/baseconfig/x86/CONFIG_DRM_VBOXVIDEO b/baseconfig/x86/CONFIG_DRM_VBOXVIDEO new file mode 100644 index 000000000..8597a5dbb --- /dev/null +++ b/baseconfig/x86/CONFIG_DRM_VBOXVIDEO @@ -0,0 +1 @@ +CONFIG_DRM_VBOXVIDEO=m diff --git a/baseconfig/x86/CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH b/baseconfig/x86/CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH new file mode 100644 index 000000000..4b0b2944d --- /dev/null +++ b/baseconfig/x86/CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH @@ -0,0 +1 @@ +# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set diff --git a/baseconfig/x86/CONFIG_EXTCON b/baseconfig/x86/CONFIG_EXTCON new file mode 100644 index 000000000..bde29bcfc --- /dev/null +++ b/baseconfig/x86/CONFIG_EXTCON @@ -0,0 +1 @@ +CONFIG_EXTCON=y diff --git a/baseconfig/x86/CONFIG_EXTCON_GPIO b/baseconfig/x86/CONFIG_EXTCON_GPIO new file mode 100644 index 000000000..87ca2bd05 --- /dev/null +++ b/baseconfig/x86/CONFIG_EXTCON_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_GPIO is not set diff --git a/baseconfig/CONFIG_EXTCON_INTEL_INT3496 b/baseconfig/x86/CONFIG_EXTCON_INTEL_INT3496 similarity index 100% rename from baseconfig/CONFIG_EXTCON_INTEL_INT3496 rename to baseconfig/x86/CONFIG_EXTCON_INTEL_INT3496 diff --git a/baseconfig/x86/CONFIG_EXTCON_MAX3355 b/baseconfig/x86/CONFIG_EXTCON_MAX3355 new file mode 100644 index 000000000..680b5a774 --- /dev/null +++ b/baseconfig/x86/CONFIG_EXTCON_MAX3355 @@ -0,0 +1 @@ +# CONFIG_EXTCON_MAX3355 is not set diff --git a/baseconfig/x86/CONFIG_EXTCON_RT8973A b/baseconfig/x86/CONFIG_EXTCON_RT8973A new file mode 100644 index 000000000..e5f7236c9 --- /dev/null +++ b/baseconfig/x86/CONFIG_EXTCON_RT8973A @@ -0,0 +1 @@ +# CONFIG_EXTCON_RT8973A is not set diff --git a/baseconfig/x86/CONFIG_EXTCON_SM5502 b/baseconfig/x86/CONFIG_EXTCON_SM5502 new file mode 100644 index 000000000..916994aa9 --- /dev/null +++ b/baseconfig/x86/CONFIG_EXTCON_SM5502 @@ -0,0 +1 @@ +# CONFIG_EXTCON_SM5502 is not set diff --git a/baseconfig/x86/CONFIG_EXTCON_USB_GPIO b/baseconfig/x86/CONFIG_EXTCON_USB_GPIO new file mode 100644 index 000000000..7a0c9af30 --- /dev/null +++ b/baseconfig/x86/CONFIG_EXTCON_USB_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_USB_GPIO is not set diff --git a/baseconfig/x86/CONFIG_GPD_POCKET_FAN b/baseconfig/x86/CONFIG_GPD_POCKET_FAN new file mode 100644 index 000000000..6eb761b30 --- /dev/null +++ b/baseconfig/x86/CONFIG_GPD_POCKET_FAN @@ -0,0 +1 @@ +CONFIG_GPD_POCKET_FAN=m diff --git a/baseconfig/x86/CONFIG_GPIO_AMDPT b/baseconfig/x86/CONFIG_GPIO_AMDPT new file mode 100644 index 000000000..04ac1ad2c --- /dev/null +++ b/baseconfig/x86/CONFIG_GPIO_AMDPT @@ -0,0 +1 @@ +CONFIG_GPIO_AMDPT=m diff --git a/baseconfig/x86/CONFIG_GPIO_IT87 b/baseconfig/x86/CONFIG_GPIO_IT87 new file mode 100644 index 000000000..00746d711 --- /dev/null +++ b/baseconfig/x86/CONFIG_GPIO_IT87 @@ -0,0 +1 @@ +CONFIG_GPIO_IT87=m diff --git a/baseconfig/x86/CONFIG_HARDLOCKUP_DETECTOR b/baseconfig/x86/CONFIG_HARDLOCKUP_DETECTOR new file mode 100644 index 000000000..dc5ae5ce3 --- /dev/null +++ b/baseconfig/x86/CONFIG_HARDLOCKUP_DETECTOR @@ -0,0 +1 @@ +CONFIG_HARDLOCKUP_DETECTOR=y diff --git a/baseconfig/x86/CONFIG_HYPERV_VSOCKETS b/baseconfig/x86/CONFIG_HYPERV_VSOCKETS new file mode 100644 index 000000000..bd21cd675 --- /dev/null +++ b/baseconfig/x86/CONFIG_HYPERV_VSOCKETS @@ -0,0 +1 @@ +CONFIG_HYPERV_VSOCKETS=m diff --git a/baseconfig/x86/CONFIG_I2C_DESIGNWARE_CORE b/baseconfig/x86/CONFIG_I2C_DESIGNWARE_CORE index 661ffb01a..f9cdc633b 100644 --- a/baseconfig/x86/CONFIG_I2C_DESIGNWARE_CORE +++ b/baseconfig/x86/CONFIG_I2C_DESIGNWARE_CORE @@ -1 +1 @@ -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y diff --git a/baseconfig/x86/CONFIG_I2C_DESIGNWARE_PLATFORM b/baseconfig/x86/CONFIG_I2C_DESIGNWARE_PLATFORM index cec2f8633..3d50a3e8a 100644 --- a/baseconfig/x86/CONFIG_I2C_DESIGNWARE_PLATFORM +++ b/baseconfig/x86/CONFIG_I2C_DESIGNWARE_PLATFORM @@ -1 +1 @@ -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y diff --git a/baseconfig/CONFIG_I2C_PARPORT b/baseconfig/x86/CONFIG_I2C_PARPORT similarity index 100% rename from baseconfig/CONFIG_I2C_PARPORT rename to baseconfig/x86/CONFIG_I2C_PARPORT diff --git a/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT b/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT new file mode 100644 index 000000000..1dbc68883 --- /dev/null +++ b/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT @@ -0,0 +1 @@ +CONFIG_I2C_PARPORT_LIGHT=m diff --git a/baseconfig/x86/CONFIG_INFINIBAND_VMWARE_PVRDMA b/baseconfig/x86/CONFIG_INFINIBAND_VMWARE_PVRDMA new file mode 100644 index 000000000..164f3b26c --- /dev/null +++ b/baseconfig/x86/CONFIG_INFINIBAND_VMWARE_PVRDMA @@ -0,0 +1 @@ +CONFIG_INFINIBAND_VMWARE_PVRDMA=m diff --git a/baseconfig/x86/CONFIG_INTEL_ATOMISP b/baseconfig/x86/CONFIG_INTEL_ATOMISP new file mode 100644 index 000000000..fde06c533 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_ATOMISP @@ -0,0 +1 @@ +# CONFIG_INTEL_ATOMISP is not set diff --git a/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN b/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN new file mode 100644 index 000000000..55ca8a3ad --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN @@ -0,0 +1 @@ +CONFIG_INTEL_CHTDC_TI_PWRBTN=m diff --git a/baseconfig/x86/CONFIG_INTEL_CHT_INT33FE b/baseconfig/x86/CONFIG_INTEL_CHT_INT33FE new file mode 100644 index 000000000..7657a9a07 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_CHT_INT33FE @@ -0,0 +1 @@ +CONFIG_INTEL_CHT_INT33FE=m diff --git a/baseconfig/x86/CONFIG_INTEL_INT0002_VGPIO b/baseconfig/x86/CONFIG_INTEL_INT0002_VGPIO new file mode 100644 index 000000000..f416f2ddc --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_INT0002_VGPIO @@ -0,0 +1 @@ +# CONFIG_INTEL_INT0002_VGPIO is not set diff --git a/baseconfig/x86/CONFIG_INTEL_RDT b/baseconfig/x86/CONFIG_INTEL_RDT new file mode 100644 index 000000000..0dcef9a32 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_RDT @@ -0,0 +1 @@ +CONFIG_INTEL_RDT=y diff --git a/baseconfig/x86/CONFIG_INTEL_SOC_PMIC_CHTWC b/baseconfig/x86/CONFIG_INTEL_SOC_PMIC_CHTWC new file mode 100644 index 000000000..2d14c0346 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_SOC_PMIC_CHTWC @@ -0,0 +1 @@ +# CONFIG_INTEL_SOC_PMIC_CHTWC is not set diff --git a/baseconfig/x86/CONFIG_INTEL_WMI_THUNDERBOLT b/baseconfig/x86/CONFIG_INTEL_WMI_THUNDERBOLT new file mode 100644 index 000000000..05356f742 --- /dev/null +++ b/baseconfig/x86/CONFIG_INTEL_WMI_THUNDERBOLT @@ -0,0 +1 @@ +CONFIG_INTEL_WMI_THUNDERBOLT=m diff --git a/baseconfig/x86/CONFIG_KEXEC_SIG b/baseconfig/x86/CONFIG_KEXEC_SIG new file mode 100644 index 000000000..49392e485 --- /dev/null +++ b/baseconfig/x86/CONFIG_KEXEC_SIG @@ -0,0 +1 @@ +# CONFIG_KEXEC_SIG is not set diff --git a/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG b/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG deleted file mode 100644 index 5d9b84372..000000000 --- a/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_KEXEC_VERIFY_SIG is not set diff --git a/baseconfig/x86/CONFIG_LEDS_APU b/baseconfig/x86/CONFIG_LEDS_APU new file mode 100644 index 000000000..3c8087068 --- /dev/null +++ b/baseconfig/x86/CONFIG_LEDS_APU @@ -0,0 +1 @@ +CONFIG_LEDS_APU=m diff --git a/baseconfig/x86/CONFIG_LOAD_UEFI_KEYS b/baseconfig/x86/CONFIG_LOAD_UEFI_KEYS new file mode 100644 index 000000000..22502e981 --- /dev/null +++ b/baseconfig/x86/CONFIG_LOAD_UEFI_KEYS @@ -0,0 +1 @@ +CONFIG_LOAD_UEFI_KEYS=y diff --git a/baseconfig/x86/CONFIG_MAXSMP b/baseconfig/x86/CONFIG_MAXSMP index 8d0fa581d..d0d71de53 100644 --- a/baseconfig/x86/CONFIG_MAXSMP +++ b/baseconfig/x86/CONFIG_MAXSMP @@ -1 +1 @@ -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set diff --git a/baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM b/baseconfig/x86/CONFIG_MLX_PLATFORM similarity index 100% rename from baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM rename to baseconfig/x86/CONFIG_MLX_PLATFORM diff --git a/baseconfig/x86/CONFIG_MODULE_SIG_UEFI b/baseconfig/x86/CONFIG_MODULE_SIG_UEFI deleted file mode 100644 index c2bb7cecf..000000000 --- a/baseconfig/x86/CONFIG_MODULE_SIG_UEFI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MODULE_SIG_UEFI=y diff --git a/baseconfig/x86/CONFIG_PARPORT b/baseconfig/x86/CONFIG_PARPORT new file mode 100644 index 000000000..589156958 --- /dev/null +++ b/baseconfig/x86/CONFIG_PARPORT @@ -0,0 +1 @@ +CONFIG_PARPORT=m diff --git a/baseconfig/CONFIG_PARPORT_1284 b/baseconfig/x86/CONFIG_PARPORT_1284 similarity index 100% rename from baseconfig/CONFIG_PARPORT_1284 rename to baseconfig/x86/CONFIG_PARPORT_1284 diff --git a/baseconfig/CONFIG_PARPORT_AX88796 b/baseconfig/x86/CONFIG_PARPORT_AX88796 similarity index 100% rename from baseconfig/CONFIG_PARPORT_AX88796 rename to baseconfig/x86/CONFIG_PARPORT_AX88796 diff --git a/baseconfig/x86/CONFIG_PARPORT_PC b/baseconfig/x86/CONFIG_PARPORT_PC new file mode 100644 index 000000000..b9aa6e8ca --- /dev/null +++ b/baseconfig/x86/CONFIG_PARPORT_PC @@ -0,0 +1 @@ +CONFIG_PARPORT_PC=m diff --git a/baseconfig/CONFIG_PARPORT_PC_FIFO b/baseconfig/x86/CONFIG_PARPORT_PC_FIFO similarity index 100% rename from baseconfig/CONFIG_PARPORT_PC_FIFO rename to baseconfig/x86/CONFIG_PARPORT_PC_FIFO diff --git a/baseconfig/CONFIG_PARPORT_PC_PCMCIA b/baseconfig/x86/CONFIG_PARPORT_PC_PCMCIA similarity index 100% rename from baseconfig/CONFIG_PARPORT_PC_PCMCIA rename to baseconfig/x86/CONFIG_PARPORT_PC_PCMCIA diff --git a/baseconfig/CONFIG_PARPORT_PC_SUPERIO b/baseconfig/x86/CONFIG_PARPORT_PC_SUPERIO similarity index 100% rename from baseconfig/CONFIG_PARPORT_PC_SUPERIO rename to baseconfig/x86/CONFIG_PARPORT_PC_SUPERIO diff --git a/baseconfig/CONFIG_PARPORT_SERIAL b/baseconfig/x86/CONFIG_PARPORT_SERIAL similarity index 100% rename from baseconfig/CONFIG_PARPORT_SERIAL rename to baseconfig/x86/CONFIG_PARPORT_SERIAL diff --git a/baseconfig/x86/CONFIG_PEAQ_WMI b/baseconfig/x86/CONFIG_PEAQ_WMI new file mode 100644 index 000000000..942e0690e --- /dev/null +++ b/baseconfig/x86/CONFIG_PEAQ_WMI @@ -0,0 +1 @@ +CONFIG_PEAQ_WMI=m diff --git a/baseconfig/x86/CONFIG_PINCTRL_AMD b/baseconfig/x86/CONFIG_PINCTRL_AMD index 02626b835..a1f44d876 100644 --- a/baseconfig/x86/CONFIG_PINCTRL_AMD +++ b/baseconfig/x86/CONFIG_PINCTRL_AMD @@ -1 +1 @@ -# CONFIG_PINCTRL_AMD is not set +CONFIG_PINCTRL_AMD=m diff --git a/baseconfig/x86/CONFIG_PINCTRL_DENVERTON b/baseconfig/x86/CONFIG_PINCTRL_DENVERTON new file mode 100644 index 000000000..ec6b4e8e1 --- /dev/null +++ b/baseconfig/x86/CONFIG_PINCTRL_DENVERTON @@ -0,0 +1 @@ +CONFIG_PINCTRL_DENVERTON=m diff --git a/baseconfig/CONFIG_PPS_CLIENT_PARPORT b/baseconfig/x86/CONFIG_PPS_CLIENT_PARPORT similarity index 100% rename from baseconfig/CONFIG_PPS_CLIENT_PARPORT rename to baseconfig/x86/CONFIG_PPS_CLIENT_PARPORT diff --git a/baseconfig/x86/CONFIG_RETPOLINE b/baseconfig/x86/CONFIG_RETPOLINE new file mode 100644 index 000000000..c46e12644 --- /dev/null +++ b/baseconfig/x86/CONFIG_RETPOLINE @@ -0,0 +1 @@ +CONFIG_RETPOLINE=y diff --git a/baseconfig/x86/CONFIG_SCSI_UFSHCD b/baseconfig/x86/CONFIG_SCSI_UFSHCD new file mode 100644 index 000000000..041b8209b --- /dev/null +++ b/baseconfig/x86/CONFIG_SCSI_UFSHCD @@ -0,0 +1 @@ +CONFIG_SCSI_UFSHCD=m diff --git a/baseconfig/x86/CONFIG_SCSI_UFSHCD_PCI b/baseconfig/x86/CONFIG_SCSI_UFSHCD_PCI new file mode 100644 index 000000000..4907ac2e6 --- /dev/null +++ b/baseconfig/x86/CONFIG_SCSI_UFSHCD_PCI @@ -0,0 +1 @@ +CONFIG_SCSI_UFSHCD_PCI=m diff --git a/baseconfig/CONFIG_SCSI_UFSHCD_PLATFORM b/baseconfig/x86/CONFIG_SCSI_UFSHCD_PLATFORM similarity index 100% rename from baseconfig/CONFIG_SCSI_UFSHCD_PLATFORM rename to baseconfig/x86/CONFIG_SCSI_UFSHCD_PLATFORM diff --git a/baseconfig/x86/CONFIG_SD_ADC_MODULATOR b/baseconfig/x86/CONFIG_SD_ADC_MODULATOR new file mode 100644 index 000000000..de78e1d14 --- /dev/null +++ b/baseconfig/x86/CONFIG_SD_ADC_MODULATOR @@ -0,0 +1 @@ +CONFIG_SD_ADC_MODULATOR=m diff --git a/baseconfig/x86/CONFIG_SND_INTEL8X0 b/baseconfig/x86/CONFIG_SND_INTEL8X0 new file mode 100644 index 000000000..6d78f08ea --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_INTEL8X0 @@ -0,0 +1 @@ +CONFIG_SND_INTEL8X0=m diff --git a/baseconfig/x86/CONFIG_SND_INTEL8X0M b/baseconfig/x86/CONFIG_SND_INTEL8X0M new file mode 100644 index 000000000..24ac6ada4 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_INTEL8X0M @@ -0,0 +1 @@ +CONFIG_SND_INTEL8X0M=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_ES8316 b/baseconfig/x86/CONFIG_SND_SOC_ES8316 new file mode 100644 index 000000000..c173cadd5 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_ES8316 @@ -0,0 +1 @@ +CONFIG_SND_SOC_ES8316=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH new file mode 100644 index 000000000..0697694f9 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH new file mode 100644 index 000000000..33cb51b40 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH new file mode 100644 index 000000000..db07e5fb0 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_HASWELL b/baseconfig/x86/CONFIG_SND_SOC_INTEL_HASWELL new file mode 100644 index 000000000..0ad1d94ac --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_HASWELL @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_HASWELL=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH b/baseconfig/x86/CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH new file mode 100644 index 000000000..139a693b5 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH b/baseconfig/x86/CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH new file mode 100644 index 000000000..8fccaf1bd --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_SKYLAKE b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SKYLAKE new file mode 100644 index 000000000..f0a5748de --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SKYLAKE @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_SKYLAKE=m diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL new file mode 100644 index 000000000..419418b86 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y diff --git a/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM new file mode 100644 index 000000000..5770b3626 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM @@ -0,0 +1 @@ +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m diff --git a/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI new file mode 100644 index 000000000..2fcfec9cc --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI @@ -0,0 +1 @@ +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m diff --git a/baseconfig/x86/CONFIG_SND_VIA82XX b/baseconfig/x86/CONFIG_SND_VIA82XX new file mode 100644 index 000000000..129cf3976 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_VIA82XX @@ -0,0 +1 @@ +CONFIG_SND_VIA82XX=m diff --git a/baseconfig/x86/CONFIG_SND_VIA82XX_MODEM b/baseconfig/x86/CONFIG_SND_VIA82XX_MODEM new file mode 100644 index 000000000..81e80f3a5 --- /dev/null +++ b/baseconfig/x86/CONFIG_SND_VIA82XX_MODEM @@ -0,0 +1 @@ +CONFIG_SND_VIA82XX_MODEM=m diff --git a/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL b/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL new file mode 100644 index 000000000..d48d1cc17 --- /dev/null +++ b/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE_INTEL=m diff --git a/baseconfig/x86/CONFIG_THUNDERBOLT_NET b/baseconfig/x86/CONFIG_THUNDERBOLT_NET new file mode 100644 index 000000000..1cfc06a79 --- /dev/null +++ b/baseconfig/x86/CONFIG_THUNDERBOLT_NET @@ -0,0 +1 @@ +CONFIG_THUNDERBOLT_NET=m diff --git a/baseconfig/CONFIG_USB_SERIAL_MOS7715_PARPORT b/baseconfig/x86/CONFIG_USB_SERIAL_MOS7715_PARPORT similarity index 100% rename from baseconfig/CONFIG_USB_SERIAL_MOS7715_PARPORT rename to baseconfig/x86/CONFIG_USB_SERIAL_MOS7715_PARPORT diff --git a/baseconfig/x86/CONFIG_VBOXGUEST b/baseconfig/x86/CONFIG_VBOXGUEST new file mode 100644 index 000000000..790186610 --- /dev/null +++ b/baseconfig/x86/CONFIG_VBOXGUEST @@ -0,0 +1 @@ +# CONFIG_VBOXGUEST is not set diff --git a/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2 b/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2 new file mode 100644 index 000000000..d8d306e62 --- /dev/null +++ b/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2 @@ -0,0 +1 @@ +CONFIG_VIDEO_IPU3_CIO2=m diff --git a/baseconfig/x86/CONFIG_VIRT_DRIVERS b/baseconfig/x86/CONFIG_VIRT_DRIVERS new file mode 100644 index 000000000..7173b9c64 --- /dev/null +++ b/baseconfig/x86/CONFIG_VIRT_DRIVERS @@ -0,0 +1 @@ +CONFIG_VIRT_DRIVERS=y diff --git a/baseconfig/x86/CONFIG_WMI_BMOF b/baseconfig/x86/CONFIG_WMI_BMOF new file mode 100644 index 000000000..61dcf543b --- /dev/null +++ b/baseconfig/x86/CONFIG_WMI_BMOF @@ -0,0 +1 @@ +CONFIG_WMI_BMOF=m diff --git a/baseconfig/x86/CONFIG_X86_AMD_PLATFORM_DEVICE b/baseconfig/x86/CONFIG_X86_AMD_PLATFORM_DEVICE index 15b9c575b..4da780aa7 100644 --- a/baseconfig/x86/CONFIG_X86_AMD_PLATFORM_DEVICE +++ b/baseconfig/x86/CONFIG_X86_AMD_PLATFORM_DEVICE @@ -1 +1 @@ -# CONFIG_X86_AMD_PLATFORM_DEVICE is not set +CONFIG_X86_AMD_PLATFORM_DEVICE=y diff --git a/baseconfig/x86/CONFIG_X86_PMEM_LEGACY b/baseconfig/x86/CONFIG_X86_PMEM_LEGACY index 3ac539aca..b93c1350f 100644 --- a/baseconfig/x86/CONFIG_X86_PMEM_LEGACY +++ b/baseconfig/x86/CONFIG_X86_PMEM_LEGACY @@ -1 +1 @@ -CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY=m diff --git a/baseconfig/x86/CONFIG_XEN_DOM0 b/baseconfig/x86/CONFIG_XEN_DOM0 new file mode 100644 index 000000000..c5cb5d24a --- /dev/null +++ b/baseconfig/x86/CONFIG_XEN_DOM0 @@ -0,0 +1 @@ +CONFIG_XEN_DOM0=y diff --git a/baseconfig/x86/CONFIG_XEN_PV b/baseconfig/x86/CONFIG_XEN_PV new file mode 100644 index 000000000..89203e84e --- /dev/null +++ b/baseconfig/x86/CONFIG_XEN_PV @@ -0,0 +1 @@ +CONFIG_XEN_PV=y diff --git a/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND b/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND new file mode 100644 index 000000000..3a5b2c46d --- /dev/null +++ b/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND @@ -0,0 +1 @@ +# CONFIG_XEN_PVCALLS_BACKEND is not set diff --git a/baseconfig/x86/CONFIG_XEN_PVHVM b/baseconfig/x86/CONFIG_XEN_PVHVM new file mode 100644 index 000000000..be722d220 --- /dev/null +++ b/baseconfig/x86/CONFIG_XEN_PVHVM @@ -0,0 +1 @@ +CONFIG_XEN_PVHVM=y diff --git a/baseconfig/x86/i686/CONFIG_COMMON_CLK_SI570 b/baseconfig/x86/i686/CONFIG_COMMON_CLK_SI570 deleted file mode 100644 index aa746413a..000000000 --- a/baseconfig/x86/i686/CONFIG_COMMON_CLK_SI570 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_COMMON_CLK_SI570 is not set diff --git a/baseconfig/x86/CONFIG_EDAC_AMD76X b/baseconfig/x86/i686/CONFIG_EDAC_AMD76X similarity index 100% rename from baseconfig/x86/CONFIG_EDAC_AMD76X rename to baseconfig/x86/i686/CONFIG_EDAC_AMD76X diff --git a/baseconfig/x86/CONFIG_EDAC_E7XXX b/baseconfig/x86/i686/CONFIG_EDAC_E7XXX similarity index 100% rename from baseconfig/x86/CONFIG_EDAC_E7XXX rename to baseconfig/x86/i686/CONFIG_EDAC_E7XXX diff --git a/baseconfig/x86/CONFIG_EDAC_I82860 b/baseconfig/x86/i686/CONFIG_EDAC_I82860 similarity index 100% rename from baseconfig/x86/CONFIG_EDAC_I82860 rename to baseconfig/x86/i686/CONFIG_EDAC_I82860 diff --git a/baseconfig/x86/CONFIG_EDAC_I82875P b/baseconfig/x86/i686/CONFIG_EDAC_I82875P similarity index 100% rename from baseconfig/x86/CONFIG_EDAC_I82875P rename to baseconfig/x86/i686/CONFIG_EDAC_I82875P diff --git a/baseconfig/x86/CONFIG_EDAC_R82600 b/baseconfig/x86/i686/CONFIG_EDAC_R82600 similarity index 100% rename from baseconfig/x86/CONFIG_EDAC_R82600 rename to baseconfig/x86/i686/CONFIG_EDAC_R82600 diff --git a/baseconfig/x86/i686/CONFIG_EDAC_SBRIDGE b/baseconfig/x86/i686/CONFIG_EDAC_SBRIDGE deleted file mode 100644 index 8ffe20d85..000000000 --- a/baseconfig/x86/i686/CONFIG_EDAC_SBRIDGE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EDAC_SBRIDGE is not set diff --git a/baseconfig/x86/i686/CONFIG_MMC_SDHCI_OF b/baseconfig/x86/i686/CONFIG_MMC_SDHCI_OF deleted file mode 100644 index 2e588649a..000000000 --- a/baseconfig/x86/i686/CONFIG_MMC_SDHCI_OF +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MMC_SDHCI_OF is not set diff --git a/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX b/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX deleted file mode 100644 index 9963aedf7..000000000 --- a/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_BCM281XX is not set diff --git a/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE b/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE deleted file mode 100644 index 373382804..000000000 --- a/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_X86_PPRO_FENCE is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_COMMON_CLK_SI570 b/baseconfig/x86/i686PAE/CONFIG_COMMON_CLK_SI570 deleted file mode 100644 index aa746413a..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_COMMON_CLK_SI570 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_COMMON_CLK_SI570 is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL b/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL deleted file mode 100644 index de8a9c247..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL=y diff --git a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 b/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 deleted file mode 100644 index 9d584f6ab..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 b/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 deleted file mode 100644 index 64dedb057..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_AMD76X b/baseconfig/x86/i686PAE/CONFIG_EDAC_AMD76X new file mode 100644 index 000000000..fe5952e70 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_AMD76X @@ -0,0 +1 @@ +CONFIG_EDAC_AMD76X=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_E7XXX b/baseconfig/x86/i686PAE/CONFIG_EDAC_E7XXX new file mode 100644 index 000000000..0322ddb69 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_E7XXX @@ -0,0 +1 @@ +CONFIG_EDAC_E7XXX=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_I82860 b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82860 new file mode 100644 index 000000000..5e132db1a --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82860 @@ -0,0 +1 @@ +CONFIG_EDAC_I82860=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_I82875P b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82875P new file mode 100644 index 000000000..dbe32d406 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_I82875P @@ -0,0 +1 @@ +CONFIG_EDAC_I82875P=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_R82600 b/baseconfig/x86/i686PAE/CONFIG_EDAC_R82600 new file mode 100644 index 000000000..93a01e506 --- /dev/null +++ b/baseconfig/x86/i686PAE/CONFIG_EDAC_R82600 @@ -0,0 +1 @@ +CONFIG_EDAC_R82600=m diff --git a/baseconfig/x86/i686PAE/CONFIG_EDAC_SBRIDGE b/baseconfig/x86/i686PAE/CONFIG_EDAC_SBRIDGE deleted file mode 100644 index 8ffe20d85..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_EDAC_SBRIDGE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EDAC_SBRIDGE is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_MMC_SDHCI_OF b/baseconfig/x86/i686PAE/CONFIG_MMC_SDHCI_OF deleted file mode 100644 index 2e588649a..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_MMC_SDHCI_OF +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MMC_SDHCI_OF is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX b/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX deleted file mode 100644 index 9963aedf7..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_BCM281XX is not set diff --git a/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE b/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE deleted file mode 100644 index 373382804..000000000 --- a/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_X86_PPRO_FENCE is not set diff --git a/baseconfig/x86/x86_64/CONFIG_88EU_AP_MODE b/baseconfig/x86/x86_64/CONFIG_88EU_AP_MODE new file mode 100644 index 000000000..8ba98fbe9 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_88EU_AP_MODE @@ -0,0 +1 @@ +CONFIG_88EU_AP_MODE=y diff --git a/baseconfig/x86/x86_64/CONFIG_AK8975 b/baseconfig/x86/x86_64/CONFIG_AK8975 new file mode 100644 index 000000000..547c21a99 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AK8975 @@ -0,0 +1 @@ +CONFIG_AK8975=m diff --git a/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT b/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT new file mode 100644 index 000000000..f9eacfabc --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT @@ -0,0 +1 @@ +CONFIG_AMD_MEM_ENCRYPT=y diff --git a/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT b/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT new file mode 100644 index 000000000..e41f0cf8f --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT @@ -0,0 +1 @@ +# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AQTION b/baseconfig/x86/x86_64/CONFIG_AQTION new file mode 100644 index 000000000..7812ca016 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AQTION @@ -0,0 +1 @@ +CONFIG_AQTION=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC b/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC new file mode 100644 index 000000000..0960ee661 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC @@ -0,0 +1 @@ +# CONFIG_AXP20X_ADC is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER b/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER new file mode 100644 index 000000000..e02cee707 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER @@ -0,0 +1 @@ +# CONFIG_AXP20X_POWER is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_ADC b/baseconfig/x86/x86_64/CONFIG_AXP288_ADC new file mode 100644 index 000000000..e138f36af --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_ADC @@ -0,0 +1 @@ +CONFIG_AXP288_ADC=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER b/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER new file mode 100644 index 000000000..0418f962c --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER @@ -0,0 +1 @@ +CONFIG_AXP288_CHARGER=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE b/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE new file mode 100644 index 000000000..e171b954b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE @@ -0,0 +1 @@ +CONFIG_AXP288_FUEL_GAUGE=m diff --git a/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 b/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 new file mode 100644 index 000000000..669e6ac2e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 @@ -0,0 +1 @@ +CONFIG_BATTERY_MAX17042=m diff --git a/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 b/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 new file mode 100644 index 000000000..3128bb676 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 @@ -0,0 +1 @@ +CONFIG_CHARGER_BQ24190=m diff --git a/baseconfig/x86/x86_64/CONFIG_CHARGER_MANAGER b/baseconfig/x86/x86_64/CONFIG_CHARGER_MANAGER new file mode 100644 index 000000000..51fe252eb --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CHARGER_MANAGER @@ -0,0 +1 @@ +# CONFIG_CHARGER_MANAGER is not set diff --git a/baseconfig/x86/x86_64/CONFIG_CHT_WC_PMIC_OPREGION b/baseconfig/x86/x86_64/CONFIG_CHT_WC_PMIC_OPREGION new file mode 100644 index 000000000..3aa5a5f70 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CHT_WC_PMIC_OPREGION @@ -0,0 +1 @@ +CONFIG_CHT_WC_PMIC_OPREGION=y diff --git a/baseconfig/x86/x86_64/CONFIG_CPU_ISOLATION b/baseconfig/x86/x86_64/CONFIG_CPU_ISOLATION new file mode 100644 index 000000000..da3a02c10 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CPU_ISOLATION @@ -0,0 +1 @@ +CONFIG_CPU_ISOLATION=y diff --git a/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP b/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP new file mode 100644 index 000000000..7b0c6490a --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_SP_PSP=y diff --git a/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE b/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE new file mode 100644 index 000000000..ef0a4ad5b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE @@ -0,0 +1 @@ +CONFIG_DEVICE_PRIVATE=y diff --git a/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC b/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC new file mode 100644 index 000000000..c790e941b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC @@ -0,0 +1 @@ +CONFIG_DEVICE_PUBLIC=y diff --git a/baseconfig/x86/x86_64/CONFIG_DRM_PANEL b/baseconfig/x86/x86_64/CONFIG_DRM_PANEL deleted file mode 100644 index de8a9c247..000000000 --- a/baseconfig/x86/x86_64/CONFIG_DRM_PANEL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_PANEL=y diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 b/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 new file mode 100644 index 000000000..7fadeb58d --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 @@ -0,0 +1 @@ +CONFIG_EXTCON_AXP288=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_CHT_WC b/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_CHT_WC new file mode 100644 index 000000000..06e0472e8 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_CHT_WC @@ -0,0 +1 @@ +CONFIG_EXTCON_INTEL_CHT_WC=m diff --git a/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 new file mode 100644 index 000000000..c71682292 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 @@ -0,0 +1 @@ +# CONFIG_GPIO_AXP209 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR b/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR new file mode 100644 index 000000000..11dfee6c1 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR @@ -0,0 +1 @@ +CONFIG_HMM_MIRROR=y diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_CHT_WC b/baseconfig/x86/x86_64/CONFIG_I2C_CHT_WC new file mode 100644 index 000000000..f656e03fc --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_CHT_WC @@ -0,0 +1 @@ +CONFIG_I2C_CHT_WC=m diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI new file mode 100644 index 000000000..6103f947e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_PCI=y diff --git a/baseconfig/x86/x86_64/CONFIG_INFINIBAND_OPA_VNIC b/baseconfig/x86/x86_64/CONFIG_INFINIBAND_OPA_VNIC new file mode 100644 index 000000000..d79565e48 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INFINIBAND_OPA_VNIC @@ -0,0 +1 @@ +CONFIG_INFINIBAND_OPA_VNIC=m diff --git a/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK b/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK new file mode 100644 index 000000000..e2fbdf907 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK @@ -0,0 +1 @@ +CONFIG_INPUT_AXP20X_PEK=m diff --git a/baseconfig/x86/x86_64/CONFIG_INPUT_REGULATOR_HAPTIC b/baseconfig/x86/x86_64/CONFIG_INPUT_REGULATOR_HAPTIC new file mode 100644 index 000000000..4230eab6f --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INPUT_REGULATOR_HAPTIC @@ -0,0 +1 @@ +# CONFIG_INPUT_REGULATOR_HAPTIC is not set diff --git a/baseconfig/x86/x86_64/CONFIG_INTEL_INT0002_VGPIO b/baseconfig/x86/x86_64/CONFIG_INTEL_INT0002_VGPIO new file mode 100644 index 000000000..7ab08bb0e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INTEL_INT0002_VGPIO @@ -0,0 +1 @@ +CONFIG_INTEL_INT0002_VGPIO=m diff --git a/baseconfig/x86/x86_64/CONFIG_INTEL_SOC_PMIC_CHTWC b/baseconfig/x86/x86_64/CONFIG_INTEL_SOC_PMIC_CHTWC new file mode 100644 index 000000000..2f8920510 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INTEL_SOC_PMIC_CHTWC @@ -0,0 +1 @@ +CONFIG_INTEL_SOC_PMIC_CHTWC=y diff --git a/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C new file mode 100644 index 000000000..8ec049b05 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C @@ -0,0 +1 @@ +CONFIG_INV_MPU6050_I2C=m diff --git a/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO new file mode 100644 index 000000000..ae4889d92 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO @@ -0,0 +1 @@ +CONFIG_INV_MPU6050_IIO=m diff --git a/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST b/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST new file mode 100644 index 000000000..aa93b53af --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST @@ -0,0 +1 @@ +# CONFIG_JAILHOUSE_GUEST is not set diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG new file mode 100644 index 000000000..67b688658 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG @@ -0,0 +1 @@ +CONFIG_KEXEC_SIG=y diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE new file mode 100644 index 000000000..6aa62efa5 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE @@ -0,0 +1 @@ +CONFIG_KEXEC_SIG_FORCE=y diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG b/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG deleted file mode 100644 index 5f39f1993..000000000 --- a/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG +++ /dev/null @@ -1 +0,0 @@ -CONFIG_KEXEC_VERIFY_SIG=y diff --git a/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV b/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV new file mode 100644 index 000000000..de33426a5 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV @@ -0,0 +1 @@ +CONFIG_KVM_AMD_SEV=y diff --git a/baseconfig/x86/x86_64/CONFIG_LEDS_REGULATOR b/baseconfig/x86/x86_64/CONFIG_LEDS_REGULATOR new file mode 100644 index 000000000..b190ec3a8 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_LEDS_REGULATOR @@ -0,0 +1 @@ +# CONFIG_LEDS_REGULATOR is not set diff --git a/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT b/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT new file mode 100644 index 000000000..4a06cfcc2 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT @@ -0,0 +1 @@ +CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y diff --git a/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X new file mode 100644 index 000000000..ada79c0d1 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X @@ -0,0 +1 @@ +CONFIG_MFD_AXP20X=y diff --git a/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C new file mode 100644 index 000000000..22c60295b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C @@ -0,0 +1 @@ +CONFIG_MFD_AXP20X_I2C=y diff --git a/baseconfig/x86/x86_64/CONFIG_NR_CPUS b/baseconfig/x86/x86_64/CONFIG_NR_CPUS index 441191641..27d187f4d 100644 --- a/baseconfig/x86/x86_64/CONFIG_NR_CPUS +++ b/baseconfig/x86/x86_64/CONFIG_NR_CPUS @@ -1 +1 @@ -CONFIG_NR_CPUS=8192 +CONFIG_NR_CPUS=1024 diff --git a/baseconfig/x86/x86_64/CONFIG_NR_DEV_DAX b/baseconfig/x86/x86_64/CONFIG_NR_DEV_DAX deleted file mode 100644 index 3fd0f86b1..000000000 --- a/baseconfig/x86/x86_64/CONFIG_NR_DEV_DAX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_NR_DEV_DAX=32768 diff --git a/baseconfig/x86/x86_64/CONFIG_PAGE_TABLE_ISOLATION b/baseconfig/x86/x86_64/CONFIG_PAGE_TABLE_ISOLATION new file mode 100644 index 000000000..6881a7757 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_PAGE_TABLE_ISOLATION @@ -0,0 +1 @@ +CONFIG_PAGE_TABLE_ISOLATION=y diff --git a/baseconfig/x86/x86_64/CONFIG_R8188EU b/baseconfig/x86/x86_64/CONFIG_R8188EU new file mode 100644 index 000000000..ed7c3546e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_R8188EU @@ -0,0 +1 @@ +CONFIG_R8188EU=m diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR b/baseconfig/x86/x86_64/CONFIG_REGULATOR new file mode 100644 index 000000000..5b7c35c8f --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR @@ -0,0 +1 @@ +CONFIG_REGULATOR=y diff --git a/baseconfig/arm/armv7/CONFIG_REGULATOR_ACT8865 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_ACT8865 similarity index 100% rename from baseconfig/arm/armv7/CONFIG_REGULATOR_ACT8865 rename to baseconfig/x86/x86_64/CONFIG_REGULATOR_ACT8865 diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_AD5398 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_AD5398 new file mode 100644 index 000000000..83b596823 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_AD5398 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_AD5398 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_AXP20X b/baseconfig/x86/x86_64/CONFIG_REGULATOR_AXP20X new file mode 100644 index 000000000..e44a842fd --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_AXP20X @@ -0,0 +1 @@ +# CONFIG_REGULATOR_AXP20X is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_BD9571MWV b/baseconfig/x86/x86_64/CONFIG_REGULATOR_BD9571MWV new file mode 100644 index 000000000..aee7f5a0e --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_BD9571MWV @@ -0,0 +1 @@ +# CONFIG_REGULATOR_BD9571MWV is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_DA9210 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_DA9210 new file mode 100644 index 000000000..ed858d92d --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_DA9210 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_DA9210 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_DA9211 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_DA9211 new file mode 100644 index 000000000..5f4b883da --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_DA9211 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_DA9211 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_FAN53555 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_FAN53555 new file mode 100644 index 000000000..d62314c7d --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_FAN53555 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_FAN53555 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_FIXED_VOLTAGE b/baseconfig/x86/x86_64/CONFIG_REGULATOR_FIXED_VOLTAGE new file mode 100644 index 000000000..63c1bd929 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_FIXED_VOLTAGE @@ -0,0 +1 @@ +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_GPIO b/baseconfig/x86/x86_64/CONFIG_REGULATOR_GPIO new file mode 100644 index 000000000..91c099fda --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_GPIO @@ -0,0 +1 @@ +# CONFIG_REGULATOR_GPIO is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_ISL6271A b/baseconfig/x86/x86_64/CONFIG_REGULATOR_ISL6271A new file mode 100644 index 000000000..f2507c882 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_ISL6271A @@ -0,0 +1 @@ +# CONFIG_REGULATOR_ISL6271A is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_ISL9305 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_ISL9305 new file mode 100644 index 000000000..70ade2e4d --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_ISL9305 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_ISL9305 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP3971 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP3971 new file mode 100644 index 000000000..e5bd8a9e8 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP3971 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_LP3971 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP3972 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP3972 new file mode 100644 index 000000000..3820f4be8 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP3972 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_LP3972 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP872X b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP872X new file mode 100644 index 000000000..a41e5d369 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP872X @@ -0,0 +1 @@ +# CONFIG_REGULATOR_LP872X is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP8755 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP8755 new file mode 100644 index 000000000..3d3d38b77 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LP8755 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_LP8755 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_LTC3589 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LTC3589 new file mode 100644 index 000000000..d14c63b54 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LTC3589 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_LTC3589 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_LTC3676 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LTC3676 new file mode 100644 index 000000000..a8f50af1c --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_LTC3676 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_LTC3676 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX1586 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX1586 new file mode 100644 index 000000000..a97539613 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX1586 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_MAX1586 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8649 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8649 new file mode 100644 index 000000000..79620946a --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8649 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_MAX8649 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8660 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8660 new file mode 100644 index 000000000..6b033e3b6 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8660 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_MAX8660 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8952 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8952 new file mode 100644 index 000000000..f8346c0fc --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MAX8952 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_MAX8952 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_MT6311 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MT6311 new file mode 100644 index 000000000..884c0d452 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_MT6311 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_MT6311 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_PFUZE100 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PFUZE100 new file mode 100644 index 000000000..726541598 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PFUZE100 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_PFUZE100 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88060 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88060 new file mode 100644 index 000000000..6c69caa24 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88060 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_PV88060 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88080 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88080 new file mode 100644 index 000000000..4b024f4ba --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88080 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_PV88080 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88090 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88090 new file mode 100644 index 000000000..009707021 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PV88090 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_PV88090 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_PWM b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PWM new file mode 100644 index 000000000..81698143a --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_PWM @@ -0,0 +1 @@ +# CONFIG_REGULATOR_PWM is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS51632 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS51632 new file mode 100644 index 000000000..b586678e3 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS51632 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_TPS51632 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS62360 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS62360 new file mode 100644 index 000000000..b6904c247 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS62360 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_TPS62360 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS65023 b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS65023 new file mode 100644 index 000000000..7e5697b53 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS65023 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_TPS65023 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS6507X b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS6507X new file mode 100644 index 000000000..bcb7b9d40 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS6507X @@ -0,0 +1 @@ +# CONFIG_REGULATOR_TPS6507X is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS6524X b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS6524X new file mode 100644 index 000000000..a7363878b --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_TPS6524X @@ -0,0 +1 @@ +# CONFIG_REGULATOR_TPS6524X is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_USERSPACE_CONSUMER b/baseconfig/x86/x86_64/CONFIG_REGULATOR_USERSPACE_CONSUMER new file mode 100644 index 000000000..f6a6e11df --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_USERSPACE_CONSUMER @@ -0,0 +1 @@ +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set diff --git a/baseconfig/x86/x86_64/CONFIG_REGULATOR_VIRTUAL_CONSUMER b/baseconfig/x86/x86_64/CONFIG_REGULATOR_VIRTUAL_CONSUMER new file mode 100644 index 000000000..cfdfe491c --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_REGULATOR_VIRTUAL_CONSUMER @@ -0,0 +1 @@ +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set diff --git a/baseconfig/x86/x86_64/CONFIG_SENSORS_LTC2978_REGULATOR b/baseconfig/x86/x86_64/CONFIG_SENSORS_LTC2978_REGULATOR new file mode 100644 index 000000000..54d82ddb6 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_SENSORS_LTC2978_REGULATOR @@ -0,0 +1 @@ +# CONFIG_SENSORS_LTC2978_REGULATOR is not set diff --git a/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI b/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI new file mode 100644 index 000000000..25b017354 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI @@ -0,0 +1 @@ +CONFIG_SILEAD_DMI=y diff --git a/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM b/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM new file mode 100644 index 000000000..060ebfc94 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM @@ -0,0 +1 @@ +CONFIG_USB_XHCI_PLATFORM=m diff --git a/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL b/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL new file mode 100644 index 000000000..db301f396 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL @@ -0,0 +1 @@ +# CONFIG_X86_5LEVEL is not set diff --git a/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION b/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION new file mode 100644 index 000000000..8c98df142 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION @@ -0,0 +1 @@ +CONFIG_XPOWER_PMIC_OPREGION=y diff --git a/bcm2835-hwrng-Handle-deferred-clock-properly.patch b/bcm2835-hwrng-Handle-deferred-clock-properly.patch new file mode 100644 index 000000000..4b4cdfea0 --- /dev/null +++ b/bcm2835-hwrng-Handle-deferred-clock-properly.patch @@ -0,0 +1,42 @@ +From patchwork Mon Feb 12 20:11:36 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: hwrng: bcm2835: Handle deferred clock properly +From: Stefan Wahren +X-Patchwork-Id: 10214385 +Message-Id: <1518466296-30161-1-git-send-email-stefan.wahren@i2se.com> +To: Herbert Xu , Matt Mackall +Cc: Stefan Wahren , + Florian Fainelli , Arnd Bergmann , + Scott Branden , Jon Mason , + Greg Kroah-Hartman , + Eric Anholt , + bcm-kernel-feedback-list@broadcom.com, linux-crypto@vger.kernel.org, + Ray Jui , linux-arm-kernel@lists.infradead.org +Date: Mon, 12 Feb 2018 21:11:36 +0100 + +In case the probe of the clock is deferred, we would assume it is +optional. This is wrong, so defer the probe of this driver until +the clock is available. + +Fixes: 791af4f4907a ("hwrng: bcm2835 - Manage an optional clock") +Signed-off-by: Stefan Wahren +Acked-by: Florian Fainelli +--- + drivers/char/hw_random/bcm2835-rng.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c +index 7a84cec..6767d96 100644 +--- a/drivers/char/hw_random/bcm2835-rng.c ++++ b/drivers/char/hw_random/bcm2835-rng.c +@@ -163,6 +163,8 @@ static int bcm2835_rng_probe(struct platform_device *pdev) + + /* Clock is optional on most platforms */ + priv->clk = devm_clk_get(dev, NULL); ++ if (IS_ERR(priv->clk) && PTR_ERR(priv->clk) == -EPROBE_DEFER) ++ return -EPROBE_DEFER; + + priv->rng.name = pdev->name; + priv->rng.init = bcm2835_rng_init; diff --git a/bcm2837-enable-pmu.patch b/bcm2837-enable-pmu.patch new file mode 100644 index 000000000..378dd64c1 --- /dev/null +++ b/bcm2837-enable-pmu.patch @@ -0,0 +1,31 @@ +From 69e52712002cb6768b894cde9620fb426fd8728d Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Fri, 16 Mar 2018 21:49:37 +0100 +Subject: [PATCH] ARM: dts: bcm2837: Enable PMU on Raspberry Pi 3 + +This enables the PMU (performance monitoring unit) on Raspberry Pi 3. +In order to make it work on ARM and ARM64, we need to specify two +compatible strings. + +Signed-off-by: Stefan Wahren +--- + arch/arm/boot/dts/bcm2837.dtsi | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi +index 7704bb029605..1f5e5c782835 100644 +--- a/arch/arm/boot/dts/bcm2837.dtsi ++++ b/arch/arm/boot/dts/bcm2837.dtsi +@@ -17,6 +17,12 @@ + }; + }; + ++ arm-pmu { ++ compatible = "arm,cortex-a53-pmu", "arm,cortex-a7-pmu"; ++ interrupt-parent = <&local_intc>; ++ interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ + timer { + compatible = "arm,armv7-timer"; + interrupt-parent = <&local_intc>; diff --git a/bcm2837-gpio-expander.patch b/bcm2837-gpio-expander.patch new file mode 100644 index 000000000..b2872cbe1 --- /dev/null +++ b/bcm2837-gpio-expander.patch @@ -0,0 +1,529 @@ +From 08af112e79cab22f318ca0ad1a48187eee5ac2f0 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 20 Feb 2018 14:19:31 +0200 +Subject: soc: bcm2835: sync firmware properties with downstream + +Add latest firmware property tags from the latest Raspberry Pi downstream +kernel. This is needed for the GPIO tags, so we can control the GPIO +multiplexor lines. + +Acked-by: Stefan Wahren +Signed-off-by: Baruch Siach +Signed-off-by: Linus Walleij +--- + include/soc/bcm2835/raspberrypi-firmware.h | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h +index cb979ad..50df5b2 100644 +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -63,6 +63,7 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_GET_MIN_VOLTAGE = 0x00030008, + RPI_FIRMWARE_GET_TURBO = 0x00030009, + RPI_FIRMWARE_GET_MAX_TEMPERATURE = 0x0003000a, ++ RPI_FIRMWARE_GET_STC = 0x0003000b, + RPI_FIRMWARE_ALLOCATE_MEMORY = 0x0003000c, + RPI_FIRMWARE_LOCK_MEMORY = 0x0003000d, + RPI_FIRMWARE_UNLOCK_MEMORY = 0x0003000e, +@@ -72,12 +73,22 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_SET_ENABLE_QPU = 0x00030012, + RPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE = 0x00030014, + RPI_FIRMWARE_GET_EDID_BLOCK = 0x00030020, ++ RPI_FIRMWARE_GET_CUSTOMER_OTP = 0x00030021, + RPI_FIRMWARE_GET_DOMAIN_STATE = 0x00030030, + RPI_FIRMWARE_SET_CLOCK_STATE = 0x00038001, + RPI_FIRMWARE_SET_CLOCK_RATE = 0x00038002, + RPI_FIRMWARE_SET_VOLTAGE = 0x00038003, + RPI_FIRMWARE_SET_TURBO = 0x00038009, ++ RPI_FIRMWARE_SET_CUSTOMER_OTP = 0x00038021, + RPI_FIRMWARE_SET_DOMAIN_STATE = 0x00038030, ++ RPI_FIRMWARE_GET_GPIO_STATE = 0x00030041, ++ RPI_FIRMWARE_SET_GPIO_STATE = 0x00038041, ++ RPI_FIRMWARE_SET_SDHOST_CLOCK = 0x00038042, ++ RPI_FIRMWARE_GET_GPIO_CONFIG = 0x00030043, ++ RPI_FIRMWARE_SET_GPIO_CONFIG = 0x00038043, ++ RPI_FIRMWARE_GET_PERIPH_REG = 0x00030045, ++ RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045, ++ + + /* Dispmanx TAGS */ + RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, +@@ -91,6 +102,8 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET = 0x00040009, + RPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN = 0x0004000a, + RPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE = 0x0004000b, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF = 0x0004000f, ++ RPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF = 0x00040010, + RPI_FIRMWARE_FRAMEBUFFER_RELEASE = 0x00048001, + RPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003, + RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT = 0x00044004, +@@ -100,6 +113,7 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET = 0x00044009, + RPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN = 0x0004400a, + RPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE = 0x0004400b, ++ RPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC = 0x0004400e, + RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT = 0x00048003, + RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT = 0x00048004, + RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 0x00048005, +@@ -108,6 +122,10 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009, + RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a, + RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF = 0x0004801f, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF = 0x00048020, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC = 0x0004800e, ++ RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, + + RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, + +-- +cgit v1.1 +From 9777d8099a4a9df1625b4caaee1388c0158478c5 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 20 Feb 2018 14:19:32 +0200 +Subject: dt-bindings: gpio: add raspberry pi GPIO expander binding + +The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware over +I2C. The firmware mailbox interface allows the ARM core to control the +GPIO lines. + +Signed-off-by: Baruch Siach +Reviewed-by: Rob Herring +Signed-off-by: Linus Walleij +--- + .../bindings/gpio/raspberrypi,firmware-gpio.txt | 30 ++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + create mode 100644 Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt + +diff --git a/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt +new file mode 100644 +index 0000000..ce97265 +--- /dev/null ++++ b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt +@@ -0,0 +1,30 @@ ++Raspberry Pi GPIO expander ++ ++The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The ++firmware exposes a mailbox interface that allows the ARM core to control the ++GPIO lines on the expander. ++ ++The Raspberry Pi GPIO expander node must be a child node of the Raspberry Pi ++firmware node. ++ ++Required properties: ++ ++- compatible : Should be "raspberrypi,firmware-gpio" ++- gpio-controller : Marks the device node as a gpio controller ++- #gpio-cells : Should be two. The first cell is the pin number, and ++ the second cell is used to specify the gpio polarity: ++ 0 = active high ++ 1 = active low ++ ++Example: ++ ++firmware: firmware-rpi { ++ compatible = "raspberrypi,bcm2835-firmware"; ++ mboxes = <&mailbox>; ++ ++ expgpio: gpio { ++ compatible = "raspberrypi,firmware-gpio"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ }; ++}; +-- +cgit v1.1 +From a98d90e7d588045716c3c85d63f93dc3f15a079b Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 20 Feb 2018 14:19:33 +0200 +Subject: gpio: raspberrypi-exp: Driver for RPi3 GPIO expander via mailbox + service + +Pi3 and Compute Module 3 have a GPIO expander that the +VPU communicates with. +There is a mailbox service that now allows control of this +expander, so add a kernel driver that can make use of it. + +Reviewed-by: Stefan Wahren +Signed-off-by: Dave Stevenson +Signed-off-by: Baruch Siach +Signed-off-by: Linus Walleij +--- + drivers/gpio/Kconfig | 9 ++ + drivers/gpio/Makefile | 1 + + drivers/gpio/gpio-raspberrypi-exp.c | 252 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 262 insertions(+) + create mode 100644 drivers/gpio/gpio-raspberrypi-exp.c + +diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig +index 8dbb228..fd0562a 100644 +--- a/drivers/gpio/Kconfig ++++ b/drivers/gpio/Kconfig +@@ -122,6 +122,15 @@ config GPIO_ATH79 + Select this option to enable GPIO driver for + Atheros AR71XX/AR724X/AR913X SoC devices. + ++config GPIO_RASPBERRYPI_EXP ++ tristate "Raspberry Pi 3 GPIO Expander" ++ default RASPBERRYPI_FIRMWARE ++ depends on OF_GPIO ++ depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || COMPILE_TEST ++ help ++ Turn on GPIO support for the expander on Raspberry Pi 3 boards, using ++ the firmware mailbox to communicate with VideoCore on BCM283x chips. ++ + config GPIO_BCM_KONA + bool "Broadcom Kona GPIO" + depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) +diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile +index cccb0d4..76dc0a0 100644 +--- a/drivers/gpio/Makefile ++++ b/drivers/gpio/Makefile +@@ -32,6 +32,7 @@ obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o + obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o + obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o + obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o ++obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o + obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o + obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o + obj-$(CONFIG_GPIO_BRCMSTB) += gpio-brcmstb.o +diff --git a/drivers/gpio/gpio-raspberrypi-exp.c b/drivers/gpio/gpio-raspberrypi-exp.c +new file mode 100644 +index 0000000..d6d36d5 +--- /dev/null ++++ b/drivers/gpio/gpio-raspberrypi-exp.c +@@ -0,0 +1,252 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Raspberry Pi 3 expander GPIO driver ++ * ++ * Uses the firmware mailbox service to communicate with the ++ * GPIO expander on the VPU. ++ * ++ * Copyright (C) 2017 Raspberry Pi Trading Ltd. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define MODULE_NAME "raspberrypi-exp-gpio" ++#define NUM_GPIO 8 ++ ++#define RPI_EXP_GPIO_BASE 128 ++ ++#define RPI_EXP_GPIO_DIR_IN 0 ++#define RPI_EXP_GPIO_DIR_OUT 1 ++ ++struct rpi_exp_gpio { ++ struct gpio_chip gc; ++ struct rpi_firmware *fw; ++}; ++ ++/* VC4 firmware mailbox interface data structures */ ++ ++struct gpio_set_config { ++ u32 gpio; ++ u32 direction; ++ u32 polarity; ++ u32 term_en; ++ u32 term_pull_up; ++ u32 state; ++}; ++ ++struct gpio_get_config { ++ u32 gpio; ++ u32 direction; ++ u32 polarity; ++ u32 term_en; ++ u32 term_pull_up; ++}; ++ ++struct gpio_get_set_state { ++ u32 gpio; ++ u32 state; ++}; ++ ++static int rpi_exp_gpio_get_polarity(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_config get; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_CONFIG, ++ &get, sizeof(get)); ++ if (ret || get.gpio != 0) { ++ dev_err(gc->parent, "Failed to get GPIO %u config (%d %x)\n", ++ off, ret, get.gpio); ++ return ret ? ret : -EIO; ++ } ++ return get.polarity; ++} ++ ++static int rpi_exp_gpio_dir_in(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_set_config set_in; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ set_in.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ set_in.direction = RPI_EXP_GPIO_DIR_IN; ++ set_in.term_en = 0; /* termination disabled */ ++ set_in.term_pull_up = 0; /* n/a as termination disabled */ ++ set_in.state = 0; /* n/a as configured as an input */ ++ ++ ret = rpi_exp_gpio_get_polarity(gc, off); ++ if (ret < 0) ++ return ret; ++ set_in.polarity = ret; /* Retain existing setting */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_CONFIG, ++ &set_in, sizeof(set_in)); ++ if (ret || set_in.gpio != 0) { ++ dev_err(gc->parent, "Failed to set GPIO %u to input (%d %x)\n", ++ off, ret, set_in.gpio); ++ return ret ? ret : -EIO; ++ } ++ return 0; ++} ++ ++static int rpi_exp_gpio_dir_out(struct gpio_chip *gc, unsigned int off, int val) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_set_config set_out; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ set_out.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ set_out.direction = RPI_EXP_GPIO_DIR_OUT; ++ set_out.term_en = 0; /* n/a as an output */ ++ set_out.term_pull_up = 0; /* n/a as termination disabled */ ++ set_out.state = val; /* Output state */ ++ ++ ret = rpi_exp_gpio_get_polarity(gc, off); ++ if (ret < 0) ++ return ret; ++ set_out.polarity = ret; /* Retain existing setting */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_CONFIG, ++ &set_out, sizeof(set_out)); ++ if (ret || set_out.gpio != 0) { ++ dev_err(gc->parent, "Failed to set GPIO %u to output (%d %x)\n", ++ off, ret, set_out.gpio); ++ return ret ? ret : -EIO; ++ } ++ return 0; ++} ++ ++static int rpi_exp_gpio_get_direction(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_config get; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_CONFIG, ++ &get, sizeof(get)); ++ if (ret || get.gpio != 0) { ++ dev_err(gc->parent, ++ "Failed to get GPIO %u config (%d %x)\n", off, ret, ++ get.gpio); ++ return ret ? ret : -EIO; ++ } ++ return !get.direction; ++} ++ ++static int rpi_exp_gpio_get(struct gpio_chip *gc, unsigned int off) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_set_state get; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ get.state = 0; /* storage for returned value */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_STATE, ++ &get, sizeof(get)); ++ if (ret || get.gpio != 0) { ++ dev_err(gc->parent, ++ "Failed to get GPIO %u state (%d %x)\n", off, ret, ++ get.gpio); ++ return ret ? ret : -EIO; ++ } ++ return !!get.state; ++} ++ ++static void rpi_exp_gpio_set(struct gpio_chip *gc, unsigned int off, int val) ++{ ++ struct rpi_exp_gpio *gpio; ++ struct gpio_get_set_state set; ++ int ret; ++ ++ gpio = gpiochip_get_data(gc); ++ ++ set.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */ ++ set.state = val; /* Output state */ ++ ++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_STATE, ++ &set, sizeof(set)); ++ if (ret || set.gpio != 0) ++ dev_err(gc->parent, ++ "Failed to set GPIO %u state (%d %x)\n", off, ret, ++ set.gpio); ++} ++ ++static int rpi_exp_gpio_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct device_node *np = dev->of_node; ++ struct device_node *fw_node; ++ struct rpi_firmware *fw; ++ struct rpi_exp_gpio *rpi_gpio; ++ ++ fw_node = of_get_parent(np); ++ if (!fw_node) { ++ dev_err(dev, "Missing firmware node\n"); ++ return -ENOENT; ++ } ++ ++ fw = rpi_firmware_get(fw_node); ++ if (!fw) ++ return -EPROBE_DEFER; ++ ++ rpi_gpio = devm_kzalloc(dev, sizeof(*rpi_gpio), GFP_KERNEL); ++ if (!rpi_gpio) ++ return -ENOMEM; ++ ++ rpi_gpio->fw = fw; ++ rpi_gpio->gc.parent = dev; ++ rpi_gpio->gc.label = MODULE_NAME; ++ rpi_gpio->gc.owner = THIS_MODULE; ++ rpi_gpio->gc.of_node = np; ++ rpi_gpio->gc.base = -1; ++ rpi_gpio->gc.ngpio = NUM_GPIO; ++ ++ rpi_gpio->gc.direction_input = rpi_exp_gpio_dir_in; ++ rpi_gpio->gc.direction_output = rpi_exp_gpio_dir_out; ++ rpi_gpio->gc.get_direction = rpi_exp_gpio_get_direction; ++ rpi_gpio->gc.get = rpi_exp_gpio_get; ++ rpi_gpio->gc.set = rpi_exp_gpio_set; ++ rpi_gpio->gc.can_sleep = true; ++ ++ return devm_gpiochip_add_data(dev, &rpi_gpio->gc, rpi_gpio); ++} ++ ++static const struct of_device_id rpi_exp_gpio_ids[] = { ++ { .compatible = "raspberrypi,firmware-gpio" }, ++ { } ++}; ++MODULE_DEVICE_TABLE(of, rpi_exp_gpio_ids); ++ ++static struct platform_driver rpi_exp_gpio_driver = { ++ .driver = { ++ .name = MODULE_NAME, ++ .of_match_table = of_match_ptr(rpi_exp_gpio_ids), ++ }, ++ .probe = rpi_exp_gpio_probe, ++}; ++module_platform_driver(rpi_exp_gpio_driver); ++ ++MODULE_LICENSE("GPL"); ++MODULE_AUTHOR("Dave Stevenson "); ++MODULE_DESCRIPTION("Raspberry Pi 3 expander GPIO driver"); ++MODULE_ALIAS("platform:rpi-exp-gpio"); +-- +cgit v1.1 +From b0c07c5af6d286f3d3b907743998e9d41f6ab042 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 20 Feb 2018 14:19:34 +0200 +Subject: ARM: dts: bcm2835: make the firmware node into a bus + +This allows adding devices for which the firmware exposes control interface +via the mailbox. An example of such device is the GPIO expander. + +Signed-off-by: Baruch Siach +Reviewed-by: Linus Walleij +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi +index e36c392..0198bd4 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -18,7 +18,9 @@ + + soc { + firmware: firmware { +- compatible = "raspberrypi,bcm2835-firmware"; ++ compatible = "raspberrypi,bcm2835-firmware", "simple-bus"; ++ #address-cells = <0>; ++ #size-cells = <0>; + mboxes = <&mailbox>; + }; + +-- +cgit v1.1 +From 4d5b2eaf3ca80c56a59f230208c4ff11e3f68d55 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 20 Feb 2018 14:19:35 +0200 +Subject: ARM: dts: bcm2837-rpi-3-b: add GPIO expander + +Add a description of the RPi3 GPIO expander that the VC4 firmware controls. + +Acked-by: Stefan Wahren +Signed-off-by: Baruch Siach +Reviewed-by: Linus Walleij +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index 3e4ed7c..0b31d99 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -25,6 +25,23 @@ + }; + }; + ++&firmware { ++ expgpio: gpio { ++ compatible = "raspberrypi,firmware-gpio"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ gpio-line-names = "BT_ON", ++ "WL_ON", ++ "STATUS_LED", ++ "LAN_RUN", ++ "HPD_N", ++ "CAM_GPIO0", ++ "CAM_GPIO1", ++ "PWR_LOW_N"; ++ status = "okay"; ++ }; ++}; ++ + /* uart0 communicates with the BT module */ + &uart0 { + pinctrl-names = "default"; +-- +cgit v1.1 diff --git a/bcm2837-initial-support.patch b/bcm2837-initial-support.patch deleted file mode 100644 index 021ae1069..000000000 --- a/bcm2837-initial-support.patch +++ /dev/null @@ -1,48 +0,0 @@ -From patchwork Tue Apr 25 16:45:08 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v6) -From: Eric Anholt -X-Patchwork-Id: 9698781 -Message-Id: <20170425164508.32242-1-eric@anholt.net> -To: Lee Jones , Florian Fainelli , - Olof Johansson , Rob Herring , - Mark Rutland , devicetree@vger.kernel.org -Cc: Stefan Wahren , linux-kernel@vger.kernel.org, - Eric Anholt , bcm-kernel-feedback-list@broadcom.com, - Gerd Hoffmann , linux-arm-kernel@lists.infradead.org, - linux-rpi-kernel@lists.infradead.org -Date: Tue, 25 Apr 2017 09:45:08 -0700 - -Raspbian and Fedora have decided to support the Pi3 in 32-bit mode for -now, so it's useful to be able to test that mode on an upstream -kernel. It's also been useful for me to use the same board for 32-bit -and 64-bit development. - -Signed-off-by: Eric Anholt ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 + - 2 files changed, 2 insertions(+) - create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 011808490fed..eded842d9978 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ - bcm2835-rpi-b-plus.dtb \ - bcm2835-rpi-a-plus.dtb \ - bcm2836-rpi-2-b.dtb \ -+ bcm2837-rpi-3-b.dtb \ - bcm2835-rpi-zero.dtb - dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-asus-rt-ac56u.dtb \ -diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -new file mode 100644 -index 000000000000..c72a27d908b6 ---- /dev/null -+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -@@ -0,0 +1 @@ -+#include "../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts" diff --git a/bcm2837-lan78xx-fixes.patch b/bcm2837-lan78xx-fixes.patch new file mode 100644 index 000000000..7fa432a5e --- /dev/null +++ b/bcm2837-lan78xx-fixes.patch @@ -0,0 +1,961 @@ +From b23d39c166ca3ed30a2a0a4c8ba4cf29677eed83 Mon Sep 17 00:00:00 2001 +From: Raghuram Chary J +Date: Wed, 11 Apr 2018 20:36:36 +0530 +Subject: [PATCH 1/9] lan78xx: PHY DSP registers initialization to address EEE + link drop issues with long cables + +The patch is to configure DSP registers of PHY device +to handle Gbe-EEE failures with >40m cable length. + +Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver") +Signed-off-by: Raghuram Chary J +Signed-off-by: David S. Miller +--- + drivers/net/phy/microchip.c | 178 ++++++++++++++++++++++++++++++++++- + include/linux/microchipphy.h | 8 ++ + 2 files changed, 185 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c +index 0f293ef28935..a97ac8c12c4c 100644 +--- a/drivers/net/phy/microchip.c ++++ b/drivers/net/phy/microchip.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #define DRIVER_AUTHOR "WOOJUNG HUH " + #define DRIVER_DESC "Microchip LAN88XX PHY driver" +@@ -30,6 +31,16 @@ struct lan88xx_priv { + __u32 wolopts; + }; + ++static int lan88xx_read_page(struct phy_device *phydev) ++{ ++ return __phy_read(phydev, LAN88XX_EXT_PAGE_ACCESS); ++} ++ ++static int lan88xx_write_page(struct phy_device *phydev, int page) ++{ ++ return __phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, page); ++} ++ + static int lan88xx_phy_config_intr(struct phy_device *phydev) + { + int rc; +@@ -66,6 +77,150 @@ static int lan88xx_suspend(struct phy_device *phydev) + return 0; + } + ++static int lan88xx_TR_reg_set(struct phy_device *phydev, u16 regaddr, ++ u32 data) ++{ ++ int val, save_page, ret = 0; ++ u16 buf; ++ ++ /* Save current page */ ++ save_page = phy_save_page(phydev); ++ if (save_page < 0) { ++ pr_warn("Failed to get current page\n"); ++ goto err; ++ } ++ ++ /* Switch to TR page */ ++ lan88xx_write_page(phydev, LAN88XX_EXT_PAGE_ACCESS_TR); ++ ++ ret = __phy_write(phydev, LAN88XX_EXT_PAGE_TR_LOW_DATA, ++ (data & 0xFFFF)); ++ if (ret < 0) { ++ pr_warn("Failed to write TR low data\n"); ++ goto err; ++ } ++ ++ ret = __phy_write(phydev, LAN88XX_EXT_PAGE_TR_HIGH_DATA, ++ (data & 0x00FF0000) >> 16); ++ if (ret < 0) { ++ pr_warn("Failed to write TR high data\n"); ++ goto err; ++ } ++ ++ /* Config control bits [15:13] of register */ ++ buf = (regaddr & ~(0x3 << 13));/* Clr [14:13] to write data in reg */ ++ buf |= 0x8000; /* Set [15] to Packet transmit */ ++ ++ ret = __phy_write(phydev, LAN88XX_EXT_PAGE_TR_CR, buf); ++ if (ret < 0) { ++ pr_warn("Failed to write data in reg\n"); ++ goto err; ++ } ++ ++ usleep_range(1000, 2000);/* Wait for Data to be written */ ++ val = __phy_read(phydev, LAN88XX_EXT_PAGE_TR_CR); ++ if (!(val & 0x8000)) ++ pr_warn("TR Register[0x%X] configuration failed\n", regaddr); ++err: ++ return phy_restore_page(phydev, save_page, ret); ++} ++ ++static void lan88xx_config_TR_regs(struct phy_device *phydev) ++{ ++ int err; ++ ++ /* Get access to Channel 0x1, Node 0xF , Register 0x01. ++ * Write 24-bit value 0x12B00A to register. Setting MrvlTrFix1000Kf, ++ * MrvlTrFix1000Kp, MasterEnableTR bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x0F82, 0x12B00A); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x0F82]\n"); ++ ++ /* Get access to Channel b'10, Node b'1101, Register 0x06. ++ * Write 24-bit value 0xD2C46F to register. Setting SSTrKf1000Slv, ++ * SSTrKp1000Mas bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x168C, 0xD2C46F); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x168C]\n"); ++ ++ /* Get access to Channel b'10, Node b'1111, Register 0x11. ++ * Write 24-bit value 0x620 to register. Setting rem_upd_done_thresh ++ * bits ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x17A2, 0x620); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x17A2]\n"); ++ ++ /* Get access to Channel b'10, Node b'1101, Register 0x10. ++ * Write 24-bit value 0xEEFFDD to register. Setting ++ * eee_TrKp1Long_1000, eee_TrKp2Long_1000, eee_TrKp3Long_1000, ++ * eee_TrKp1Short_1000,eee_TrKp2Short_1000, eee_TrKp3Short_1000 bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x16A0, 0xEEFFDD); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x16A0]\n"); ++ ++ /* Get access to Channel b'10, Node b'1101, Register 0x13. ++ * Write 24-bit value 0x071448 to register. Setting ++ * slv_lpi_tr_tmr_val1, slv_lpi_tr_tmr_val2 bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x16A6, 0x071448); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x16A6]\n"); ++ ++ /* Get access to Channel b'10, Node b'1101, Register 0x12. ++ * Write 24-bit value 0x13132F to register. Setting ++ * slv_sigdet_timer_val1, slv_sigdet_timer_val2 bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x16A4, 0x13132F); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x16A4]\n"); ++ ++ /* Get access to Channel b'10, Node b'1101, Register 0x14. ++ * Write 24-bit value 0x0 to register. Setting eee_3level_delay, ++ * eee_TrKf_freeze_delay bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x16A8, 0x0); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x16A8]\n"); ++ ++ /* Get access to Channel b'01, Node b'1111, Register 0x34. ++ * Write 24-bit value 0x91B06C to register. Setting ++ * FastMseSearchThreshLong1000, FastMseSearchThreshShort1000, ++ * FastMseSearchUpdGain1000 bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x0FE8, 0x91B06C); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x0FE8]\n"); ++ ++ /* Get access to Channel b'01, Node b'1111, Register 0x3E. ++ * Write 24-bit value 0xC0A028 to register. Setting ++ * FastMseKp2ThreshLong1000, FastMseKp2ThreshShort1000, ++ * FastMseKp2UpdGain1000, FastMseKp2ExitEn1000 bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x0FFC, 0xC0A028); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x0FFC]\n"); ++ ++ /* Get access to Channel b'01, Node b'1111, Register 0x35. ++ * Write 24-bit value 0x041600 to register. Setting ++ * FastMseSearchPhShNum1000, FastMseSearchClksPerPh1000, ++ * FastMsePhChangeDelay1000 bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x0FEA, 0x041600); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x0FEA]\n"); ++ ++ /* Get access to Channel b'10, Node b'1101, Register 0x03. ++ * Write 24-bit value 0x000004 to register. Setting TrFreeze bits. ++ */ ++ err = lan88xx_TR_reg_set(phydev, 0x1686, 0x000004); ++ if (err < 0) ++ pr_warn("Failed to Set Register[0x1686]\n"); ++} ++ + static int lan88xx_probe(struct phy_device *phydev) + { + struct device *dev = &phydev->mdio.dev; +@@ -132,6 +287,25 @@ static void lan88xx_set_mdix(struct phy_device *phydev) + phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, LAN88XX_EXT_PAGE_SPACE_0); + } + ++static int lan88xx_config_init(struct phy_device *phydev) ++{ ++ int val; ++ ++ genphy_config_init(phydev); ++ /*Zerodetect delay enable */ ++ val = phy_read_mmd(phydev, MDIO_MMD_PCS, ++ PHY_ARDENNES_MMD_DEV_3_PHY_CFG); ++ val |= PHY_ARDENNES_MMD_DEV_3_PHY_CFG_ZD_DLY_EN_; ++ ++ phy_write_mmd(phydev, MDIO_MMD_PCS, PHY_ARDENNES_MMD_DEV_3_PHY_CFG, ++ val); ++ ++ /* Config DSP registers */ ++ lan88xx_config_TR_regs(phydev); ++ ++ return 0; ++} ++ + static int lan88xx_config_aneg(struct phy_device *phydev) + { + lan88xx_set_mdix(phydev); +@@ -151,7 +325,7 @@ static struct phy_driver microchip_phy_driver[] = { + .probe = lan88xx_probe, + .remove = lan88xx_remove, + +- .config_init = genphy_config_init, ++ .config_init = lan88xx_config_init, + .config_aneg = lan88xx_config_aneg, + + .ack_interrupt = lan88xx_phy_ack_interrupt, +@@ -160,6 +334,8 @@ static struct phy_driver microchip_phy_driver[] = { + .suspend = lan88xx_suspend, + .resume = genphy_resume, + .set_wol = lan88xx_set_wol, ++ .read_page = lan88xx_read_page, ++ .write_page = lan88xx_write_page, + } }; + + module_phy_driver(microchip_phy_driver); +diff --git a/include/linux/microchipphy.h b/include/linux/microchipphy.h +index eb492d47f717..8f9c90379732 100644 +--- a/include/linux/microchipphy.h ++++ b/include/linux/microchipphy.h +@@ -70,4 +70,12 @@ + #define LAN88XX_MMD3_CHIP_ID (32877) + #define LAN88XX_MMD3_CHIP_REV (32878) + ++/* DSP registers */ ++#define PHY_ARDENNES_MMD_DEV_3_PHY_CFG (0x806A) ++#define PHY_ARDENNES_MMD_DEV_3_PHY_CFG_ZD_DLY_EN_ (0x2000) ++#define LAN88XX_EXT_PAGE_ACCESS_TR (0x52B5) ++#define LAN88XX_EXT_PAGE_TR_CR 16 ++#define LAN88XX_EXT_PAGE_TR_LOW_DATA 17 ++#define LAN88XX_EXT_PAGE_TR_HIGH_DATA 18 ++ + #endif /* _MICROCHIPPHY_H */ +-- +2.17.0 + +From 7d76fccb22d71c80209eb9ef5b013a630424cb6c Mon Sep 17 00:00:00 2001 +From: Alexander Graf +Date: Wed, 4 Apr 2018 00:19:35 +0200 +Subject: [PATCH 2/9] lan78xx: Connect phy early + +When using wicked with a lan78xx device attached to the system, we +end up with ethtool commands issued on the device before an ifup +got issued. That lead to the following crash: + + Unable to handle kernel NULL pointer dereference at virtual address 0000039c + pgd = ffff800035b30000 + [0000039c] *pgd=0000000000000000 + Internal error: Oops: 96000004 [#1] SMP + Modules linked in: [...] + Supported: Yes + CPU: 3 PID: 638 Comm: wickedd Tainted: G E 4.12.14-0-default #1 + Hardware name: raspberrypi rpi/rpi, BIOS 2018.03-rc2 02/21/2018 + task: ffff800035e74180 task.stack: ffff800036718000 + PC is at phy_ethtool_ksettings_get+0x20/0x98 + LR is at lan78xx_get_link_ksettings+0x44/0x60 [lan78xx] + pc : [] lr : [] pstate: 20000005 + sp : ffff80003671bb20 + x29: ffff80003671bb20 x28: ffff800035e74180 + x27: ffff000008912000 x26: 000000000000001d + x25: 0000000000000124 x24: ffff000008f74d00 + x23: 0000004000114809 x22: 0000000000000000 + x21: ffff80003671bbd0 x20: 0000000000000000 + x19: ffff80003671bbd0 x18: 000000000000040d + x17: 0000000000000001 x16: 0000000000000000 + x15: 0000000000000000 x14: ffffffffffffffff + x13: 0000000000000000 x12: 0000000000000020 + x11: 0101010101010101 x10: fefefefefefefeff + x9 : 7f7f7f7f7f7f7f7f x8 : fefefeff31677364 + x7 : 0000000080808080 x6 : ffff80003671bc9c + x5 : ffff80003671b9f8 x4 : ffff80002c296190 + x3 : 0000000000000000 x2 : 0000000000000000 + x1 : ffff80003671bbd0 x0 : ffff80003671bc00 + Process wickedd (pid: 638, stack limit = 0xffff800036718000) + Call trace: + Exception stack(0xffff80003671b9e0 to 0xffff80003671bb20) + b9e0: ffff80003671bc00 ffff80003671bbd0 0000000000000000 0000000000000000 + ba00: ffff80002c296190 ffff80003671b9f8 ffff80003671bc9c 0000000080808080 + ba20: fefefeff31677364 7f7f7f7f7f7f7f7f fefefefefefefeff 0101010101010101 + ba40: 0000000000000020 0000000000000000 ffffffffffffffff 0000000000000000 + ba60: 0000000000000000 0000000000000001 000000000000040d ffff80003671bbd0 + ba80: 0000000000000000 ffff80003671bbd0 0000000000000000 0000004000114809 + baa0: ffff000008f74d00 0000000000000124 000000000000001d ffff000008912000 + bac0: ffff800035e74180 ffff80003671bb20 ffff000000dcca84 ffff80003671bb20 + bae0: ffff0000086f7f30 0000000020000005 ffff80002c296000 ffff800035223900 + bb00: 0000ffffffffffff 0000000000000000 ffff80003671bb20 ffff0000086f7f30 + [] phy_ethtool_ksettings_get+0x20/0x98 + [] lan78xx_get_link_ksettings+0x44/0x60 [lan78xx] + [] ethtool_get_settings+0x68/0x210 + [] dev_ethtool+0x214/0x2180 + [] dev_ioctl+0x400/0x630 + [] sock_do_ioctl+0x70/0x88 + [] sock_ioctl+0x208/0x368 + [] do_vfs_ioctl+0xb0/0x848 + [] SyS_ioctl+0x8c/0xa8 + Exception stack(0xffff80003671bec0 to 0xffff80003671c000) + bec0: 0000000000000009 0000000000008946 0000fffff4e841d0 0000aa0032687465 + bee0: 0000aaaafa2319d4 0000fffff4e841d4 0000000032687465 0000000032687465 + bf00: 000000000000001d 7f7fff7f7f7f7f7f 72606b622e71ff4c 7f7f7f7f7f7f7f7f + bf20: 0101010101010101 0000000000000020 ffffffffffffffff 0000ffff7f510c68 + bf40: 0000ffff7f6a9d18 0000ffff7f44ce30 000000000000040d 0000ffff7f6f98f0 + bf60: 0000fffff4e842c0 0000000000000001 0000aaaafa2c2e00 0000ffff7f6ab000 + bf80: 0000fffff4e842c0 0000ffff7f62a000 0000aaaafa2b9f20 0000aaaafa2c2e00 + bfa0: 0000fffff4e84818 0000fffff4e841a0 0000ffff7f5ad0cc 0000fffff4e841a0 + bfc0: 0000ffff7f44ce3c 0000000080000000 0000000000000009 000000000000001d + bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 + +The culprit is quite simple: The driver tries to access the phy left and right, +but only actually has a working reference to it when the device is up. + +The fix thus is quite simple too: Get a reference to the phy on probe already +and keep it even when the device is going down. + +With this patch applied, I can successfully run wicked on my system and bring +the interface up and down as many times as I want, without getting NULL pointer +dereferences in between. + +Signed-off-by: Alexander Graf +Signed-off-by: David S. Miller +--- + drivers/net/usb/lan78xx.c | 34 ++++++++++++++++++---------------- + 1 file changed, 18 insertions(+), 16 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 32cf21716f19..145bb7cbf5b2 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2083,10 +2083,6 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) + + dev->fc_autoneg = phydev->autoneg; + +- phy_start(phydev); +- +- netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); +- + return 0; + + error: +@@ -2523,9 +2519,9 @@ static int lan78xx_open(struct net_device *net) + if (ret < 0) + goto done; + +- ret = lan78xx_phy_init(dev); +- if (ret < 0) +- goto done; ++ phy_start(net->phydev); ++ ++ netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); + + /* for Link Check */ + if (dev->urb_intr) { +@@ -2586,13 +2582,8 @@ static int lan78xx_stop(struct net_device *net) + if (timer_pending(&dev->stat_monitor)) + del_timer_sync(&dev->stat_monitor); + +- phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0); +- phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0); +- +- phy_stop(net->phydev); +- phy_disconnect(net->phydev); +- +- net->phydev = NULL; ++ if (net->phydev) ++ phy_stop(net->phydev); + + clear_bit(EVENT_DEV_OPEN, &dev->flags); + netif_stop_queue(net); +@@ -3507,8 +3498,13 @@ static void lan78xx_disconnect(struct usb_interface *intf) + return; + + udev = interface_to_usbdev(intf); +- + net = dev->net; ++ ++ phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0); ++ phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0); ++ ++ phy_disconnect(net->phydev); ++ + unregister_netdev(net); + + cancel_delayed_work_sync(&dev->wq); +@@ -3664,8 +3660,14 @@ static int lan78xx_probe(struct usb_interface *intf, + pm_runtime_set_autosuspend_delay(&udev->dev, + DEFAULT_AUTOSUSPEND_DELAY); + ++ ret = lan78xx_phy_init(dev); ++ if (ret < 0) ++ goto out4; ++ + return 0; + ++out4: ++ unregister_netdev(netdev); + out3: + lan78xx_unbind(dev, intf); + out2: +@@ -4013,7 +4015,7 @@ static int lan78xx_reset_resume(struct usb_interface *intf) + + lan78xx_reset(dev); + +- lan78xx_phy_init(dev); ++ phy_start(dev->net->phydev); + + return lan78xx_resume(intf); + } +-- +2.17.0 + +From 502356f8db439d77a41958041feec187c42f72bb Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 11 Apr 2018 12:02:47 +0100 +Subject: [PATCH 3/9] lan78xx: Avoid spurious kevent 4 "error" + +lan78xx_defer_event generates an error message whenever the work item +is already scheduled. lan78xx_open defers three events - +EVENT_STAT_UPDATE, EVENT_DEV_OPEN and EVENT_LINK_RESET. Being aware +of the likelihood (or certainty) of an error message, the DEV_OPEN +event is added to the set of pending events directly, relying on +the subsequent deferral of the EVENT_LINK_RESET call to schedule the +work. Take the same precaution with EVENT_STAT_UPDATE to avoid a +totally unnecessary error message. + +Signed-off-by: Phil Elwell +Signed-off-by: David S. Miller +--- + drivers/net/usb/lan78xx.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 145bb7cbf5b2..bdb696612e11 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2503,7 +2503,7 @@ static void lan78xx_init_stats(struct lan78xx_net *dev) + dev->stats.rollover_max.eee_tx_lpi_transitions = 0xFFFFFFFF; + dev->stats.rollover_max.eee_tx_lpi_time = 0xFFFFFFFF; + +- lan78xx_defer_kevent(dev, EVENT_STAT_UPDATE); ++ set_bit(EVENT_STAT_UPDATE, &dev->flags); + } + + static int lan78xx_open(struct net_device *net) +-- +2.17.0 + +From d9332c56373a8c43bc4761267ba3a246082e2270 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 10 Apr 2018 13:18:25 +0100 +Subject: [PATCH 4/9] lan78xx: Don't reset the interface on open + +Commit 92571a1aae40 ("lan78xx: Connect phy early") moves the PHY +initialisation into lan78xx_probe, but lan78xx_open subsequently calls +lan78xx_reset. As well as forcing a second round of link negotiation, +this reset frequently prevents the phy interrupt from being generated +(even though the link is up), rendering the interface unusable. + +Fix this issue by removing the lan78xx_reset call from lan78xx_open. + +Fixes: 92571a1aae40 ("lan78xx: Connect phy early") +Signed-off-by: Phil Elwell +Signed-off-by: David S. Miller +--- + drivers/net/usb/lan78xx.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index bdb696612e11..0867f7275852 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2515,10 +2515,6 @@ static int lan78xx_open(struct net_device *net) + if (ret < 0) + goto out; + +- ret = lan78xx_reset(dev); +- if (ret < 0) +- goto done; +- + phy_start(net->phydev); + + netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); +-- +2.17.0 + +From bce4fe9fa48df0cbbe842e80d9a520f7265b4cd4 Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Wed, 4 Apr 2018 16:34:24 +0100 +Subject: [PATCH 5/9] net: lan78xx: Allow for VLAN headers in timeout. + +The frame abort timeout being set by lan78xx_set_rx_max_frame_length +didn't account for any VLAN headers, resulting in very low +throughput if used with tagged VLANs. +Use VLAN_ETH_HLEN instead of ETH_HLEN to correct for this. + +See https://github.com/raspberrypi/linux/issues/2458 + +Signed-off-by: Dave Stevenson +--- + drivers/net/usb/lan78xx.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 0867f7275852..5b46998a6dce 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2178,7 +2178,7 @@ static int lan78xx_change_mtu(struct net_device *netdev, int new_mtu) + if ((ll_mtu % dev->maxpacket) == 0) + return -EDOM; + +- ret = lan78xx_set_rx_max_frame_length(dev, new_mtu + ETH_HLEN); ++ ret = lan78xx_set_rx_max_frame_length(dev, new_mtu + VLAN_ETH_HLEN); + + netdev->mtu = new_mtu; + +@@ -2467,7 +2467,8 @@ static int lan78xx_reset(struct lan78xx_net *dev) + buf |= FCT_TX_CTL_EN_; + ret = lan78xx_write_reg(dev, FCT_TX_CTL, buf); + +- ret = lan78xx_set_rx_max_frame_length(dev, dev->net->mtu + ETH_HLEN); ++ ret = lan78xx_set_rx_max_frame_length(dev, ++ dev->net->mtu + VLAN_ETH_HLEN); + + ret = lan78xx_read_reg(dev, MAC_RX, &buf); + buf |= MAC_RX_RXEN_; +-- +2.17.0 + +From 6fecd97fd35e9c624d101495ca34c83b1cb23e3d Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Mon, 9 Apr 2018 14:31:54 +0100 +Subject: [PATCH 6/9] net: lan78xx: Request s/w csum check on VLAN tagged + packets. + +There appears to be some issue in the LAN78xx where the checksum +computed on a VLAN tagged packet is incorrect, or at least not +in the form that the kernel is after. This is most easily shown +by pinging a device via a VLAN tagged interface and it will dump +out the error message and stack trace from netdev_rx_csum_fault. +It has also been seen with standard TCP and UDP packets. + +Until this is fully understood, request that the network stack +computes the checksum on packets signalled as having a VLAN tag +applied. + +See https://github.com/raspberrypi/linux/issues/2458 + +Signed-off-by: Dave Stevenson +--- + drivers/net/usb/lan78xx.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 5b46998a6dce..6b61bb21f2ae 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2920,8 +2920,12 @@ static void lan78xx_rx_csum_offload(struct lan78xx_net *dev, + struct sk_buff *skb, + u32 rx_cmd_a, u32 rx_cmd_b) + { ++ /* Checksum offload appears to be flawed if used with VLANs. ++ * Elect for sw checksum check instead. ++ */ + if (!(dev->net->features & NETIF_F_RXCSUM) || +- unlikely(rx_cmd_a & RX_CMD_A_ICSM_)) { ++ unlikely(rx_cmd_a & RX_CMD_A_ICSM_) || ++ (rx_cmd_a & RX_CMD_A_FVTG_)) { + skb->ip_summed = CHECKSUM_NONE; + } else { + skb->csum = ntohs((u16)(rx_cmd_b >> RX_CMD_B_CSUM_SHIFT_)); +-- +2.17.0 + +From 7528d39c5d01383fadb17a84b9840f9f685d1e0b Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 19 Apr 2018 17:59:38 +0100 +Subject: [PATCH 7/9] lan78xx: Read MAC address from DT if present + +There is a standard mechanism for locating and using a MAC address from +the Device Tree. Use this facility in the lan78xx driver to support +applications without programmed EEPROM or OTP. At the same time, +regularise the handling of the different address sources. + +Signed-off-by: Phil Elwell +--- + drivers/net/usb/lan78xx.c | 42 +++++++++++++++++++-------------------- + 1 file changed, 20 insertions(+), 22 deletions(-) + +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 6b61bb21f2ae..6c38a74bb32d 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include "lan78xx.h" + + #define DRIVER_AUTHOR "WOOJUNG HUH " +@@ -1652,34 +1653,31 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev) + addr[5] = (addr_hi >> 8) & 0xFF; + + if (!is_valid_ether_addr(addr)) { +- /* reading mac address from EEPROM or OTP */ +- if ((lan78xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, +- addr) == 0) || +- (lan78xx_read_otp(dev, EEPROM_MAC_OFFSET, ETH_ALEN, +- addr) == 0)) { +- if (is_valid_ether_addr(addr)) { +- /* eeprom values are valid so use them */ +- netif_dbg(dev, ifup, dev->net, +- "MAC address read from EEPROM"); +- } else { +- /* generate random MAC */ +- random_ether_addr(addr); +- netif_dbg(dev, ifup, dev->net, +- "MAC address set to random addr"); +- } +- +- addr_lo = addr[0] | (addr[1] << 8) | +- (addr[2] << 16) | (addr[3] << 24); +- addr_hi = addr[4] | (addr[5] << 8); +- +- ret = lan78xx_write_reg(dev, RX_ADDRL, addr_lo); +- ret = lan78xx_write_reg(dev, RX_ADDRH, addr_hi); ++ if (!eth_platform_get_mac_address(&dev->udev->dev, addr)) { ++ /* valid address present in Device Tree */ ++ netif_dbg(dev, ifup, dev->net, ++ "MAC address read from Device Tree"); ++ } else if (((lan78xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ++ ETH_ALEN, addr) == 0) || ++ (lan78xx_read_otp(dev, EEPROM_MAC_OFFSET, ++ ETH_ALEN, addr) == 0)) && ++ is_valid_ether_addr(addr)) { ++ /* eeprom values are valid so use them */ ++ netif_dbg(dev, ifup, dev->net, ++ "MAC address read from EEPROM"); + } else { + /* generate random MAC */ + random_ether_addr(addr); + netif_dbg(dev, ifup, dev->net, + "MAC address set to random addr"); + } ++ ++ addr_lo = addr[0] | (addr[1] << 8) | ++ (addr[2] << 16) | (addr[3] << 24); ++ addr_hi = addr[4] | (addr[5] << 8); ++ ++ ret = lan78xx_write_reg(dev, RX_ADDRL, addr_lo); ++ ret = lan78xx_write_reg(dev, RX_ADDRH, addr_hi); + } + + ret = lan78xx_write_reg(dev, MAF_LO(0), addr_lo); +-- +2.17.0 + +From f8f9ad43b37f5db5895619e4304aa9ba286cbbb0 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 19 Apr 2018 17:59:40 +0100 +Subject: [PATCH 8/9] dt-bindings: Document the DT bindings for lan78xx + +The Microchip LAN78XX family of devices are Ethernet controllers with +a USB interface. Despite being discoverable devices it can be useful to +be able to configure them from Device Tree, particularly in low-cost +applications without an EEPROM or programmed OTP. + +Document the supported properties in a bindings file. + +Signed-off-by: Phil Elwell +Reviewed-by: Andrew Lunn +--- + .../bindings/net/microchip,lan78xx.txt | 54 +++++++++++++++++++ + 1 file changed, 54 insertions(+) + create mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.txt + +diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt +new file mode 100644 +index 000000000000..76786a0f6d3d +--- /dev/null ++++ b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt +@@ -0,0 +1,54 @@ ++Microchip LAN78xx Gigabit Ethernet controller ++ ++The LAN78XX devices are usually configured by programming their OTP or with ++an external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither. ++The Device Tree properties, if present, override the OTP and EEPROM. ++ ++Required properties: ++- compatible: Should be one of "usb424,7800", "usb424,7801" or "usb424,7850". ++ ++Optional properties: ++- local-mac-address: see ethernet.txt ++- mac-address: see ethernet.txt ++ ++Optional properties of the embedded PHY: ++- microchip,led-modes: a 0..4 element vector, with each element configuring ++ the operating mode of an LED. Omitted LEDs are turned off. Allowed values ++ are defined in "include/dt-bindings/net/microchip-lan78xx.h". ++ ++Example: ++ ++/* Based on the configuration for a Raspberry Pi 3 B+ */ ++&usb { ++ usb-port@1 { ++ compatible = "usb424,2514"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ usb-port@1 { ++ compatible = "usb424,2514"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ ethernet: ethernet@1 { ++ compatible = "usb424,7800"; ++ reg = <1>; ++ local-mac-address = [ 00 11 22 33 44 55 ]; ++ ++ mdio { ++ #address-cells = <0x1>; ++ #size-cells = <0x0>; ++ eth_phy: ethernet-phy@1 { ++ reg = <1>; ++ microchip,led-modes = < ++ LAN78XX_LINK_1000_ACTIVITY ++ LAN78XX_LINK_10_100_ACTIVITY ++ >; ++ }; ++ }; ++ }; ++ }; ++ }; ++}; +-- +2.17.0 + +From be24db04ec2949e9b03763366f100ae40836c61e Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 23 Apr 2018 14:31:26 +0100 +Subject: [PATCH 9/9] lan78xx: Read LED states from Device Tree + +Add support for DT property "microchip,led-modes", a vector of zero +to four cells (u32s) in the range 0-15, each of which sets the mode +for one of the LEDs. Some possible values are: + + 0=link/activity 1=link1000/activity + 2=link100/activity 3=link10/activity + 4=link100/1000/activity 5=link10/1000/activity + 6=link10/100/activity 14=off 15=on + +These values are given symbolic constants in a dt-bindings header. + +Also use the presence of the DT property to indicate that the +LEDs should be enabled - necessary in the event that no valid OTP +or EEPROM is available. + +Signed-off-by: Phil Elwell +Reviewed-by: Andrew Lunn +--- + MAINTAINERS | 1 + + drivers/net/phy/microchip.c | 25 ++++++++++++++++ + drivers/net/usb/lan78xx.c | 32 ++++++++++++++++++++- + include/dt-bindings/net/microchip-lan78xx.h | 21 ++++++++++++++ + include/linux/microchipphy.h | 3 ++ + 5 files changed, 81 insertions(+), 1 deletion(-) + create mode 100644 include/dt-bindings/net/microchip-lan78xx.h + +diff --git a/MAINTAINERS b/MAINTAINERS +index 6e950b8b4a41..c7d5f8c60a2c 100644 +--- a/MAINTAINERS ++++ b/MAINTAINERS +@@ -14437,6 +14437,7 @@ M: Microchip Linux Driver Support + L: netdev@vger.kernel.org + S: Maintained + F: drivers/net/usb/lan78xx.* ++F: include/dt-bindings/net/microchip-lan78xx.h + + USB MASS STORAGE DRIVER + M: Alan Stern +diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c +index a97ac8c12c4c..2d67937866a3 100644 +--- a/drivers/net/phy/microchip.c ++++ b/drivers/net/phy/microchip.c +@@ -21,6 +21,8 @@ + #include + #include + #include ++#include ++#include + + #define DRIVER_AUTHOR "WOOJUNG HUH " + #define DRIVER_DESC "Microchip LAN88XX PHY driver" +@@ -225,6 +227,8 @@ static int lan88xx_probe(struct phy_device *phydev) + { + struct device *dev = &phydev->mdio.dev; + struct lan88xx_priv *priv; ++ u32 led_modes[4]; ++ int len; + + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); + if (!priv) +@@ -232,6 +236,27 @@ static int lan88xx_probe(struct phy_device *phydev) + + priv->wolopts = 0; + ++ len = of_property_read_variable_u32_array(dev->of_node, ++ "microchip,led-modes", ++ led_modes, ++ 0, ++ ARRAY_SIZE(led_modes)); ++ if (len >= 0) { ++ u32 reg = 0; ++ int i; ++ ++ for (i = 0; i < len; i++) { ++ if (led_modes[i] > 15) ++ return -EINVAL; ++ reg |= led_modes[i] << (i * 4); ++ } ++ for (; i < ARRAY_SIZE(led_modes); i++) ++ reg |= LAN78XX_FORCE_LED_OFF << (i * 4); ++ (void)phy_write(phydev, LAN78XX_PHY_LED_MODE_SELECT, reg); ++ } else if (len == -EOVERFLOW) { ++ return -EINVAL; ++ } ++ + /* these values can be used to identify internal PHY */ + priv->chip_id = phy_read_mmd(phydev, 3, LAN88XX_MMD3_CHIP_ID); + priv->chip_rev = phy_read_mmd(phydev, 3, LAN88XX_MMD3_CHIP_REV); +diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c +index 6c38a74bb32d..01b876daa600 100644 +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include + #include "lan78xx.h" + +@@ -1760,6 +1761,7 @@ static int lan78xx_mdiobus_write(struct mii_bus *bus, int phy_id, int idx, + + static int lan78xx_mdio_init(struct lan78xx_net *dev) + { ++ struct device_node *node; + int ret; + + dev->mdiobus = mdiobus_alloc(); +@@ -1788,7 +1790,13 @@ static int lan78xx_mdio_init(struct lan78xx_net *dev) + break; + } + +- ret = mdiobus_register(dev->mdiobus); ++ node = of_get_child_by_name(dev->udev->dev.of_node, "mdio"); ++ if (node) { ++ ret = of_mdiobus_register(dev->mdiobus, node); ++ of_node_put(node); ++ } else { ++ ret = mdiobus_register(dev->mdiobus); ++ } + if (ret) { + netdev_err(dev->net, "can't register MDIO bus\n"); + goto exit1; +@@ -2077,6 +2085,28 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) + mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); + phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); + ++ if (phydev->mdio.dev.of_node) { ++ u32 reg; ++ int len; ++ ++ len = of_property_count_elems_of_size(phydev->mdio.dev.of_node, ++ "microchip,led-modes", ++ sizeof(u32)); ++ if (len >= 0) { ++ /* Ensure the appropriate LEDs are enabled */ ++ lan78xx_read_reg(dev, HW_CFG, ®); ++ reg &= ~(HW_CFG_LED0_EN_ | ++ HW_CFG_LED1_EN_ | ++ HW_CFG_LED2_EN_ | ++ HW_CFG_LED3_EN_); ++ reg |= (len > 0) * HW_CFG_LED0_EN_ | ++ (len > 1) * HW_CFG_LED1_EN_ | ++ (len > 2) * HW_CFG_LED2_EN_ | ++ (len > 3) * HW_CFG_LED3_EN_; ++ lan78xx_write_reg(dev, HW_CFG, reg); ++ } ++ } ++ + genphy_config_aneg(phydev); + + dev->fc_autoneg = phydev->autoneg; +diff --git a/include/dt-bindings/net/microchip-lan78xx.h b/include/dt-bindings/net/microchip-lan78xx.h +new file mode 100644 +index 000000000000..0742ff075307 +--- /dev/null ++++ b/include/dt-bindings/net/microchip-lan78xx.h +@@ -0,0 +1,21 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++#ifndef _DT_BINDINGS_MICROCHIP_LAN78XX_H ++#define _DT_BINDINGS_MICROCHIP_LAN78XX_H ++ ++/* LED modes for LAN7800/LAN7850 embedded PHY */ ++ ++#define LAN78XX_LINK_ACTIVITY 0 ++#define LAN78XX_LINK_1000_ACTIVITY 1 ++#define LAN78XX_LINK_100_ACTIVITY 2 ++#define LAN78XX_LINK_10_ACTIVITY 3 ++#define LAN78XX_LINK_100_1000_ACTIVITY 4 ++#define LAN78XX_LINK_10_1000_ACTIVITY 5 ++#define LAN78XX_LINK_10_100_ACTIVITY 6 ++#define LAN78XX_DUPLEX_COLLISION 8 ++#define LAN78XX_COLLISION 9 ++#define LAN78XX_ACTIVITY 10 ++#define LAN78XX_AUTONEG_FAULT 12 ++#define LAN78XX_FORCE_LED_OFF 14 ++#define LAN78XX_FORCE_LED_ON 15 ++ ++#endif +diff --git a/include/linux/microchipphy.h b/include/linux/microchipphy.h +index 8f9c90379732..fd1fc8c248ef 100644 +--- a/include/linux/microchipphy.h ++++ b/include/linux/microchipphy.h +@@ -78,4 +78,7 @@ + #define LAN88XX_EXT_PAGE_TR_LOW_DATA 17 + #define LAN88XX_EXT_PAGE_TR_HIGH_DATA 18 + ++/* Registers specific to the LAN7800/LAN7850 embedded phy */ ++#define LAN78XX_PHY_LED_MODE_SELECT (0x1D) ++ + #endif /* _MICROCHIPPHY_H */ +-- +2.17.0 + diff --git a/bcm2837-rpi-initial-3plus-support.patch b/bcm2837-rpi-initial-3plus-support.patch new file mode 100644 index 000000000..e69303ada --- /dev/null +++ b/bcm2837-rpi-initial-3plus-support.patch @@ -0,0 +1,560 @@ +From patchwork Sat Apr 21 11:28:34 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V2,1/9] ARM: dts: bcm283x: Fix PWM pin assignment +From: Stefan Wahren +X-Patchwork-Id: 10354085 +Message-Id: <1524310122-9439-2-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt , Catalin Marinas , + Will Deacon +Cc: Stefan Wahren , devicetree@vger.kernel.org, + Florian Fainelli , Arnd Bergmann , + Scott Branden , Ray Jui , + Phil Elwell , Alexander Graf , + bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org +Date: Sat, 21 Apr 2018 13:28:34 +0200 + +All RPi 1 and 2 boards used the PWM (audio out) on pin 40 and 45. +So it was easy to define them in bcm2835-rpi.dtsi. Starting with RPi 3 +this wont work anymore, because it uses pin 40 and 41. Furthermore the +Zero variants doesn't have audio out. + +This patch fixes this pin conflict by moving the PWM node to the board-level. + +Change summary: +RPi 3 B: PWM1 45 -> 41 +Zero, Zero W: PWM disabled +all other: no functional change + +Reported-by: Baruch Siach +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 6 ++++++ + arch/arm/boot/dts/bcm2835-rpi-a.dts | 6 ++++++ + arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 6 ++++++ + arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 6 ++++++ + arch/arm/boot/dts/bcm2835-rpi-b.dts | 6 ++++++ + arch/arm/boot/dts/bcm2835-rpi.dtsi | 6 ------ + arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 6 ++++++ + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 6 ++++++ + 8 files changed, 42 insertions(+), 6 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts +index aa1fc7b..2cd9c5e 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts +@@ -101,6 +101,12 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + }; + ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts +index 425f6b0..067d1f0 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts +@@ -96,6 +96,12 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; + }; + ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +index effa195..cfbdaac 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +@@ -103,6 +103,12 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + }; + ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +index 772ec3b..5641d16 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +@@ -96,6 +96,12 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + }; + ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts +index 434483d..31ff602 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts ++++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts +@@ -91,6 +91,12 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; + }; + ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi +index 6c3cfaa..cb2d6d7 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -83,12 +83,6 @@ + bus-width = <4>; + }; + +-&pwm { +- pinctrl-names = "default"; +- pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; +- status = "okay"; +-}; +- + &usb { + power-domains = <&power RPI_POWER_DOMAIN_USB>; + }; +diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +index 5c339ad..2fef70a 100644 +--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts ++++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +@@ -41,6 +41,12 @@ + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + }; + ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio14>; +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index 0b31d99..cc39b6f 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -42,6 +42,12 @@ + }; + }; + ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>; ++ status = "okay"; ++}; ++ + /* uart0 communicates with the BT module */ + &uart0 { + pinctrl-names = "default"; +From patchwork Sat Apr 21 11:28:35 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V2,2/9] ARM: dts: bcm2837: Add missing GPIOs of Expander +From: Stefan Wahren +X-Patchwork-Id: 10354079 +Message-Id: <1524310122-9439-3-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt , Catalin Marinas , + Will Deacon +Cc: Stefan Wahren , devicetree@vger.kernel.org, + Florian Fainelli , Arnd Bergmann , + Scott Branden , Ray Jui , + Phil Elwell , Alexander Graf , + bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org +Date: Sat, 21 Apr 2018 13:28:35 +0200 + +After commit a98d90e7d588 ("gpio: raspberrypi-exp: Driver for RPi3 GPIO +expander via mailbox service") we are able to control the rest of the +GPIOs of the RPi 3. So add all the missing parts (ACT LED, +Wifi & BT control, HDMI detect) to the DT. + +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +--- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index cc39b6f..c318bcb 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -20,9 +20,14 @@ + + leds { + act { +- gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; ++ gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>; + }; + }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; ++ }; + }; + + &firmware { +@@ -48,6 +53,10 @@ + status = "okay"; + }; + ++&hdmi { ++ hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>; ++}; ++ + /* uart0 communicates with the BT module */ + &uart0 { + pinctrl-names = "default"; +@@ -57,6 +66,7 @@ + bluetooth { + compatible = "brcm,bcm43438-bt"; + max-speed = <2000000>; ++ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; + }; + }; + +@@ -69,11 +79,19 @@ + + /* SDHCI is used to control the SDIO for wireless */ + &sdhci { ++ #address-cells = <1>; ++ #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_gpio34>; + status = "okay"; + bus-width = <4>; + non-removable; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; + }; + + /* SDHOST is used to drive the SD card */ +From patchwork Sat Apr 21 11:28:36 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V2,3/9] dt-bindings: bcm: Add Raspberry Pi 3 B+ +From: Stefan Wahren +X-Patchwork-Id: 10354081 +Message-Id: <1524310122-9439-4-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt , Catalin Marinas , + Will Deacon +Cc: Stefan Wahren , devicetree@vger.kernel.org, + Florian Fainelli , Arnd Bergmann , + Scott Branden , Ray Jui , + Phil Elwell , Alexander Graf , + bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org +Date: Sat, 21 Apr 2018 13:28:36 +0200 + +This adds the root properties for the Raspberry Pi 3 B+ + +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +Reviewed-by: Rob Herring +--- + Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt +index 3e3efa0..1e3e29a 100644 +--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt ++++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt +@@ -34,6 +34,10 @@ Raspberry Pi 3 Model B + Required root node properties: + compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; + ++Raspberry Pi 3 Model B+ ++Required root node properties: ++compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; ++ + Raspberry Pi Compute Module + Required root node properties: + compatible = "raspberrypi,compute-module", "brcm,bcm2835"; +From patchwork Sat Apr 21 11:28:37 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V2,4/9] ARM: dts: bcm2837: Add Raspberry Pi 3 B+ +From: Stefan Wahren +X-Patchwork-Id: 10354075 +Message-Id: <1524310122-9439-5-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt , Catalin Marinas , + Will Deacon +Cc: Stefan Wahren , devicetree@vger.kernel.org, + Florian Fainelli , Arnd Bergmann , + Scott Branden , Ray Jui , + Phil Elwell , Alexander Graf , + bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org +Date: Sat, 21 Apr 2018 13:28:37 +0200 + +The Raspberry Pi 3 B+ has the following major differences compared +to the model 3 B: +* Microchip LAN7515 (Gigabit Ethernet with integrated USB 2.0 HUB) +* Cypress CYW43455 (802.11n/ac and BT 4.2) + +We need to add the USB LAN chip so the bootloader can add the MAC address. +This is necessary because there ain't an EEPROM or a valid OTP. + +Signed-off-by: Phil Elwell +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +--- + arch/arm/boot/dts/Makefile | 1 + + arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 108 +++++++++++++++++++++++++++++ + arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi | 27 ++++++++ + 3 files changed, 136 insertions(+) + create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts + create mode 100644 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi + +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index 7e24249..a300a35 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ + bcm2835-rpi-a-plus.dtb \ + bcm2836-rpi-2-b.dtb \ + bcm2837-rpi-3-b.dtb \ ++ bcm2837-rpi-3-b-plus.dtb \ + bcm2835-rpi-zero.dtb \ + bcm2835-rpi-zero-w.dtb + dtb-$(CONFIG_ARCH_BCM_5301X) += \ +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +new file mode 100644 +index 0000000..4adb85e +--- /dev/null ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +@@ -0,0 +1,108 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/dts-v1/; ++#include "bcm2837.dtsi" ++#include "bcm2835-rpi.dtsi" ++#include "bcm283x-rpi-lan7515.dtsi" ++#include "bcm283x-rpi-usb-host.dtsi" ++ ++/ { ++ compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; ++ model = "Raspberry Pi 3 Model B+"; ++ ++ chosen { ++ /* 8250 auxiliary UART instead of pl011 */ ++ stdout-path = "serial1:115200n8"; ++ }; ++ ++ memory { ++ reg = <0 0x40000000>; ++ }; ++ ++ leds { ++ act { ++ gpios = <&gpio 29 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ pwr { ++ label = "PWR"; ++ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; ++ }; ++}; ++ ++&firmware { ++ expgpio: gpio { ++ compatible = "raspberrypi,firmware-gpio"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ gpio-line-names = "BT_ON", ++ "WL_ON", ++ "STATUS_LED", ++ "LAN_RUN", ++ "", ++ "CAM_GPIO0", ++ "CAM_GPIO1", ++ ""; ++ status = "okay"; ++ }; ++}; ++ ++&hdmi { ++ hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; ++}; ++ ++&pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>; ++ status = "okay"; ++}; ++ ++/* SDHCI is used to control the SDIO for wireless */ ++&sdhci { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_gpio34>; ++ status = "okay"; ++ bus-width = <4>; ++ non-removable; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ ++/* SDHOST is used to drive the SD card */ ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ status = "okay"; ++ bus-width = <4>; ++}; ++ ++/* uart0 communicates with the BT module */ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm43438-bt"; ++ max-speed = <2000000>; ++ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; ++ }; ++}; ++ ++/* uart1 is mapped to the pin header */ ++&uart1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart1_gpio14>; ++ status = "okay"; ++}; +diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi +new file mode 100644 +index 0000000..9403da0 +--- /dev/null ++++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi +@@ -0,0 +1,27 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/ { ++ aliases { ++ ethernet0 = ðernet; ++ }; ++}; ++ ++&usb { ++ usb-port@1 { ++ compatible = "usb424,2514"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ usb-port@1 { ++ compatible = "usb424,2514"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ ethernet: ethernet@1 { ++ compatible = "usb424,7800"; ++ reg = <1>; ++ }; ++ }; ++ }; ++}; +From patchwork Sat Apr 21 11:28:42 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V2,9/9] arm64: dts: broadcom: Add reference to Raspberry Pi 3 B+ +From: Stefan Wahren +X-Patchwork-Id: 10354077 +Message-Id: <1524310122-9439-10-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt , Catalin Marinas , + Will Deacon +Cc: Stefan Wahren , devicetree@vger.kernel.org, + Florian Fainelli , Arnd Bergmann , + Scott Branden , Ray Jui , + Phil Elwell , Alexander Graf , + bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org +Date: Sat, 21 Apr 2018 13:28:42 +0200 + +This adds a reference to the dts of the Raspberry Pi 3 B+ +in arm, so don't need to maintain the content in arm64. + +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +--- + arch/arm64/boot/dts/broadcom/Makefile | 3 ++- + arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts | 2 ++ + 2 files changed, 4 insertions(+), 1 deletion(-) + create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts + +diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile +index 2a2591e..1193a9e 100644 +--- a/arch/arm64/boot/dts/broadcom/Makefile ++++ b/arch/arm64/boot/dts/broadcom/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 +-dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb ++dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb \ ++ bcm2837-rpi-3-b-plus.dtb + + subdir-y += northstar2 + subdir-y += stingray +diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts +new file mode 100644 +index 0000000..46ad202 +--- /dev/null ++++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts +@@ -0,0 +1,2 @@ ++// SPDX-License-Identifier: GPL-2.0 ++#include "arm/bcm2837-rpi-3-b-plus.dts" diff --git a/bcm283x-Fix-probing-of-bcm2835-i2s.patch b/bcm283x-Fix-probing-of-bcm2835-i2s.patch new file mode 100644 index 000000000..911b2d982 --- /dev/null +++ b/bcm283x-Fix-probing-of-bcm2835-i2s.patch @@ -0,0 +1,118 @@ +From patchwork Fri Feb 16 10:55:33 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V3, 1/2, + RESEND] dt-bindings: bcm283x: Fix register ranges of bcm2835-i2s +From: Stefan Wahren +X-Patchwork-Id: 10224429 +Message-Id: <1518778534-3328-2-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt +Cc: Stefan Wahren , devicetree@vger.kernel.org, + alsa-devel@alsa-project.org, Liam Girdwood , + Mark Brown , linux-rpi-kernel@lists.infradead.org, + linux-arm-kernel@lists.infradead.org +Date: Fri, 16 Feb 2018 11:55:33 +0100 + +Since 517e7a1537a ("ASoC: bcm2835: move to use the clock framework") +the bcm2835-i2s requires a clock as DT property. Unfortunately +the necessary DT change has never been applied. While we are at it +also fix the first PCM register range to cover the PCM_GRAY register. + +This patch only fixes the affected dt-bindings. + +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +Reviewed-by: Rob Herring +--- + Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- + Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt | 9 ++++----- + 2 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt +index baf9b34..b6a8cc0 100644 +--- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt ++++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt +@@ -74,8 +74,8 @@ Example: + + bcm2835_i2s: i2s@7e203000 { + compatible = "brcm,bcm2835-i2s"; +- reg = < 0x7e203000 0x20>, +- < 0x7e101098 0x02>; ++ reg = < 0x7e203000 0x24>; ++ clocks = <&clocks BCM2835_CLOCK_PCM>; + + dmas = <&dma 2>, + <&dma 3>; +diff --git a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt +index 65783de..7bb0362 100644 +--- a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt ++++ b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt +@@ -2,9 +2,8 @@ + + Required properties: + - compatible: "brcm,bcm2835-i2s" +-- reg: A list of base address and size entries: +- * The first entry should cover the PCM registers +- * The second entry should cover the PCM clock registers ++- reg: Should contain PCM registers location and length. ++- clocks: the (PCM) clock to use + - dmas: List of DMA controller phandle and DMA request line ordered pairs. + - dma-names: Identifier string for each DMA request line in the dmas property. + These strings correspond 1:1 with the ordered pairs in dmas. +@@ -16,8 +15,8 @@ Example: + + bcm2835_i2s: i2s@7e203000 { + compatible = "brcm,bcm2835-i2s"; +- reg = <0x7e203000 0x20>, +- <0x7e101098 0x02>; ++ reg = <0x7e203000 0x24>; ++ clocks = <&clocks BCM2835_CLOCK_PCM>; + + dmas = <&dma 2>, + <&dma 3>; +From patchwork Fri Feb 16 10:55:34 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [V3,2/2,RESEND] ARM: dts: bcm283x: Fix probing of bcm2835-i2s +From: Stefan Wahren +X-Patchwork-Id: 10224427 +Message-Id: <1518778534-3328-3-git-send-email-stefan.wahren@i2se.com> +To: Rob Herring , Mark Rutland , + Eric Anholt +Cc: Stefan Wahren , devicetree@vger.kernel.org, + alsa-devel@alsa-project.org, Liam Girdwood , + Mark Brown , linux-rpi-kernel@lists.infradead.org, + linux-arm-kernel@lists.infradead.org +Date: Fri, 16 Feb 2018 11:55:34 +0100 + +Since 517e7a1537a ("ASoC: bcm2835: move to use the clock framework") +the bcm2835-i2s requires a clock as DT property. Unfortunately +the necessary DT change has never been applied. While we are at it +also fix the first PCM register range to cover the PCM_GRAY register. + +Fixes: 517e7a1537a ("ASoC: bcm2835: move to use the clock framework") +Signed-off-by: Stefan Wahren +Reviewed-by: Eric Anholt +Tested-by: Matthias Reichl +--- + arch/arm/boot/dts/bcm283x.dtsi | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 013431e..e08203c 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -396,8 +396,8 @@ + + i2s: i2s@7e203000 { + compatible = "brcm,bcm2835-i2s"; +- reg = <0x7e203000 0x20>, +- <0x7e101098 0x02>; ++ reg = <0x7e203000 0x24>; ++ clocks = <&clocks BCM2835_CLOCK_PCM>; + + dmas = <&dma 2>, + <&dma 3>; diff --git a/bcm283x-clk-audio-fixes.patch b/bcm283x-clk-audio-fixes.patch new file mode 100644 index 000000000..03369ccdb --- /dev/null +++ b/bcm283x-clk-audio-fixes.patch @@ -0,0 +1,55 @@ +From 1b6867ee05d84cc6ec23b5ec0b78684187d3190a Mon Sep 17 00:00:00 2001 +From: Boris Brezillon +Date: Wed, 7 Mar 2018 15:41:14 +0100 +Subject: [PATCH] clk: bcm2835: Make sure the PLL is gated before changing its + rate + +All bcm2835 PLLs should be gated before their rate can be changed. +Setting CLK_SET_RATE_GATE will let the core enforce that, but this is +not enough to make the code work in all situations. Indeed, the +CLK_SET_RATE_GATE flag prevents a user from changing the rate while +the clock is enabled, but this check only guarantees there's no Linux +users. In our case, the clock might have been enabled by the +bootloader/FW, and, because we have CLK_IGNORE_UNUSED set, Linux never +disables the PLL. So we have to make sure the PLL is actually disabled +before changing the rate. + +Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks") +Cc: +Signed-off-by: Boris Brezillon +--- + drivers/clk/bcm/clk-bcm2835.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index 6c5d4a8e426c..051ce769c109 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -678,6 +678,18 @@ static int bcm2835_pll_set_rate(struct clk_hw *hw, + u32 ana[4]; + int i; + ++ /* ++ * Normally, the CLK_SET_RATE_GATE flag prevents a user from changing ++ * the rate while the clock is enabled, but this check only makes sure ++ * there's no Linux users. ++ * In our case, the clock might have been enabled by the bootloader/FW, ++ * and, since CLK_IGNORE_UNUSED flag is set, Linux never disables it. ++ * So we have to make sure the clk is actually disabled before changing ++ * the rate. ++ */ ++ if (bcm2835_pll_is_on(hw)) ++ bcm2835_pll_off(hw); ++ + if (rate > data->max_fb_rate) { + use_fb_prediv = true; + rate /= 2; +@@ -1318,7 +1330,7 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, + init.num_parents = 1; + init.name = data->name; + init.ops = &bcm2835_pll_clk_ops; +- init.flags = CLK_IGNORE_UNUSED; ++ init.flags = CLK_IGNORE_UNUSED | CLK_SET_RATE_GATE; + + pll = kzalloc(sizeof(*pll), GFP_KERNEL); + if (!pll) diff --git a/bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch b/bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch new file mode 100644 index 000000000..c6f7f12de --- /dev/null +++ b/bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch @@ -0,0 +1,127 @@ +From patchwork Thu Aug 3 15:52:08 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v3] dma-mapping: skip USB devices when configuring DMA during probe +From: Johan Hovold +X-Patchwork-Id: 9879371 +Message-Id: <20170803155208.22165-1-johan@kernel.org> +To: Christoph Hellwig , + Marek Szyprowski , + Greg Kroah-Hartman +Cc: =?UTF-8?q?Andreas=20F=C3=A4rber?= , + linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, + Alan Stern , Johan Hovold , + stable , Robin Murphy , + Sricharan R , + Stefan Wahren +Date: Thu, 3 Aug 2017 17:52:08 +0200 + +USB devices use the DMA mask and offset of the controller, which have +already been setup when a device is probed. Note that modifying the +DMA mask of a USB device would change the mask for the controller (and +all devices on the bus) as the mask is literally shared. + +Since commit 2bf698671205 ("USB: of: fix root-hub device-tree node +handling"), of_dma_configure() would be called also for root hubs, which +use the device node of the controller. A separate, long-standing bug +that makes of_dma_configure() generate a 30-bit DMA mask from the RPI3's +"dma-ranges" would thus set a broken mask also for the controller. This +in turn prevents USB devices from enumerating when control transfers +fail: + + dwc2 3f980000.usb: Cannot do DMA to address 0x000000003a166a00 + +Note that the aforementioned DMA-mask bug was benign for the HCD itself +as the dwc2 driver overwrites the mask previously set by +of_dma_configure() for the platform device in its probe callback. The +mask would only later get corrupted when the root-hub child device was +probed. + +Fix this, and similar future problems, by adding a flag to struct device +which prevents driver core from calling dma_configure() during probe and +making sure it is set for USB devices. + +Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices") +Cc: stable # 4.12 +Cc: Robin Murphy +Cc: Sricharan R +Cc: Stefan Wahren +Reported-by: Hans Verkuil +Signed-off-by: Johan Hovold +--- + +v3 + - add flag to struct device to prevent DMA configuration during probe instead + of checking for the USB bus type, which is not available when USB is built + as a module as noted by Alan + - drop moderated rpi list from CC + +v2 + - amend commit message and point out that the long-standing 30-bit DMA-mask + bug was benign to the dwc2 HCD itself (Robin) + - add and use a new dev_is_usb() helper (Robin) + + + drivers/base/dma-mapping.c | 6 ++++++ + drivers/usb/core/usb.c | 1 + + include/linux/device.h | 3 +++ + 3 files changed, 10 insertions(+) + +diff --git a/drivers/base/dma-mapping.c b/drivers/base/dma-mapping.c +index b555ff9dd8fc..f9f703be0ad1 100644 +--- a/drivers/base/dma-mapping.c ++++ b/drivers/base/dma-mapping.c +@@ -345,6 +345,9 @@ int dma_configure(struct device *dev) + enum dev_dma_attr attr; + int ret = 0; + ++ if (dev->skip_dma_configure) ++ return 0; ++ + if (dev_is_pci(dev)) { + bridge = pci_get_host_bridge_device(to_pci_dev(dev)); + dma_dev = bridge; +@@ -369,6 +372,9 @@ int dma_configure(struct device *dev) + + void dma_deconfigure(struct device *dev) + { ++ if (dev->skip_dma_configure) ++ return; ++ + of_dma_deconfigure(dev); + acpi_dma_deconfigure(dev); + } +diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c +index 17681d5638ac..2a85d905b539 100644 +--- a/drivers/usb/core/usb.c ++++ b/drivers/usb/core/usb.c +@@ -588,6 +588,7 @@ struct usb_device *usb_alloc_dev(struct usb_device *parent, + * Note: calling dma_set_mask() on a USB device would set the + * mask for the entire HCD, so don't do that. + */ ++ dev->dev.skip_dma_configure = true; + dev->dev.dma_mask = bus->sysdev->dma_mask; + dev->dev.dma_pfn_offset = bus->sysdev->dma_pfn_offset; + set_dev_node(&dev->dev, dev_to_node(bus->sysdev)); +diff --git a/include/linux/device.h b/include/linux/device.h +index 723cd54b94da..022cf258068b 100644 +--- a/include/linux/device.h ++++ b/include/linux/device.h +@@ -877,6 +877,8 @@ struct dev_links_info { + * @offline: Set after successful invocation of bus type's .offline(). + * @of_node_reused: Set if the device-tree node is shared with an ancestor + * device. ++ * @skip_dma_configure: Set if driver core should not configure DMA for this ++ * device during probe. + * + * At the lowest level, every device in a Linux system is represented by an + * instance of struct device. The device structure contains the information +@@ -965,6 +967,7 @@ struct device { + bool offline_disabled:1; + bool offline:1; + bool of_node_reused:1; ++ bool skip_dma_configure:1; + }; + + static inline struct device *kobj_to_dev(struct kobject *kobj) diff --git a/bcm283x-fixes.patch b/bcm283x-fixes.patch deleted file mode 100644 index fcddac501..000000000 --- a/bcm283x-fixes.patch +++ /dev/null @@ -1,218 +0,0 @@ -From patchwork Sun Jan 29 18:40:59 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2] ARM: bcm2835: dts: fix uart0 pinctrl node names -From: Baruch Siach -X-Patchwork-Id: 9544261 -Message-Id: -To: Stephen Warren , Lee Jones , - Eric Anholt -Cc: Baruch Siach , linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Sun, 29 Jan 2017 20:40:59 +0200 - -Downstream kernel uses pins 32, 33 as UART0 (PL011) Rx/Tx to communicate with -the Bluetooth chip. So ALT3 of these pins is most likely not CTS/RTS. Change -the node name to reflect that. This matches section 6.2 "Alternative Function -Assignments" in the BCM2835 ARM Peripherals document. - -With this change in place, adding - - &uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; - status = "okay"; - }; - -to bcm2837-rpi-3-b.dts does the right thing on my Raspberry Pi 3. - -Pins 30, 31 are CTS/RTS of UART0 in alternate function 3. Rename uart0_gpio30 -as well. - -While at it, fix a little typo in a nearby comment. - -Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.") -Acked-by: Stefan Wahren -Signed-off-by: Baruch Siach -Reviewed-by: Eric Anholt ---- -v2: - * Reference the ARM Peripherals document - * Fix subject typo (Stefan) - * Rename also uart0_gpio30 (Stefan) - * Add comment typo fix (Stefan) - * Add Stefan's ack ---- - arch/arm/boot/dts/bcm283x.dtsi | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 9a44da190897..bc8ad417c8a3 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -292,17 +292,17 @@ - /* Separate from the uart0_gpio14 group - * because it conflicts with spi1_gpio16, and - * people often run uart0 on the two pins -- * without flow contrl. -+ * without flow control. - */ - uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 { - brcm,pins = <16 17>; - brcm,function = ; - }; -- uart0_gpio30: uart0_gpio30 { -+ uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 { - brcm,pins = <30 31>; - brcm,function = ; - }; -- uart0_ctsrts_gpio32: uart0_ctsrts_gpio32 { -+ uart0_gpio32: uart0_gpio32 { - brcm,pins = <32 33>; - brcm,function = ; - }; -From patchwork Sun Jan 29 19:53:10 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/2] ARM: bcm2835: dts: fix i2c0 pins -From: Baruch Siach -X-Patchwork-Id: 9544275 -Message-Id: <9290fa9eed6b5ff1c5c96b9dac41eca286b7eef9.1485719591.git.baruch@tkos.co.il> -To: Stephen Warren , Lee Jones , - Eric Anholt -Cc: Baruch Siach , linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Sun, 29 Jan 2017 21:53:10 +0200 - -According to the BCM2835 ARM Peripherals document i2c0 doesn't map to pins 32, -34 but to 28, 29. - -Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.") -Signed-off-by: Baruch Siach ---- - arch/arm/boot/dts/bcm283x.dtsi | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index bc8ad417c8a3..2ae842921250 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -195,8 +195,8 @@ - brcm,pins = <0 1>; - brcm,function = ; - }; -- i2c0_gpio32: i2c0_gpio32 { -- brcm,pins = <32 34>; -+ i2c0_gpio28: i2c0_gpio28 { -+ brcm,pins = <28 29>; - brcm,function = ; - }; - i2c0_gpio44: i2c0_gpio44 { -From patchwork Sun Jan 29 19:53:11 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [2/2] ARM: bcm2835: dts: fix uart0/uart1 pins -From: Baruch Siach -X-Patchwork-Id: 9544277 -Message-Id: -To: Stephen Warren , Lee Jones , - Eric Anholt -Cc: Baruch Siach , linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Sun, 29 Jan 2017 21:53:11 +0200 - -According to the BCM2835 ARM Peripherals document uart1 doesn't map to pins -36-39, but uart0 does. - -Also, split into separate Rx/Tx and CST/RTS groups to match other uart nodes. - -Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.") -Signed-off-by: Baruch Siach ---- - arch/arm/boot/dts/bcm283x.dtsi | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 2ae842921250..9ee8346b8b19 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -306,6 +306,14 @@ - brcm,pins = <32 33>; - brcm,function = ; - }; -+ uart0_gpio36: uart0_gpio36 { -+ brcm,pins = <36 37>; -+ brcm,function = ; -+ }; -+ uart0_ctsrts_gpio38: uart0_ctsrts_gpio38 { -+ brcm,pins = <38 39>; -+ brcm,function = ; -+ }; - - uart1_gpio14: uart1_gpio14 { - brcm,pins = <14 15>; -@@ -323,10 +331,6 @@ - brcm,pins = <30 31>; - brcm,function = ; - }; -- uart1_gpio36: uart1_gpio36 { -- brcm,pins = <36 37 38 39>; -- brcm,function = ; -- }; - uart1_gpio40: uart1_gpio40 { - brcm,pins = <40 41>; - brcm,function = ; -From patchwork Mon Jan 30 18:44:39 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ARM: bcm2835: dt: add index to the ethernet alias -From: Baruch Siach -X-Patchwork-Id: 9545945 -Message-Id: <5942321c5d0bfea54eac64ace2b217e8e0b6220d.1485801879.git.baruch@tkos.co.il> -To: Stephen Warren , Lee Jones , - Eric Anholt -Cc: Lubomir Rintel , Baruch Siach , - linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org -Date: Mon, 30 Jan 2017 20:44:39 +0200 - -An alias name should have an index number even when it is the only of its type. -This allows U-Boot to add the local-mac-address property. Otherwise U-Boot -skips the alias. - -Cc: Lubomir Rintel -Fixes: 6a93792774 ("ARM: bcm2835: dt: Add the ethernet to the device trees") -Signed-off-by: Baruch Siach -Acked-by: Lubomir Rintel ---- - arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi | 2 +- - arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi -index 12c981e51134..9a0599f711ff 100644 ---- a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi -+++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi -@@ -1,6 +1,6 @@ - / { - aliases { -- ethernet = ðernet; -+ ethernet0 = ðernet; - }; - }; - -diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi -index 3f0a56ebcf1f..dc7ae776db5f 100644 ---- a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi -+++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi -@@ -1,6 +1,6 @@ - / { - aliases { -- ethernet = ðernet; -+ ethernet0 = ðernet; - }; - }; - diff --git a/bcm283x-hdmi-audio.patch b/bcm283x-hdmi-audio.patch deleted file mode 100644 index 3ed3d2d34..000000000 --- a/bcm283x-hdmi-audio.patch +++ /dev/null @@ -1,836 +0,0 @@ -From bbcb8aacb871edf0360e808180162591b11c6a35 Mon Sep 17 00:00:00 2001 -From: Boris Brezillon -Date: Mon, 27 Feb 2017 12:28:01 -0800 -Subject: [PATCH 1/3] dt-bindings: Document the dmas and dma-names properties - for VC4 HDMI - -These are optional, but necessary for HDMI audio support. - -Signed-off-by: Boris Brezillon -Signed-off-by: Eric Anholt -Acked-by: Rob Herring -Link: http://patchwork.freedesktop.org/patch/msgid/20170227202803.12855-1-eric@anholt.net ---- - Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt b/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt -index 34c7fddcea39..ca02d3e4db91 100644 ---- a/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt -+++ b/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt -@@ -34,6 +34,9 @@ Optional properties for HDMI: - - hpd-gpios: The GPIO pin for HDMI hotplug detect (if it doesn't appear - as an interrupt/status bit in the HDMI controller - itself). See bindings/pinctrl/brcm,bcm2835-gpio.txt -+- dmas: Should contain one entry pointing to the DMA channel used to -+ transfer audio data -+- dma-names: Should contain "audio-rx" - - Required properties for DPI: - - compatible: Should be "brcm,bcm2835-dpi" --- -2.12.0 - -From 8e13e0d8ecf2202c707225a612d10c9534d849f7 Mon Sep 17 00:00:00 2001 -From: Eric Anholt -Date: Mon, 27 Feb 2017 12:28:02 -0800 -Subject: [PATCH 2/3] drm/vc4: Add HDMI audio support - -The HDMI encoder IP embeds all needed blocks to output audio, with a -custom DAI called MAI moving audio between the two parts of the HDMI -core. This driver now exposes a sound card to let users stream audio -to their display. - -Using the hdmi-codec driver has been considered here, but MAI meant -having to significantly rework hdmi-codec, and it would have left -little shared code with the I2S mode anyway. - -The encoder requires that the audio be SPDIF-formatted frames only, -which alsalib will format-convert for us. - -This patch is the combined work of Eric Anholt (initial register setup -with a separate dmaengine driver and using simple-audio-card) and -Boris Brezillon (moving it all into HDMI, massive debug to get it -actually working), and which Eric has the permission to release. - -v2: Drop "-audio" from sound card name, since that's already implied - (suggestion by Boris) - -Signed-off-by: Eric Anholt -Acked-by: Boris Brezillon -Link: http://patchwork.freedesktop.org/patch/msgid/20170227202803.12855-2-eric@anholt.net ---- - drivers/gpu/drm/vc4/Kconfig | 4 + - drivers/gpu/drm/vc4/vc4_hdmi.c | 494 ++++++++++++++++++++++++++++++++++++++++- - drivers/gpu/drm/vc4/vc4_regs.h | 107 ++++++++- - 3 files changed, 603 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig -index e1517d07cb7d..973b4203c0b2 100644 ---- a/drivers/gpu/drm/vc4/Kconfig -+++ b/drivers/gpu/drm/vc4/Kconfig -@@ -2,11 +2,15 @@ config DRM_VC4 - tristate "Broadcom VC4 Graphics" - depends on ARCH_BCM2835 || COMPILE_TEST - depends on DRM -+ depends on SND && SND_SOC - depends on COMMON_CLK - select DRM_KMS_HELPER - select DRM_KMS_CMA_HELPER - select DRM_GEM_CMA_HELPER - select DRM_PANEL -+ select SND_PCM -+ select SND_PCM_ELD -+ select SND_SOC_GENERIC_DMAENGINE_PCM - select DRM_MIPI_DSI - help - Choose this option if you have a system that has a Broadcom -diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 93d5994f3a04..e4abf4bfc464 100644 ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -31,11 +31,27 @@ - #include "linux/clk.h" - #include "linux/component.h" - #include "linux/i2c.h" -+#include "linux/of_address.h" - #include "linux/of_gpio.h" - #include "linux/of_platform.h" -+#include "linux/rational.h" -+#include "sound/dmaengine_pcm.h" -+#include "sound/pcm_drm_eld.h" -+#include "sound/pcm_params.h" -+#include "sound/soc.h" - #include "vc4_drv.h" - #include "vc4_regs.h" - -+/* HDMI audio information */ -+struct vc4_hdmi_audio { -+ struct snd_soc_card card; -+ struct snd_soc_dai_link link; -+ int samplerate; -+ int channels; -+ struct snd_dmaengine_dai_dma_data dma_data; -+ struct snd_pcm_substream *substream; -+}; -+ - /* General HDMI hardware state. */ - struct vc4_hdmi { - struct platform_device *pdev; -@@ -43,6 +59,8 @@ struct vc4_hdmi { - struct drm_encoder *encoder; - struct drm_connector *connector; - -+ struct vc4_hdmi_audio audio; -+ - struct i2c_adapter *ddc; - void __iomem *hdmicore_regs; - void __iomem *hd_regs; -@@ -98,6 +116,10 @@ static const struct { - HDMI_REG(VC4_HDMI_SW_RESET_CONTROL), - HDMI_REG(VC4_HDMI_HOTPLUG_INT), - HDMI_REG(VC4_HDMI_HOTPLUG), -+ HDMI_REG(VC4_HDMI_MAI_CHANNEL_MAP), -+ HDMI_REG(VC4_HDMI_MAI_CONFIG), -+ HDMI_REG(VC4_HDMI_MAI_FORMAT), -+ HDMI_REG(VC4_HDMI_AUDIO_PACKET_CONFIG), - HDMI_REG(VC4_HDMI_RAM_PACKET_CONFIG), - HDMI_REG(VC4_HDMI_HORZA), - HDMI_REG(VC4_HDMI_HORZB), -@@ -108,6 +130,7 @@ static const struct { - HDMI_REG(VC4_HDMI_VERTB0), - HDMI_REG(VC4_HDMI_VERTB1), - HDMI_REG(VC4_HDMI_TX_PHY_RESET_CTL), -+ HDMI_REG(VC4_HDMI_TX_PHY_CTL0), - }; - - static const struct { -@@ -116,6 +139,9 @@ static const struct { - } hd_regs[] = { - HDMI_REG(VC4_HD_M_CTL), - HDMI_REG(VC4_HD_MAI_CTL), -+ HDMI_REG(VC4_HD_MAI_THR), -+ HDMI_REG(VC4_HD_MAI_FMT), -+ HDMI_REG(VC4_HD_MAI_SMP), - HDMI_REG(VC4_HD_VID_CTL), - HDMI_REG(VC4_HD_CSC_CTL), - HDMI_REG(VC4_HD_FRAME_COUNT), -@@ -215,6 +241,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) - - drm_mode_connector_update_edid_property(connector, edid); - ret = drm_add_edid_modes(connector, edid); -+ drm_edid_to_eld(connector, edid); - - return ret; - } -@@ -300,7 +327,7 @@ static void vc4_hdmi_write_infoframe(struct drm_encoder *encoder, - struct drm_device *dev = encoder->dev; - struct vc4_dev *vc4 = to_vc4_dev(dev); - u32 packet_id = frame->any.type - 0x80; -- u32 packet_reg = VC4_HDMI_GCP_0 + VC4_HDMI_PACKET_STRIDE * packet_id; -+ u32 packet_reg = VC4_HDMI_RAM_PACKET(packet_id); - uint8_t buffer[VC4_HDMI_PACKET_STRIDE]; - ssize_t len, i; - int ret; -@@ -381,6 +408,24 @@ static void vc4_hdmi_set_spd_infoframe(struct drm_encoder *encoder) - vc4_hdmi_write_infoframe(encoder, &frame); - } - -+static void vc4_hdmi_set_audio_infoframe(struct drm_encoder *encoder) -+{ -+ struct drm_device *drm = encoder->dev; -+ struct vc4_dev *vc4 = drm->dev_private; -+ struct vc4_hdmi *hdmi = vc4->hdmi; -+ union hdmi_infoframe frame; -+ int ret; -+ -+ ret = hdmi_audio_infoframe_init(&frame.audio); -+ -+ frame.audio.coding_type = HDMI_AUDIO_CODING_TYPE_STREAM; -+ frame.audio.sample_frequency = HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM; -+ frame.audio.sample_size = HDMI_AUDIO_SAMPLE_SIZE_STREAM; -+ frame.audio.channels = hdmi->audio.channels; -+ -+ vc4_hdmi_write_infoframe(encoder, &frame); -+} -+ - static void vc4_hdmi_set_infoframes(struct drm_encoder *encoder) - { - vc4_hdmi_set_avi_infoframe(encoder); -@@ -589,6 +634,447 @@ static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = { - .enable = vc4_hdmi_encoder_enable, - }; - -+/* HDMI audio codec callbacks */ -+static void vc4_hdmi_audio_set_mai_clock(struct vc4_hdmi *hdmi) -+{ -+ struct drm_device *drm = hdmi->encoder->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ u32 hsm_clock = clk_get_rate(hdmi->hsm_clock); -+ unsigned long n, m; -+ -+ rational_best_approximation(hsm_clock, hdmi->audio.samplerate, -+ VC4_HD_MAI_SMP_N_MASK >> -+ VC4_HD_MAI_SMP_N_SHIFT, -+ (VC4_HD_MAI_SMP_M_MASK >> -+ VC4_HD_MAI_SMP_M_SHIFT) + 1, -+ &n, &m); -+ -+ HD_WRITE(VC4_HD_MAI_SMP, -+ VC4_SET_FIELD(n, VC4_HD_MAI_SMP_N) | -+ VC4_SET_FIELD(m - 1, VC4_HD_MAI_SMP_M)); -+} -+ -+static void vc4_hdmi_set_n_cts(struct vc4_hdmi *hdmi) -+{ -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_crtc *crtc = encoder->crtc; -+ struct drm_device *drm = encoder->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ const struct drm_display_mode *mode = &crtc->state->adjusted_mode; -+ u32 samplerate = hdmi->audio.samplerate; -+ u32 n, cts; -+ u64 tmp; -+ -+ n = 128 * samplerate / 1000; -+ tmp = (u64)(mode->clock * 1000) * n; -+ do_div(tmp, 128 * samplerate); -+ cts = tmp; -+ -+ HDMI_WRITE(VC4_HDMI_CRP_CFG, -+ VC4_HDMI_CRP_CFG_EXTERNAL_CTS_EN | -+ VC4_SET_FIELD(n, VC4_HDMI_CRP_CFG_N)); -+ -+ /* -+ * We could get slightly more accurate clocks in some cases by -+ * providing a CTS_1 value. The two CTS values are alternated -+ * between based on the period fields -+ */ -+ HDMI_WRITE(VC4_HDMI_CTS_0, cts); -+ HDMI_WRITE(VC4_HDMI_CTS_1, cts); -+} -+ -+static inline struct vc4_hdmi *dai_to_hdmi(struct snd_soc_dai *dai) -+{ -+ struct snd_soc_card *card = snd_soc_dai_get_drvdata(dai); -+ -+ return snd_soc_card_get_drvdata(card); -+} -+ -+static int vc4_hdmi_audio_startup(struct snd_pcm_substream *substream, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct vc4_dev *vc4 = to_vc4_dev(encoder->dev); -+ int ret; -+ -+ if (hdmi->audio.substream && hdmi->audio.substream != substream) -+ return -EINVAL; -+ -+ hdmi->audio.substream = substream; -+ -+ /* -+ * If the HDMI encoder hasn't probed, or the encoder is -+ * currently in DVI mode, treat the codec dai as missing. -+ */ -+ if (!encoder->crtc || !(HDMI_READ(VC4_HDMI_RAM_PACKET_CONFIG) & -+ VC4_HDMI_RAM_PACKET_ENABLE)) -+ return -ENODEV; -+ -+ ret = snd_pcm_hw_constraint_eld(substream->runtime, -+ hdmi->connector->eld); -+ if (ret) -+ return ret; -+ -+ return 0; -+} -+ -+static int vc4_hdmi_audio_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) -+{ -+ return 0; -+} -+ -+static void vc4_hdmi_audio_reset(struct vc4_hdmi *hdmi) -+{ -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_device *drm = encoder->dev; -+ struct device *dev = &hdmi->pdev->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ int ret; -+ -+ ret = vc4_hdmi_stop_packet(encoder, HDMI_INFOFRAME_TYPE_AUDIO); -+ if (ret) -+ dev_err(dev, "Failed to stop audio infoframe: %d\n", ret); -+ -+ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_RESET); -+ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_ERRORF); -+ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_FLUSH); -+} -+ -+static void vc4_hdmi_audio_shutdown(struct snd_pcm_substream *substream, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ -+ if (substream != hdmi->audio.substream) -+ return; -+ -+ vc4_hdmi_audio_reset(hdmi); -+ -+ hdmi->audio.substream = NULL; -+} -+ -+/* HDMI audio codec callbacks */ -+static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream, -+ struct snd_pcm_hw_params *params, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_device *drm = encoder->dev; -+ struct device *dev = &hdmi->pdev->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ u32 audio_packet_config, channel_mask; -+ u32 channel_map, i; -+ -+ if (substream != hdmi->audio.substream) -+ return -EINVAL; -+ -+ dev_dbg(dev, "%s: %u Hz, %d bit, %d channels\n", __func__, -+ params_rate(params), params_width(params), -+ params_channels(params)); -+ -+ hdmi->audio.channels = params_channels(params); -+ hdmi->audio.samplerate = params_rate(params); -+ -+ HD_WRITE(VC4_HD_MAI_CTL, -+ VC4_HD_MAI_CTL_RESET | -+ VC4_HD_MAI_CTL_FLUSH | -+ VC4_HD_MAI_CTL_DLATE | -+ VC4_HD_MAI_CTL_ERRORE | -+ VC4_HD_MAI_CTL_ERRORF); -+ -+ vc4_hdmi_audio_set_mai_clock(hdmi); -+ -+ audio_packet_config = -+ VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_SAMPLE_FLAT | -+ VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_INACTIVE_CHANNELS | -+ VC4_SET_FIELD(0xf, VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER); -+ -+ channel_mask = GENMASK(hdmi->audio.channels - 1, 0); -+ audio_packet_config |= VC4_SET_FIELD(channel_mask, -+ VC4_HDMI_AUDIO_PACKET_CEA_MASK); -+ -+ /* Set the MAI threshold. This logic mimics the firmware's. */ -+ if (hdmi->audio.samplerate > 96000) { -+ HD_WRITE(VC4_HD_MAI_THR, -+ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQHIGH) | -+ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW)); -+ } else if (hdmi->audio.samplerate > 48000) { -+ HD_WRITE(VC4_HD_MAI_THR, -+ VC4_SET_FIELD(0x14, VC4_HD_MAI_THR_DREQHIGH) | -+ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW)); -+ } else { -+ HD_WRITE(VC4_HD_MAI_THR, -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) | -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) | -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) | -+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW)); -+ } -+ -+ HDMI_WRITE(VC4_HDMI_MAI_CONFIG, -+ VC4_HDMI_MAI_CONFIG_BIT_REVERSE | -+ VC4_SET_FIELD(channel_mask, VC4_HDMI_MAI_CHANNEL_MASK)); -+ -+ channel_map = 0; -+ for (i = 0; i < 8; i++) { -+ if (channel_mask & BIT(i)) -+ channel_map |= i << (3 * i); -+ } -+ -+ HDMI_WRITE(VC4_HDMI_MAI_CHANNEL_MAP, channel_map); -+ HDMI_WRITE(VC4_HDMI_AUDIO_PACKET_CONFIG, audio_packet_config); -+ vc4_hdmi_set_n_cts(hdmi); -+ -+ return 0; -+} -+ -+static int vc4_hdmi_audio_trigger(struct snd_pcm_substream *substream, int cmd, -+ struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ struct drm_encoder *encoder = hdmi->encoder; -+ struct drm_device *drm = encoder->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(drm); -+ -+ switch (cmd) { -+ case SNDRV_PCM_TRIGGER_START: -+ vc4_hdmi_set_audio_infoframe(encoder); -+ HDMI_WRITE(VC4_HDMI_TX_PHY_CTL0, -+ HDMI_READ(VC4_HDMI_TX_PHY_CTL0) & -+ ~VC4_HDMI_TX_PHY_RNG_PWRDN); -+ HD_WRITE(VC4_HD_MAI_CTL, -+ VC4_SET_FIELD(hdmi->audio.channels, -+ VC4_HD_MAI_CTL_CHNUM) | -+ VC4_HD_MAI_CTL_ENABLE); -+ break; -+ case SNDRV_PCM_TRIGGER_STOP: -+ HD_WRITE(VC4_HD_MAI_CTL, -+ VC4_HD_MAI_CTL_DLATE | -+ VC4_HD_MAI_CTL_ERRORE | -+ VC4_HD_MAI_CTL_ERRORF); -+ HDMI_WRITE(VC4_HDMI_TX_PHY_CTL0, -+ HDMI_READ(VC4_HDMI_TX_PHY_CTL0) | -+ VC4_HDMI_TX_PHY_RNG_PWRDN); -+ break; -+ default: -+ break; -+ } -+ -+ return 0; -+} -+ -+static inline struct vc4_hdmi * -+snd_component_to_hdmi(struct snd_soc_component *component) -+{ -+ struct snd_soc_card *card = snd_soc_component_get_drvdata(component); -+ -+ return snd_soc_card_get_drvdata(card); -+} -+ -+static int vc4_hdmi_audio_eld_ctl_info(struct snd_kcontrol *kcontrol, -+ struct snd_ctl_elem_info *uinfo) -+{ -+ struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); -+ struct vc4_hdmi *hdmi = snd_component_to_hdmi(component); -+ -+ uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES; -+ uinfo->count = sizeof(hdmi->connector->eld); -+ -+ return 0; -+} -+ -+static int vc4_hdmi_audio_eld_ctl_get(struct snd_kcontrol *kcontrol, -+ struct snd_ctl_elem_value *ucontrol) -+{ -+ struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); -+ struct vc4_hdmi *hdmi = snd_component_to_hdmi(component); -+ -+ memcpy(ucontrol->value.bytes.data, hdmi->connector->eld, -+ sizeof(hdmi->connector->eld)); -+ -+ return 0; -+} -+ -+static const struct snd_kcontrol_new vc4_hdmi_audio_controls[] = { -+ { -+ .access = SNDRV_CTL_ELEM_ACCESS_READ | -+ SNDRV_CTL_ELEM_ACCESS_VOLATILE, -+ .iface = SNDRV_CTL_ELEM_IFACE_PCM, -+ .name = "ELD", -+ .info = vc4_hdmi_audio_eld_ctl_info, -+ .get = vc4_hdmi_audio_eld_ctl_get, -+ }, -+}; -+ -+static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = { -+ SND_SOC_DAPM_OUTPUT("TX"), -+}; -+ -+static const struct snd_soc_dapm_route vc4_hdmi_audio_routes[] = { -+ { "TX", NULL, "Playback" }, -+}; -+ -+static const struct snd_soc_codec_driver vc4_hdmi_audio_codec_drv = { -+ .component_driver = { -+ .controls = vc4_hdmi_audio_controls, -+ .num_controls = ARRAY_SIZE(vc4_hdmi_audio_controls), -+ .dapm_widgets = vc4_hdmi_audio_widgets, -+ .num_dapm_widgets = ARRAY_SIZE(vc4_hdmi_audio_widgets), -+ .dapm_routes = vc4_hdmi_audio_routes, -+ .num_dapm_routes = ARRAY_SIZE(vc4_hdmi_audio_routes), -+ }, -+}; -+ -+static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = { -+ .startup = vc4_hdmi_audio_startup, -+ .shutdown = vc4_hdmi_audio_shutdown, -+ .hw_params = vc4_hdmi_audio_hw_params, -+ .set_fmt = vc4_hdmi_audio_set_fmt, -+ .trigger = vc4_hdmi_audio_trigger, -+}; -+ -+static struct snd_soc_dai_driver vc4_hdmi_audio_codec_dai_drv = { -+ .name = "vc4-hdmi-hifi", -+ .playback = { -+ .stream_name = "Playback", -+ .channels_min = 2, -+ .channels_max = 8, -+ .rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | -+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | -+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | -+ SNDRV_PCM_RATE_192000, -+ .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE, -+ }, -+}; -+ -+static const struct snd_soc_component_driver vc4_hdmi_audio_cpu_dai_comp = { -+ .name = "vc4-hdmi-cpu-dai-component", -+}; -+ -+static int vc4_hdmi_audio_cpu_dai_probe(struct snd_soc_dai *dai) -+{ -+ struct vc4_hdmi *hdmi = dai_to_hdmi(dai); -+ -+ snd_soc_dai_init_dma_data(dai, &hdmi->audio.dma_data, NULL); -+ -+ return 0; -+} -+ -+static struct snd_soc_dai_driver vc4_hdmi_audio_cpu_dai_drv = { -+ .name = "vc4-hdmi-cpu-dai", -+ .probe = vc4_hdmi_audio_cpu_dai_probe, -+ .playback = { -+ .stream_name = "Playback", -+ .channels_min = 1, -+ .channels_max = 8, -+ .rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | -+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | -+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | -+ SNDRV_PCM_RATE_192000, -+ .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE, -+ }, -+ .ops = &vc4_hdmi_audio_dai_ops, -+}; -+ -+static const struct snd_dmaengine_pcm_config pcm_conf = { -+ .chan_names[SNDRV_PCM_STREAM_PLAYBACK] = "audio-rx", -+ .prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config, -+}; -+ -+static int vc4_hdmi_audio_init(struct vc4_hdmi *hdmi) -+{ -+ struct snd_soc_dai_link *dai_link = &hdmi->audio.link; -+ struct snd_soc_card *card = &hdmi->audio.card; -+ struct device *dev = &hdmi->pdev->dev; -+ const __be32 *addr; -+ int ret; -+ -+ if (!of_find_property(dev->of_node, "dmas", NULL)) { -+ dev_warn(dev, -+ "'dmas' DT property is missing, no HDMI audio\n"); -+ return 0; -+ } -+ -+ /* -+ * Get the physical address of VC4_HD_MAI_DATA. We need to retrieve -+ * the bus address specified in the DT, because the physical address -+ * (the one returned by platform_get_resource()) is not appropriate -+ * for DMA transfers. -+ * This VC/MMU should probably be exposed to avoid this kind of hacks. -+ */ -+ addr = of_get_address(dev->of_node, 1, NULL, NULL); -+ hdmi->audio.dma_data.addr = be32_to_cpup(addr) + VC4_HD_MAI_DATA; -+ hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ hdmi->audio.dma_data.maxburst = 2; -+ -+ ret = devm_snd_dmaengine_pcm_register(dev, &pcm_conf, 0); -+ if (ret) { -+ dev_err(dev, "Could not register PCM component: %d\n", ret); -+ return ret; -+ } -+ -+ ret = devm_snd_soc_register_component(dev, &vc4_hdmi_audio_cpu_dai_comp, -+ &vc4_hdmi_audio_cpu_dai_drv, 1); -+ if (ret) { -+ dev_err(dev, "Could not register CPU DAI: %d\n", ret); -+ return ret; -+ } -+ -+ /* register codec and codec dai */ -+ ret = snd_soc_register_codec(dev, &vc4_hdmi_audio_codec_drv, -+ &vc4_hdmi_audio_codec_dai_drv, 1); -+ if (ret) { -+ dev_err(dev, "Could not register codec: %d\n", ret); -+ return ret; -+ } -+ -+ dai_link->name = "MAI"; -+ dai_link->stream_name = "MAI PCM"; -+ dai_link->codec_dai_name = vc4_hdmi_audio_codec_dai_drv.name; -+ dai_link->cpu_dai_name = dev_name(dev); -+ dai_link->codec_name = dev_name(dev); -+ dai_link->platform_name = dev_name(dev); -+ -+ card->dai_link = dai_link; -+ card->num_links = 1; -+ card->name = "vc4-hdmi"; -+ card->dev = dev; -+ -+ /* -+ * Be careful, snd_soc_register_card() calls dev_set_drvdata() and -+ * stores a pointer to the snd card object in dev->driver_data. This -+ * means we cannot use it for something else. The hdmi back-pointer is -+ * now stored in card->drvdata and should be retrieved with -+ * snd_soc_card_get_drvdata() if needed. -+ */ -+ snd_soc_card_set_drvdata(card, hdmi); -+ ret = devm_snd_soc_register_card(dev, card); -+ if (ret) { -+ dev_err(dev, "Could not register sound card: %d\n", ret); -+ goto unregister_codec; -+ } -+ -+ return 0; -+ -+unregister_codec: -+ snd_soc_unregister_codec(dev); -+ -+ return ret; -+} -+ -+static void vc4_hdmi_audio_cleanup(struct vc4_hdmi *hdmi) -+{ -+ struct device *dev = &hdmi->pdev->dev; -+ -+ /* -+ * If drvdata is not set this means the audio card was not -+ * registered, just skip codec unregistration in this case. -+ */ -+ if (dev_get_drvdata(dev)) -+ snd_soc_unregister_codec(dev); -+} -+ - static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) - { - struct platform_device *pdev = to_platform_device(dev); -@@ -720,6 +1206,10 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) - goto err_destroy_encoder; - } - -+ ret = vc4_hdmi_audio_init(hdmi); -+ if (ret) -+ goto err_destroy_encoder; -+ - return 0; - - err_destroy_encoder: -@@ -741,6 +1231,8 @@ static void vc4_hdmi_unbind(struct device *dev, struct device *master, - struct vc4_dev *vc4 = drm->dev_private; - struct vc4_hdmi *hdmi = vc4->hdmi; - -+ vc4_hdmi_audio_cleanup(hdmi); -+ - vc4_hdmi_connector_destroy(hdmi->connector); - vc4_hdmi_encoder_destroy(hdmi->encoder); - -diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h -index 385405a2df05..932093936178 100644 ---- a/drivers/gpu/drm/vc4/vc4_regs.h -+++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -446,11 +446,62 @@ - #define VC4_HDMI_HOTPLUG 0x00c - # define VC4_HDMI_HOTPLUG_CONNECTED BIT(0) - -+/* 3 bits per field, where each field maps from that corresponding MAI -+ * bus channel to the given HDMI channel. -+ */ -+#define VC4_HDMI_MAI_CHANNEL_MAP 0x090 -+ -+#define VC4_HDMI_MAI_CONFIG 0x094 -+# define VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE BIT(27) -+# define VC4_HDMI_MAI_CONFIG_BIT_REVERSE BIT(26) -+# define VC4_HDMI_MAI_CHANNEL_MASK_MASK VC4_MASK(15, 0) -+# define VC4_HDMI_MAI_CHANNEL_MASK_SHIFT 0 -+ -+/* Last received format word on the MAI bus. */ -+#define VC4_HDMI_MAI_FORMAT 0x098 -+ -+#define VC4_HDMI_AUDIO_PACKET_CONFIG 0x09c -+# define VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_SAMPLE_FLAT BIT(29) -+# define VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_INACTIVE_CHANNELS BIT(24) -+# define VC4_HDMI_AUDIO_PACKET_FORCE_SAMPLE_PRESENT BIT(19) -+# define VC4_HDMI_AUDIO_PACKET_FORCE_B_FRAME BIT(18) -+# define VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER_MASK VC4_MASK(13, 10) -+# define VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER_SHIFT 10 -+/* If set, then multichannel, otherwise 2 channel. */ -+# define VC4_HDMI_AUDIO_PACKET_AUDIO_LAYOUT BIT(9) -+/* If set, then AUDIO_LAYOUT overrides audio_cea_mask */ -+# define VC4_HDMI_AUDIO_PACKET_FORCE_AUDIO_LAYOUT BIT(8) -+# define VC4_HDMI_AUDIO_PACKET_CEA_MASK_MASK VC4_MASK(7, 0) -+# define VC4_HDMI_AUDIO_PACKET_CEA_MASK_SHIFT 0 -+ - #define VC4_HDMI_RAM_PACKET_CONFIG 0x0a0 - # define VC4_HDMI_RAM_PACKET_ENABLE BIT(16) - - #define VC4_HDMI_RAM_PACKET_STATUS 0x0a4 - -+#define VC4_HDMI_CRP_CFG 0x0a8 -+/* When set, the CTS_PERIOD counts based on MAI bus sync pulse instead -+ * of pixel clock. -+ */ -+# define VC4_HDMI_CRP_USE_MAI_BUS_SYNC_FOR_CTS BIT(26) -+/* When set, no CRP packets will be sent. */ -+# define VC4_HDMI_CRP_CFG_DISABLE BIT(25) -+/* If set, generates CTS values based on N, audio clock, and video -+ * clock. N must be divisible by 128. -+ */ -+# define VC4_HDMI_CRP_CFG_EXTERNAL_CTS_EN BIT(24) -+# define VC4_HDMI_CRP_CFG_N_MASK VC4_MASK(19, 0) -+# define VC4_HDMI_CRP_CFG_N_SHIFT 0 -+ -+/* 20-bit fields containing CTS values to be transmitted if !EXTERNAL_CTS_EN */ -+#define VC4_HDMI_CTS_0 0x0ac -+#define VC4_HDMI_CTS_1 0x0b0 -+/* 20-bit fields containing number of clocks to send CTS0/1 before -+ * switching to the other one. -+ */ -+#define VC4_HDMI_CTS_PERIOD_0 0x0b4 -+#define VC4_HDMI_CTS_PERIOD_1 0x0b8 -+ - #define VC4_HDMI_HORZA 0x0c4 - # define VC4_HDMI_HORZA_VPOS BIT(14) - # define VC4_HDMI_HORZA_HPOS BIT(13) -@@ -512,7 +563,11 @@ - - #define VC4_HDMI_TX_PHY_RESET_CTL 0x2c0 - --#define VC4_HDMI_GCP_0 0x400 -+#define VC4_HDMI_TX_PHY_CTL0 0x2c4 -+# define VC4_HDMI_TX_PHY_RNG_PWRDN BIT(25) -+ -+#define VC4_HDMI_GCP(x) (0x400 + ((x) * 0x4)) -+#define VC4_HDMI_RAM_PACKET(x) (0x400 + ((x) * 0x24)) - #define VC4_HDMI_PACKET_STRIDE 0x24 - - #define VC4_HD_M_CTL 0x00c -@@ -522,6 +577,56 @@ - # define VC4_HD_M_ENABLE BIT(0) - - #define VC4_HD_MAI_CTL 0x014 -+/* Set when audio stream is received at a slower rate than the -+ * sampling period, so MAI fifo goes empty. Write 1 to clear. -+ */ -+# define VC4_HD_MAI_CTL_DLATE BIT(15) -+# define VC4_HD_MAI_CTL_BUSY BIT(14) -+# define VC4_HD_MAI_CTL_CHALIGN BIT(13) -+# define VC4_HD_MAI_CTL_WHOLSMP BIT(12) -+# define VC4_HD_MAI_CTL_FULL BIT(11) -+# define VC4_HD_MAI_CTL_EMPTY BIT(10) -+# define VC4_HD_MAI_CTL_FLUSH BIT(9) -+/* If set, MAI bus generates SPDIF (bit 31) parity instead of passing -+ * through. -+ */ -+# define VC4_HD_MAI_CTL_PAREN BIT(8) -+# define VC4_HD_MAI_CTL_CHNUM_MASK VC4_MASK(7, 4) -+# define VC4_HD_MAI_CTL_CHNUM_SHIFT 4 -+# define VC4_HD_MAI_CTL_ENABLE BIT(3) -+/* Underflow error status bit, write 1 to clear. */ -+# define VC4_HD_MAI_CTL_ERRORE BIT(2) -+/* Overflow error status bit, write 1 to clear. */ -+# define VC4_HD_MAI_CTL_ERRORF BIT(1) -+/* Single-shot reset bit. Read value is undefined. */ -+# define VC4_HD_MAI_CTL_RESET BIT(0) -+ -+#define VC4_HD_MAI_THR 0x018 -+# define VC4_HD_MAI_THR_PANICHIGH_MASK VC4_MASK(29, 24) -+# define VC4_HD_MAI_THR_PANICHIGH_SHIFT 24 -+# define VC4_HD_MAI_THR_PANICLOW_MASK VC4_MASK(21, 16) -+# define VC4_HD_MAI_THR_PANICLOW_SHIFT 16 -+# define VC4_HD_MAI_THR_DREQHIGH_MASK VC4_MASK(13, 8) -+# define VC4_HD_MAI_THR_DREQHIGH_SHIFT 8 -+# define VC4_HD_MAI_THR_DREQLOW_MASK VC4_MASK(5, 0) -+# define VC4_HD_MAI_THR_DREQLOW_SHIFT 0 -+ -+/* Format header to be placed on the MAI data. Unused. */ -+#define VC4_HD_MAI_FMT 0x01c -+ -+/* Register for DMAing in audio data to be transported over the MAI -+ * bus to the Falcon core. -+ */ -+#define VC4_HD_MAI_DATA 0x020 -+ -+/* Divider from HDMI HSM clock to MAI serial clock. Sampling period -+ * converges to N / (M + 1) cycles. -+ */ -+#define VC4_HD_MAI_SMP 0x02c -+# define VC4_HD_MAI_SMP_N_MASK VC4_MASK(31, 8) -+# define VC4_HD_MAI_SMP_N_SHIFT 8 -+# define VC4_HD_MAI_SMP_M_MASK VC4_MASK(7, 0) -+# define VC4_HD_MAI_SMP_M_SHIFT 0 - - #define VC4_HD_VID_CTL 0x038 - # define VC4_HD_VID_CTL_ENABLE BIT(31) --- -2.12.0 - -From 25ea82d7f7c869ff81ff8e64d24c5c4a896239fe Mon Sep 17 00:00:00 2001 -From: Boris Brezillon -Date: Mon, 27 Feb 2017 12:28:03 -0800 -Subject: [PATCH 3/3] ARM: dts: bcm283x: Add HDMI audio related properties - -Add the dmas and dma-names properties to support HDMI audio. - -Signed-off-by: Boris Brezillon -Signed-off-by: Eric Anholt ---- - arch/arm/boot/dts/bcm283x.dtsi | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index a3106aa446c6..a31b0b303ddc 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -499,6 +499,8 @@ - clocks = <&clocks BCM2835_PLLH_PIX>, - <&clocks BCM2835_CLOCK_HSM>; - clock-names = "pixel", "hdmi"; -+ dmas = <&dma 17>; -+ dma-names = "audio-rx"; - status = "disabled"; - }; - --- -2.12.0 - diff --git a/bcm283x-mmc-bcm2835.patch b/bcm283x-mmc-bcm2835.patch deleted file mode 100644 index d9591b438..000000000 --- a/bcm283x-mmc-bcm2835.patch +++ /dev/null @@ -1,1932 +0,0 @@ -From patchwork Wed Mar 8 09:19:01 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,1/7] dt-bindings: Add binding for brcm,bcm2835-sdhost. -From: Gerd Hoffmann -X-Patchwork-Id: 9610673 -Message-Id: <1488964751-22763-2-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann , - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:01 +0100 - -From: Eric Anholt - -This is the other SD controller on the platform, which can be swapped -to the role of SD card host using pin muxing. - -Signed-off-by: Eric Anholt -Signed-off-by: Gerd Hoffmann -Acked-by: Rob Herring ---- - .../bindings/mmc/brcm,bcm2835-sdhost.txt | 23 ++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - create mode 100644 Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt - -diff --git a/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt -new file mode 100644 -index 0000000..d876580 ---- /dev/null -+++ b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt -@@ -0,0 +1,23 @@ -+Broadcom BCM2835 SDHOST controller -+ -+This file documents differences between the core properties described -+by mmc.txt and the properties that represent the BCM2835 controller. -+ -+Required properties: -+- compatible: Should be "brcm,bcm2835-sdhost". -+- clocks: The clock feeding the SDHOST controller. -+ -+Optional properties: -+- dmas: DMA channel for read and write. -+ See Documentation/devicetree/bindings/dma/dma.txt for details -+ -+Example: -+ -+sdhost: mmc@7e202000 { -+ compatible = "brcm,bcm2835-sdhost"; -+ reg = <0x7e202000 0x100>; -+ interrupts = <2 24>; -+ clocks = <&clocks BCM2835_CLOCK_VPU>; -+ dmas = <&dma 13>; -+ dma-names = "rx-tx"; -+}; -From patchwork Wed Mar 8 09:19:03 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,2/7] mmc: bcm2835: Add new driver for the sdhost controller. -From: Gerd Hoffmann -X-Patchwork-Id: 9610701 -Message-Id: <1488964751-22763-4-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann , - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:03 +0100 - -From: Eric Anholt - -The 2835 has two SD controllers: The Arasan sdhci controller (supported -by the iproc driver) and a custom sdhost controller. This patch adds a -driver for the latter. - -The sdhci controller supports both sdcard and sdio. The sdhost -controller supports the sdcard only, but has better performance. Also -note that the rpi3 has sdio wifi, so driving the sdcard with the sdhost -controller allows to use the sdhci controller for wifi support. - -The configuration is done by devicetree via pin muxing. Both SD -controller are available on the same pins (2 pin groups = pin 22 to 27 + -pin 48 to 53). So it's possible to use both SD controllers at the same -time with different pin groups. - -The code was originally written by Phil Elwell in the downstream -Rasbperry Pi tree. In preparation for the upstream merge it was -cleaned up and the code base was moderized by Eric Anholt, Stefan -Wahren and Gerd Hoffmann. - -Signed-off-by: Eric Anholt -Signed-off-by: Stefan Wahren -Signed-off-by: Gerd Hoffmann ---- - drivers/mmc/host/Kconfig | 14 + - drivers/mmc/host/Makefile | 1 + - drivers/mmc/host/bcm2835.c | 1465 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 1480 insertions(+) - create mode 100644 drivers/mmc/host/bcm2835.c - -diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index f08691a..a638cd0 100644 ---- a/drivers/mmc/host/Kconfig -+++ b/drivers/mmc/host/Kconfig -@@ -799,6 +799,20 @@ config MMC_TOSHIBA_PCI - depends on PCI - help - -+config MMC_BCM2835 -+ tristate "Broadcom BCM2835 SDHOST MMC Controller support" -+ depends on ARCH_BCM2835 || COMPILE_TEST -+ depends on HAS_DMA -+ help -+ This selects the BCM2835 SDHOST MMC controller. If you have -+ a BCM2835 platform with SD or MMC devices, say Y or M here. -+ -+ Note that the BCM2835 has two SD controllers: The Arasan -+ sdhci controller (supported by MMC_SDHCI_IPROC) and a custom -+ sdhost controller (supported by this driver). -+ -+ If unsure, say N. -+ - config MMC_MTK - tristate "MediaTek SD/MMC Card Interface support" - depends on HAS_DMA -diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 6d548c4..bc2c2e2 100644 ---- a/drivers/mmc/host/Makefile -+++ b/drivers/mmc/host/Makefile -@@ -59,6 +59,7 @@ obj-$(CONFIG_MMC_MOXART) += moxart-mmc.o - obj-$(CONFIG_MMC_SUNXI) += sunxi-mmc.o - obj-$(CONFIG_MMC_USDHI6ROL0) += usdhi6rol0.o - obj-$(CONFIG_MMC_TOSHIBA_PCI) += toshsd.o -+obj-$(CONFIG_MMC_BCM2835) += bcm2835.o - - obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o - obj-$(CONFIG_MMC_REALTEK_USB) += rtsx_usb_sdmmc.o -diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c -new file mode 100644 -index 0000000..7d1b0db7 ---- /dev/null -+++ b/drivers/mmc/host/bcm2835.c -@@ -0,0 +1,1465 @@ -+/* -+ * bcm2835 sdhost driver. -+ * -+ * The 2835 has two SD controllers: The Arasan sdhci controller -+ * (supported by the iproc driver) and a custom sdhost controller -+ * (supported by this driver). -+ * -+ * The sdhci controller supports both sdcard and sdio. The sdhost -+ * controller supports the sdcard only, but has better performance. -+ * Also note that the rpi3 has sdio wifi, so driving the sdcard with -+ * the sdhost controller allows to use the sdhci controller for wifi -+ * support. -+ * -+ * The configuration is done by devicetree via pin muxing. Both -+ * SD controller are available on the same pins (2 pin groups = pin 22 -+ * to 27 + pin 48 to 53). So it's possible to use both SD controllers -+ * at the same time with different pin groups. -+ * -+ * Author: Phil Elwell -+ * Copyright (C) 2015-2016 Raspberry Pi (Trading) Ltd. -+ * -+ * Based on -+ * mmc-bcm2835.c by Gellert Weisz -+ * which is, in turn, based on -+ * sdhci-bcm2708.c by Broadcom -+ * sdhci-bcm2835.c by Stephen Warren and Oleksandr Tymoshenko -+ * sdhci.c and sdhci-pci.c by Pierre Ossman -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms and conditions of the GNU General Public License, -+ * version 2, as published by the Free Software Foundation. -+ * -+ * This program is distributed in the hope it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -+ * more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ */ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+#define SDCMD 0x00 /* Command to SD card - 16 R/W */ -+#define SDARG 0x04 /* Argument to SD card - 32 R/W */ -+#define SDTOUT 0x08 /* Start value for timeout counter - 32 R/W */ -+#define SDCDIV 0x0c /* Start value for clock divider - 11 R/W */ -+#define SDRSP0 0x10 /* SD card response (31:0) - 32 R */ -+#define SDRSP1 0x14 /* SD card response (63:32) - 32 R */ -+#define SDRSP2 0x18 /* SD card response (95:64) - 32 R */ -+#define SDRSP3 0x1c /* SD card response (127:96) - 32 R */ -+#define SDHSTS 0x20 /* SD host status - 11 R/W */ -+#define SDVDD 0x30 /* SD card power control - 1 R/W */ -+#define SDEDM 0x34 /* Emergency Debug Mode - 13 R/W */ -+#define SDHCFG 0x38 /* Host configuration - 2 R/W */ -+#define SDHBCT 0x3c /* Host byte count (debug) - 32 R/W */ -+#define SDDATA 0x40 /* Data to/from SD card - 32 R/W */ -+#define SDHBLC 0x50 /* Host block count (SDIO/SDHC) - 9 R/W */ -+ -+#define SDCMD_NEW_FLAG 0x8000 -+#define SDCMD_FAIL_FLAG 0x4000 -+#define SDCMD_BUSYWAIT 0x800 -+#define SDCMD_NO_RESPONSE 0x400 -+#define SDCMD_LONG_RESPONSE 0x200 -+#define SDCMD_WRITE_CMD 0x80 -+#define SDCMD_READ_CMD 0x40 -+#define SDCMD_CMD_MASK 0x3f -+ -+#define SDCDIV_MAX_CDIV 0x7ff -+ -+#define SDHSTS_BUSY_IRPT 0x400 -+#define SDHSTS_BLOCK_IRPT 0x200 -+#define SDHSTS_SDIO_IRPT 0x100 -+#define SDHSTS_REW_TIME_OUT 0x80 -+#define SDHSTS_CMD_TIME_OUT 0x40 -+#define SDHSTS_CRC16_ERROR 0x20 -+#define SDHSTS_CRC7_ERROR 0x10 -+#define SDHSTS_FIFO_ERROR 0x08 -+/* Reserved */ -+/* Reserved */ -+#define SDHSTS_DATA_FLAG 0x01 -+ -+#define SDHSTS_TRANSFER_ERROR_MASK (SDHSTS_CRC7_ERROR | \ -+ SDHSTS_CRC16_ERROR | \ -+ SDHSTS_REW_TIME_OUT | \ -+ SDHSTS_FIFO_ERROR) -+ -+#define SDHSTS_ERROR_MASK (SDHSTS_CMD_TIME_OUT | \ -+ SDHSTS_TRANSFER_ERROR_MASK) -+ -+#define SDHCFG_BUSY_IRPT_EN BIT(10) -+#define SDHCFG_BLOCK_IRPT_EN BIT(8) -+#define SDHCFG_SDIO_IRPT_EN BIT(5) -+#define SDHCFG_DATA_IRPT_EN BIT(4) -+#define SDHCFG_SLOW_CARD BIT(3) -+#define SDHCFG_WIDE_EXT_BUS BIT(2) -+#define SDHCFG_WIDE_INT_BUS BIT(1) -+#define SDHCFG_REL_CMD_LINE BIT(0) -+ -+#define SDVDD_POWER_OFF 0 -+#define SDVDD_POWER_ON 1 -+ -+#define SDEDM_FORCE_DATA_MODE BIT(19) -+#define SDEDM_CLOCK_PULSE BIT(20) -+#define SDEDM_BYPASS BIT(21) -+ -+#define SDEDM_WRITE_THRESHOLD_SHIFT 9 -+#define SDEDM_READ_THRESHOLD_SHIFT 14 -+#define SDEDM_THRESHOLD_MASK 0x1f -+ -+#define SDEDM_FSM_MASK 0xf -+#define SDEDM_FSM_IDENTMODE 0x0 -+#define SDEDM_FSM_DATAMODE 0x1 -+#define SDEDM_FSM_READDATA 0x2 -+#define SDEDM_FSM_WRITEDATA 0x3 -+#define SDEDM_FSM_READWAIT 0x4 -+#define SDEDM_FSM_READCRC 0x5 -+#define SDEDM_FSM_WRITECRC 0x6 -+#define SDEDM_FSM_WRITEWAIT1 0x7 -+#define SDEDM_FSM_POWERDOWN 0x8 -+#define SDEDM_FSM_POWERUP 0x9 -+#define SDEDM_FSM_WRITESTART1 0xa -+#define SDEDM_FSM_WRITESTART2 0xb -+#define SDEDM_FSM_GENPULSES 0xc -+#define SDEDM_FSM_WRITEWAIT2 0xd -+#define SDEDM_FSM_STARTPOWDOWN 0xf -+ -+#define SDDATA_FIFO_WORDS 16 -+ -+#define FIFO_READ_THRESHOLD 4 -+#define FIFO_WRITE_THRESHOLD 4 -+#define SDDATA_FIFO_PIO_BURST 8 -+ -+#define PIO_THRESHOLD 1 /* Maximum block count for PIO (0 = always DMA) */ -+ -+struct bcm2835_host { -+ spinlock_t lock; -+ struct mutex mutex; -+ -+ void __iomem *ioaddr; -+ u32 phys_addr; -+ -+ struct mmc_host *mmc; -+ struct platform_device *pdev; -+ -+ int clock; /* Current clock speed */ -+ unsigned int max_clk; /* Max possible freq */ -+ struct work_struct dma_work; -+ struct delayed_work timeout_work; /* Timer for timeouts */ -+ struct sg_mapping_iter sg_miter; /* SG state for PIO */ -+ unsigned int blocks; /* remaining PIO blocks */ -+ int irq; /* Device IRQ */ -+ -+ u32 ns_per_fifo_word; -+ -+ /* cached registers */ -+ u32 hcfg; -+ u32 cdiv; -+ -+ struct mmc_request *mrq; /* Current request */ -+ struct mmc_command *cmd; /* Current command */ -+ struct mmc_data *data; /* Current data request */ -+ bool data_complete:1;/* Data finished before cmd */ -+ bool use_busy:1; /* Wait for busy interrupt */ -+ bool use_sbc:1; /* Send CMD23 */ -+ -+ /* for threaded irq handler */ -+ bool irq_block; -+ bool irq_busy; -+ bool irq_data; -+ -+ /* DMA part */ -+ struct dma_chan *dma_chan_rxtx; -+ struct dma_chan *dma_chan; -+ struct dma_slave_config dma_cfg_rx; -+ struct dma_slave_config dma_cfg_tx; -+ struct dma_async_tx_descriptor *dma_desc; -+ u32 dma_dir; -+ u32 drain_words; -+ struct page *drain_page; -+ u32 drain_offset; -+ bool use_dma; -+}; -+ -+static void bcm2835_dumpcmd(struct bcm2835_host *host, struct mmc_command *cmd, -+ const char *label) -+{ -+ struct device *dev = &host->pdev->dev; -+ -+ if (!cmd) -+ return; -+ -+ dev_dbg(dev, "%c%s op %d arg 0x%x flags 0x%x - resp %08x %08x %08x %08x, err %d\n", -+ (cmd == host->cmd) ? '>' : ' ', -+ label, cmd->opcode, cmd->arg, cmd->flags, -+ cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3], -+ cmd->error); -+} -+ -+static void bcm2835_dumpregs(struct bcm2835_host *host) -+{ -+ struct mmc_request *mrq = host->mrq; -+ struct device *dev = &host->pdev->dev; -+ -+ if (mrq) { -+ bcm2835_dumpcmd(host, mrq->sbc, "sbc"); -+ bcm2835_dumpcmd(host, mrq->cmd, "cmd"); -+ if (mrq->data) { -+ dev_dbg(dev, "data blocks %x blksz %x - err %d\n", -+ mrq->data->blocks, -+ mrq->data->blksz, -+ mrq->data->error); -+ } -+ bcm2835_dumpcmd(host, mrq->stop, "stop"); -+ } -+ -+ dev_dbg(dev, "=========== REGISTER DUMP ===========\n"); -+ dev_dbg(dev, "SDCMD 0x%08x\n", readl(host->ioaddr + SDCMD)); -+ dev_dbg(dev, "SDARG 0x%08x\n", readl(host->ioaddr + SDARG)); -+ dev_dbg(dev, "SDTOUT 0x%08x\n", readl(host->ioaddr + SDTOUT)); -+ dev_dbg(dev, "SDCDIV 0x%08x\n", readl(host->ioaddr + SDCDIV)); -+ dev_dbg(dev, "SDRSP0 0x%08x\n", readl(host->ioaddr + SDRSP0)); -+ dev_dbg(dev, "SDRSP1 0x%08x\n", readl(host->ioaddr + SDRSP1)); -+ dev_dbg(dev, "SDRSP2 0x%08x\n", readl(host->ioaddr + SDRSP2)); -+ dev_dbg(dev, "SDRSP3 0x%08x\n", readl(host->ioaddr + SDRSP3)); -+ dev_dbg(dev, "SDHSTS 0x%08x\n", readl(host->ioaddr + SDHSTS)); -+ dev_dbg(dev, "SDVDD 0x%08x\n", readl(host->ioaddr + SDVDD)); -+ dev_dbg(dev, "SDEDM 0x%08x\n", readl(host->ioaddr + SDEDM)); -+ dev_dbg(dev, "SDHCFG 0x%08x\n", readl(host->ioaddr + SDHCFG)); -+ dev_dbg(dev, "SDHBCT 0x%08x\n", readl(host->ioaddr + SDHBCT)); -+ dev_dbg(dev, "SDHBLC 0x%08x\n", readl(host->ioaddr + SDHBLC)); -+ dev_dbg(dev, "===========================================\n"); -+} -+ -+static void bcm2835_reset_internal(struct bcm2835_host *host) -+{ -+ u32 temp; -+ -+ writel(SDVDD_POWER_OFF, host->ioaddr + SDVDD); -+ writel(0, host->ioaddr + SDCMD); -+ writel(0, host->ioaddr + SDARG); -+ writel(0xf00000, host->ioaddr + SDTOUT); -+ writel(0, host->ioaddr + SDCDIV); -+ writel(0x7f8, host->ioaddr + SDHSTS); /* Write 1s to clear */ -+ writel(0, host->ioaddr + SDHCFG); -+ writel(0, host->ioaddr + SDHBCT); -+ writel(0, host->ioaddr + SDHBLC); -+ -+ /* Limit fifo usage due to silicon bug */ -+ temp = readl(host->ioaddr + SDEDM); -+ temp &= ~((SDEDM_THRESHOLD_MASK << SDEDM_READ_THRESHOLD_SHIFT) | -+ (SDEDM_THRESHOLD_MASK << SDEDM_WRITE_THRESHOLD_SHIFT)); -+ temp |= (FIFO_READ_THRESHOLD << SDEDM_READ_THRESHOLD_SHIFT) | -+ (FIFO_WRITE_THRESHOLD << SDEDM_WRITE_THRESHOLD_SHIFT); -+ writel(temp, host->ioaddr + SDEDM); -+ msleep(20); -+ writel(SDVDD_POWER_ON, host->ioaddr + SDVDD); -+ msleep(20); -+ host->clock = 0; -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ writel(host->cdiv, host->ioaddr + SDCDIV); -+} -+ -+static void bcm2835_reset(struct mmc_host *mmc) -+{ -+ struct bcm2835_host *host = mmc_priv(mmc); -+ -+ if (host->dma_chan) -+ dmaengine_terminate_sync(host->dma_chan); -+ bcm2835_reset_internal(host); -+} -+ -+static void bcm2835_finish_command(struct bcm2835_host *host); -+ -+static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) -+{ -+ int timediff; -+ u32 alternate_idle; -+ -+ alternate_idle = (host->mrq->data->flags & MMC_DATA_READ) ? -+ SDEDM_FSM_READWAIT : SDEDM_FSM_WRITESTART1; -+ -+ timediff = 0; -+ -+ while (1) { -+ u32 edm, fsm; -+ -+ edm = readl(host->ioaddr + SDEDM); -+ fsm = edm & SDEDM_FSM_MASK; -+ -+ if ((fsm == SDEDM_FSM_IDENTMODE) || -+ (fsm == SDEDM_FSM_DATAMODE)) -+ break; -+ if (fsm == alternate_idle) { -+ writel(edm | SDEDM_FORCE_DATA_MODE, -+ host->ioaddr + SDEDM); -+ break; -+ } -+ -+ timediff++; -+ if (timediff == 100000) { -+ dev_err(&host->pdev->dev, -+ "wait_transfer_complete - still waiting after %d retries\n", -+ timediff); -+ bcm2835_dumpregs(host); -+ host->mrq->data->error = -ETIMEDOUT; -+ return; -+ } -+ cpu_relax(); -+ } -+} -+ -+static void bcm2835_dma_complete(void *param) -+{ -+ struct bcm2835_host *host = param; -+ -+ schedule_work(&host->dma_work); -+} -+ -+static void bcm2835_transfer_block_pio(struct bcm2835_host *host, bool is_read) -+{ -+ unsigned long flags; -+ size_t blksize; -+ unsigned long wait_max; -+ -+ blksize = host->data->blksz; -+ -+ wait_max = jiffies + msecs_to_jiffies(500); -+ -+ local_irq_save(flags); -+ -+ while (blksize) { -+ int copy_words; -+ u32 hsts = 0; -+ size_t len; -+ u32 *buf; -+ -+ if (!sg_miter_next(&host->sg_miter)) { -+ host->data->error = -EINVAL; -+ break; -+ } -+ -+ len = min(host->sg_miter.length, blksize); -+ if (len % 4) { -+ host->data->error = -EINVAL; -+ break; -+ } -+ -+ blksize -= len; -+ host->sg_miter.consumed = len; -+ -+ buf = (u32 *)host->sg_miter.addr; -+ -+ copy_words = len / 4; -+ -+ while (copy_words) { -+ int burst_words, words; -+ u32 edm; -+ -+ burst_words = min(SDDATA_FIFO_PIO_BURST, copy_words); -+ edm = readl(host->ioaddr + SDEDM); -+ if (is_read) -+ words = ((edm >> 4) & 0x1f); -+ else -+ words = SDDATA_FIFO_WORDS - ((edm >> 4) & 0x1f); -+ -+ if (words < burst_words) { -+ int fsm_state = (edm & SDEDM_FSM_MASK); -+ struct device *dev = &host->pdev->dev; -+ -+ if ((is_read && -+ (fsm_state != SDEDM_FSM_READDATA && -+ fsm_state != SDEDM_FSM_READWAIT && -+ fsm_state != SDEDM_FSM_READCRC)) || -+ (!is_read && -+ (fsm_state != SDEDM_FSM_WRITEDATA && -+ fsm_state != SDEDM_FSM_WRITESTART1 && -+ fsm_state != SDEDM_FSM_WRITESTART2))) { -+ hsts = readl(host->ioaddr + SDHSTS); -+ dev_err(dev, "fsm %x, hsts %08x\n", -+ fsm_state, hsts); -+ if (hsts & SDHSTS_ERROR_MASK) -+ break; -+ } -+ -+ if (time_after(jiffies, wait_max)) { -+ dev_err(dev, "PIO %s timeout - EDM %08x\n", -+ is_read ? "read" : "write", -+ edm); -+ hsts = SDHSTS_REW_TIME_OUT; -+ break; -+ } -+ ndelay((burst_words - words) * -+ host->ns_per_fifo_word); -+ continue; -+ } else if (words > copy_words) { -+ words = copy_words; -+ } -+ -+ copy_words -= words; -+ -+ while (words) { -+ if (is_read) -+ *(buf++) = readl(host->ioaddr + SDDATA); -+ else -+ writel(*(buf++), host->ioaddr + SDDATA); -+ words--; -+ } -+ } -+ -+ if (hsts & SDHSTS_ERROR_MASK) -+ break; -+ } -+ -+ sg_miter_stop(&host->sg_miter); -+ -+ local_irq_restore(flags); -+} -+ -+static void bcm2835_transfer_pio(struct bcm2835_host *host) -+{ -+ struct device *dev = &host->pdev->dev; -+ u32 sdhsts; -+ bool is_read; -+ -+ is_read = (host->data->flags & MMC_DATA_READ) != 0; -+ bcm2835_transfer_block_pio(host, is_read); -+ -+ sdhsts = readl(host->ioaddr + SDHSTS); -+ if (sdhsts & (SDHSTS_CRC16_ERROR | -+ SDHSTS_CRC7_ERROR | -+ SDHSTS_FIFO_ERROR)) { -+ dev_err(dev, "%s transfer error - HSTS %08x\n", -+ is_read ? "read" : "write", sdhsts); -+ host->data->error = -EILSEQ; -+ } else if ((sdhsts & (SDHSTS_CMD_TIME_OUT | -+ SDHSTS_REW_TIME_OUT))) { -+ dev_err(dev, "%s timeout error - HSTS %08x\n", -+ is_read ? "read" : "write", sdhsts); -+ host->data->error = -ETIMEDOUT; -+ } -+} -+ -+static -+void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data) -+{ -+ int len, dir_data, dir_slave; -+ struct dma_async_tx_descriptor *desc = NULL; -+ struct dma_chan *dma_chan; -+ -+ dma_chan = host->dma_chan_rxtx; -+ if (data->flags & MMC_DATA_READ) { -+ dir_data = DMA_FROM_DEVICE; -+ dir_slave = DMA_DEV_TO_MEM; -+ } else { -+ dir_data = DMA_TO_DEVICE; -+ dir_slave = DMA_MEM_TO_DEV; -+ } -+ -+ /* The block doesn't manage the FIFO DREQs properly for -+ * multi-block transfers, so don't attempt to DMA the final -+ * few words. Unfortunately this requires the final sg entry -+ * to be trimmed. N.B. This code demands that the overspill -+ * is contained in a single sg entry. -+ */ -+ -+ host->drain_words = 0; -+ if ((data->blocks > 1) && (dir_data == DMA_FROM_DEVICE)) { -+ struct scatterlist *sg; -+ u32 len; -+ int i; -+ -+ len = min((u32)(FIFO_READ_THRESHOLD - 1) * 4, -+ (u32)data->blocks * data->blksz); -+ -+ for_each_sg(data->sg, sg, data->sg_len, i) { -+ if (sg_is_last(sg)) { -+ WARN_ON(sg->length < len); -+ sg->length -= len; -+ host->drain_page = sg_page(sg); -+ host->drain_offset = sg->offset + sg->length; -+ } -+ } -+ host->drain_words = len / 4; -+ } -+ -+ /* The parameters have already been validated, so this will not fail */ -+ (void)dmaengine_slave_config(dma_chan, -+ (dir_data == DMA_FROM_DEVICE) ? -+ &host->dma_cfg_rx : -+ &host->dma_cfg_tx); -+ -+ len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len, -+ dir_data); -+ -+ if (len > 0) { -+ desc = dmaengine_prep_slave_sg(dma_chan, data->sg, -+ len, dir_slave, -+ DMA_PREP_INTERRUPT | -+ DMA_CTRL_ACK); -+ } -+ -+ if (desc) { -+ desc->callback = bcm2835_dma_complete; -+ desc->callback_param = host; -+ host->dma_desc = desc; -+ host->dma_chan = dma_chan; -+ host->dma_dir = dir_data; -+ } -+} -+ -+static void bcm2835_start_dma(struct bcm2835_host *host) -+{ -+ dmaengine_submit(host->dma_desc); -+ dma_async_issue_pending(host->dma_chan); -+} -+ -+static void bcm2835_set_transfer_irqs(struct bcm2835_host *host) -+{ -+ u32 all_irqs = SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN | -+ SDHCFG_BUSY_IRPT_EN; -+ -+ if (host->dma_desc) { -+ host->hcfg = (host->hcfg & ~all_irqs) | -+ SDHCFG_BUSY_IRPT_EN; -+ } else { -+ host->hcfg = (host->hcfg & ~all_irqs) | -+ SDHCFG_DATA_IRPT_EN | -+ SDHCFG_BUSY_IRPT_EN; -+ } -+ -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+} -+ -+static -+void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_command *cmd) -+{ -+ struct mmc_data *data = cmd->data; -+ -+ WARN_ON(host->data); -+ -+ host->data = data; -+ if (!data) -+ return; -+ -+ host->data_complete = false; -+ host->data->bytes_xfered = 0; -+ -+ if (!host->dma_desc) { -+ /* Use PIO */ -+ int flags = SG_MITER_ATOMIC; -+ -+ if (data->flags & MMC_DATA_READ) -+ flags |= SG_MITER_TO_SG; -+ else -+ flags |= SG_MITER_FROM_SG; -+ sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags); -+ host->blocks = data->blocks; -+ } -+ -+ bcm2835_set_transfer_irqs(host); -+ -+ writel(data->blksz, host->ioaddr + SDHBCT); -+ writel(data->blocks, host->ioaddr + SDHBLC); -+} -+ -+static u32 bcm2835_read_wait_sdcmd(struct bcm2835_host *host, u32 max_ms) -+{ -+ struct device *dev = &host->pdev->dev; -+ u32 value; -+ int ret; -+ -+ ret = readl_poll_timeout(host->ioaddr + SDCMD, value, -+ !(value & SDCMD_NEW_FLAG), 1, 10); -+ if (ret == -ETIMEDOUT) -+ /* if it takes a while make poll interval bigger */ -+ ret = readl_poll_timeout(host->ioaddr + SDCMD, value, -+ !(value & SDCMD_NEW_FLAG), -+ 10, max_ms * 1000); -+ if (ret == -ETIMEDOUT) -+ dev_err(dev, "%s: timeout (%d ms)\n", __func__, max_ms); -+ -+ return value; -+} -+ -+static void bcm2835_finish_request(struct bcm2835_host *host) -+{ -+ struct dma_chan *terminate_chan = NULL; -+ struct mmc_request *mrq; -+ -+ cancel_delayed_work(&host->timeout_work); -+ -+ mrq = host->mrq; -+ -+ host->mrq = NULL; -+ host->cmd = NULL; -+ host->data = NULL; -+ -+ host->dma_desc = NULL; -+ terminate_chan = host->dma_chan; -+ host->dma_chan = NULL; -+ -+ if (terminate_chan) { -+ int err = dmaengine_terminate_all(terminate_chan); -+ -+ if (err) -+ dev_err(&host->pdev->dev, -+ "failed to terminate DMA (%d)\n", err); -+ } -+ -+ mmc_request_done(host->mmc, mrq); -+} -+ -+static -+bool bcm2835_send_command(struct bcm2835_host *host, struct mmc_command *cmd) -+{ -+ struct device *dev = &host->pdev->dev; -+ u32 sdcmd, sdhsts; -+ unsigned long timeout; -+ -+ WARN_ON(host->cmd); -+ -+ sdcmd = bcm2835_read_wait_sdcmd(host, 100); -+ if (sdcmd & SDCMD_NEW_FLAG) { -+ dev_err(dev, "previous command never completed.\n"); -+ bcm2835_dumpregs(host); -+ cmd->error = -EILSEQ; -+ bcm2835_finish_request(host); -+ return false; -+ } -+ -+ if (!cmd->data && cmd->busy_timeout > 9000) -+ timeout = DIV_ROUND_UP(cmd->busy_timeout, 1000) * HZ + HZ; -+ else -+ timeout = 10 * HZ; -+ schedule_delayed_work(&host->timeout_work, timeout); -+ -+ host->cmd = cmd; -+ -+ /* Clear any error flags */ -+ sdhsts = readl(host->ioaddr + SDHSTS); -+ if (sdhsts & SDHSTS_ERROR_MASK) -+ writel(sdhsts, host->ioaddr + SDHSTS); -+ -+ if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) { -+ dev_err(dev, "unsupported response type!\n"); -+ cmd->error = -EINVAL; -+ bcm2835_finish_request(host); -+ return false; -+ } -+ -+ bcm2835_prepare_data(host, cmd); -+ -+ writel(cmd->arg, host->ioaddr + SDARG); -+ -+ sdcmd = cmd->opcode & SDCMD_CMD_MASK; -+ -+ host->use_busy = false; -+ if (!(cmd->flags & MMC_RSP_PRESENT)) { -+ sdcmd |= SDCMD_NO_RESPONSE; -+ } else { -+ if (cmd->flags & MMC_RSP_136) -+ sdcmd |= SDCMD_LONG_RESPONSE; -+ if (cmd->flags & MMC_RSP_BUSY) { -+ sdcmd |= SDCMD_BUSYWAIT; -+ host->use_busy = true; -+ } -+ } -+ -+ if (cmd->data) { -+ if (cmd->data->flags & MMC_DATA_WRITE) -+ sdcmd |= SDCMD_WRITE_CMD; -+ if (cmd->data->flags & MMC_DATA_READ) -+ sdcmd |= SDCMD_READ_CMD; -+ } -+ -+ writel(sdcmd | SDCMD_NEW_FLAG, host->ioaddr + SDCMD); -+ -+ return true; -+} -+ -+static void bcm2835_transfer_complete(struct bcm2835_host *host) -+{ -+ struct mmc_data *data; -+ -+ WARN_ON(!host->data_complete); -+ -+ data = host->data; -+ host->data = NULL; -+ -+ /* Need to send CMD12 if - -+ * a) open-ended multiblock transfer (no CMD23) -+ * b) error in multiblock transfer -+ */ -+ if (host->mrq->stop && (data->error || !host->use_sbc)) { -+ if (bcm2835_send_command(host, host->mrq->stop)) { -+ /* No busy, so poll for completion */ -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ } else { -+ bcm2835_wait_transfer_complete(host); -+ bcm2835_finish_request(host); -+ } -+} -+ -+static void bcm2835_finish_data(struct bcm2835_host *host) -+{ -+ struct device *dev = &host->pdev->dev; -+ struct mmc_data *data; -+ -+ data = host->data; -+ -+ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ -+ data->bytes_xfered = data->error ? 0 : (data->blksz * data->blocks); -+ -+ host->data_complete = true; -+ -+ if (host->cmd) { -+ /* Data managed to finish before the -+ * command completed. Make sure we do -+ * things in the proper order. -+ */ -+ dev_dbg(dev, "Finished early - HSTS %08x\n", -+ readl(host->ioaddr + SDHSTS)); -+ } else { -+ bcm2835_transfer_complete(host); -+ } -+} -+ -+static void bcm2835_finish_command(struct bcm2835_host *host) -+{ -+ struct device *dev = &host->pdev->dev; -+ struct mmc_command *cmd = host->cmd; -+ u32 sdcmd; -+ -+ sdcmd = bcm2835_read_wait_sdcmd(host, 100); -+ -+ /* Check for errors */ -+ if (sdcmd & SDCMD_NEW_FLAG) { -+ dev_err(dev, "command never completed.\n"); -+ bcm2835_dumpregs(host); -+ host->cmd->error = -EIO; -+ bcm2835_finish_request(host); -+ return; -+ } else if (sdcmd & SDCMD_FAIL_FLAG) { -+ u32 sdhsts = readl(host->ioaddr + SDHSTS); -+ -+ /* Clear the errors */ -+ writel(SDHSTS_ERROR_MASK, host->ioaddr + SDHSTS); -+ -+ if (!(sdhsts & SDHSTS_CRC7_ERROR) || -+ (host->cmd->opcode != MMC_SEND_OP_COND)) { -+ if (sdhsts & SDHSTS_CMD_TIME_OUT) { -+ host->cmd->error = -ETIMEDOUT; -+ } else { -+ dev_err(dev, "unexpected command %d error\n", -+ host->cmd->opcode); -+ bcm2835_dumpregs(host); -+ host->cmd->error = -EILSEQ; -+ } -+ bcm2835_finish_request(host); -+ return; -+ } -+ } -+ -+ if (cmd->flags & MMC_RSP_PRESENT) { -+ if (cmd->flags & MMC_RSP_136) { -+ int i; -+ -+ for (i = 0; i < 4; i++) { -+ cmd->resp[3 - i] = -+ readl(host->ioaddr + SDRSP0 + i * 4); -+ } -+ } else { -+ cmd->resp[0] = readl(host->ioaddr + SDRSP0); -+ } -+ } -+ -+ if (cmd == host->mrq->sbc) { -+ /* Finished CMD23, now send actual command. */ -+ host->cmd = NULL; -+ if (bcm2835_send_command(host, host->mrq->cmd)) { -+ if (host->data && host->dma_desc) -+ /* DMA transfer starts now, PIO starts -+ * after irq -+ */ -+ bcm2835_start_dma(host); -+ -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ } else if (cmd == host->mrq->stop) { -+ /* Finished CMD12 */ -+ bcm2835_finish_request(host); -+ } else { -+ /* Processed actual command. */ -+ host->cmd = NULL; -+ if (!host->data) -+ bcm2835_finish_request(host); -+ else if (host->data_complete) -+ bcm2835_transfer_complete(host); -+ } -+} -+ -+static void bcm2835_timeout(struct work_struct *work) -+{ -+ struct delayed_work *d = to_delayed_work(work); -+ struct bcm2835_host *host = -+ container_of(d, struct bcm2835_host, timeout_work); -+ struct device *dev = &host->pdev->dev; -+ -+ mutex_lock(&host->mutex); -+ -+ if (host->mrq) { -+ dev_err(dev, "timeout waiting for hardware interrupt.\n"); -+ bcm2835_dumpregs(host); -+ -+ if (host->data) { -+ host->data->error = -ETIMEDOUT; -+ bcm2835_finish_data(host); -+ } else { -+ if (host->cmd) -+ host->cmd->error = -ETIMEDOUT; -+ else -+ host->mrq->cmd->error = -ETIMEDOUT; -+ -+ bcm2835_finish_request(host); -+ } -+ } -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static bool bcm2835_check_cmd_error(struct bcm2835_host *host, u32 intmask) -+{ -+ struct device *dev = &host->pdev->dev; -+ -+ if (!(intmask & SDHSTS_ERROR_MASK)) -+ return false; -+ -+ if (!host->cmd) -+ return true; -+ -+ dev_err(dev, "sdhost_busy_irq: intmask %08x\n", intmask); -+ if (intmask & SDHSTS_CRC7_ERROR) { -+ host->cmd->error = -EILSEQ; -+ } else if (intmask & (SDHSTS_CRC16_ERROR | -+ SDHSTS_FIFO_ERROR)) { -+ if (host->mrq->data) -+ host->mrq->data->error = -EILSEQ; -+ else -+ host->cmd->error = -EILSEQ; -+ } else if (intmask & SDHSTS_REW_TIME_OUT) { -+ if (host->mrq->data) -+ host->mrq->data->error = -ETIMEDOUT; -+ else -+ host->cmd->error = -ETIMEDOUT; -+ } else if (intmask & SDHSTS_CMD_TIME_OUT) { -+ host->cmd->error = -ETIMEDOUT; -+ } -+ bcm2835_dumpregs(host); -+ return true; -+} -+ -+static void bcm2835_check_data_error(struct bcm2835_host *host, u32 intmask) -+{ -+ if (!host->data) -+ return; -+ if (intmask & (SDHSTS_CRC16_ERROR | SDHSTS_FIFO_ERROR)) -+ host->data->error = -EILSEQ; -+ if (intmask & SDHSTS_REW_TIME_OUT) -+ host->data->error = -ETIMEDOUT; -+} -+ -+static void bcm2835_busy_irq(struct bcm2835_host *host) -+{ -+ if (WARN_ON(!host->cmd)) { -+ bcm2835_dumpregs(host); -+ return; -+ } -+ -+ if (WARN_ON(!host->use_busy)) { -+ bcm2835_dumpregs(host); -+ return; -+ } -+ host->use_busy = false; -+ -+ bcm2835_finish_command(host); -+} -+ -+static void bcm2835_data_irq(struct bcm2835_host *host, u32 intmask) -+{ -+ /* There are no dedicated data/space available interrupt -+ * status bits, so it is necessary to use the single shared -+ * data/space available FIFO status bits. It is therefore not -+ * an error to get here when there is no data transfer in -+ * progress. -+ */ -+ if (!host->data) -+ return; -+ -+ bcm2835_check_data_error(host, intmask); -+ if (host->data->error) -+ goto finished; -+ -+ if (host->data->flags & MMC_DATA_WRITE) { -+ /* Use the block interrupt for writes after the first block */ -+ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN); -+ host->hcfg |= SDHCFG_BLOCK_IRPT_EN; -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ bcm2835_transfer_pio(host); -+ } else { -+ bcm2835_transfer_pio(host); -+ host->blocks--; -+ if ((host->blocks == 0) || host->data->error) -+ goto finished; -+ } -+ return; -+ -+finished: -+ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+} -+ -+static void bcm2835_data_threaded_irq(struct bcm2835_host *host) -+{ -+ if (!host->data) -+ return; -+ if ((host->blocks == 0) || host->data->error) -+ bcm2835_finish_data(host); -+} -+ -+static void bcm2835_block_irq(struct bcm2835_host *host) -+{ -+ if (WARN_ON(!host->data)) { -+ bcm2835_dumpregs(host); -+ return; -+ } -+ -+ if (!host->dma_desc) { -+ WARN_ON(!host->blocks); -+ if (host->data->error || (--host->blocks == 0)) -+ bcm2835_finish_data(host); -+ else -+ bcm2835_transfer_pio(host); -+ } else if (host->data->flags & MMC_DATA_WRITE) { -+ bcm2835_finish_data(host); -+ } -+} -+ -+static irqreturn_t bcm2835_irq(int irq, void *dev_id) -+{ -+ irqreturn_t result = IRQ_NONE; -+ struct bcm2835_host *host = dev_id; -+ u32 intmask; -+ -+ spin_lock(&host->lock); -+ -+ intmask = readl(host->ioaddr + SDHSTS); -+ -+ writel(SDHSTS_BUSY_IRPT | -+ SDHSTS_BLOCK_IRPT | -+ SDHSTS_SDIO_IRPT | -+ SDHSTS_DATA_FLAG, -+ host->ioaddr + SDHSTS); -+ -+ if (intmask & SDHSTS_BLOCK_IRPT) { -+ bcm2835_check_data_error(host, intmask); -+ host->irq_block = true; -+ result = IRQ_WAKE_THREAD; -+ } -+ -+ if (intmask & SDHSTS_BUSY_IRPT) { -+ if (!bcm2835_check_cmd_error(host, intmask)) { -+ host->irq_busy = true; -+ result = IRQ_WAKE_THREAD; -+ } else { -+ result = IRQ_HANDLED; -+ } -+ } -+ -+ /* There is no true data interrupt status bit, so it is -+ * necessary to qualify the data flag with the interrupt -+ * enable bit. -+ */ -+ if ((intmask & SDHSTS_DATA_FLAG) && -+ (host->hcfg & SDHCFG_DATA_IRPT_EN)) { -+ bcm2835_data_irq(host, intmask); -+ host->irq_data = true; -+ result = IRQ_WAKE_THREAD; -+ } -+ -+ spin_unlock(&host->lock); -+ -+ return result; -+} -+ -+static irqreturn_t bcm2835_threaded_irq(int irq, void *dev_id) -+{ -+ struct bcm2835_host *host = dev_id; -+ unsigned long flags; -+ bool block, busy, data; -+ -+ spin_lock_irqsave(&host->lock, flags); -+ -+ block = host->irq_block; -+ busy = host->irq_busy; -+ data = host->irq_data; -+ host->irq_block = false; -+ host->irq_busy = false; -+ host->irq_data = false; -+ -+ spin_unlock_irqrestore(&host->lock, flags); -+ -+ mutex_lock(&host->mutex); -+ -+ if (block) -+ bcm2835_block_irq(host); -+ if (busy) -+ bcm2835_busy_irq(host); -+ if (data) -+ bcm2835_data_threaded_irq(host); -+ -+ mutex_unlock(&host->mutex); -+ -+ return IRQ_HANDLED; -+} -+ -+static void bcm2835_dma_complete_work(struct work_struct *work) -+{ -+ struct bcm2835_host *host = -+ container_of(work, struct bcm2835_host, dma_work); -+ struct mmc_data *data = host->data; -+ -+ mutex_lock(&host->mutex); -+ -+ if (host->dma_chan) { -+ dma_unmap_sg(host->dma_chan->device->dev, -+ data->sg, data->sg_len, -+ host->dma_dir); -+ -+ host->dma_chan = NULL; -+ } -+ -+ if (host->drain_words) { -+ unsigned long flags; -+ void *page; -+ u32 *buf; -+ -+ if (host->drain_offset & PAGE_MASK) { -+ host->drain_page += host->drain_offset >> PAGE_SHIFT; -+ host->drain_offset &= ~PAGE_MASK; -+ } -+ local_irq_save(flags); -+ page = kmap_atomic(host->drain_page); -+ buf = page + host->drain_offset; -+ -+ while (host->drain_words) { -+ u32 edm = readl(host->ioaddr + SDEDM); -+ -+ if ((edm >> 4) & 0x1f) -+ *(buf++) = readl(host->ioaddr + SDDATA); -+ host->drain_words--; -+ } -+ -+ kunmap_atomic(page); -+ local_irq_restore(flags); -+ } -+ -+ bcm2835_finish_data(host); -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock) -+{ -+ int div; -+ -+ /* The SDCDIV register has 11 bits, and holds (div - 2). But -+ * in data mode the max is 50MHz wihout a minimum, and only -+ * the bottom 3 bits are used. Since the switch over is -+ * automatic (unless we have marked the card as slow...), -+ * chosen values have to make sense in both modes. Ident mode -+ * must be 100-400KHz, so can range check the requested -+ * clock. CMD15 must be used to return to data mode, so this -+ * can be monitored. -+ * -+ * clock 250MHz -> 0->125MHz, 1->83.3MHz, 2->62.5MHz, 3->50.0MHz -+ * 4->41.7MHz, 5->35.7MHz, 6->31.3MHz, 7->27.8MHz -+ * -+ * 623->400KHz/27.8MHz -+ * reset value (507)->491159/50MHz -+ * -+ * BUT, the 3-bit clock divisor in data mode is too small if -+ * the core clock is higher than 250MHz, so instead use the -+ * SLOW_CARD configuration bit to force the use of the ident -+ * clock divisor at all times. -+ */ -+ -+ if (clock < 100000) { -+ /* Can't stop the clock, but make it as slow as possible -+ * to show willing -+ */ -+ host->cdiv = SDCDIV_MAX_CDIV; -+ writel(host->cdiv, host->ioaddr + SDCDIV); -+ return; -+ } -+ -+ div = host->max_clk / clock; -+ if (div < 2) -+ div = 2; -+ if ((host->max_clk / div) > clock) -+ div++; -+ div -= 2; -+ -+ if (div > SDCDIV_MAX_CDIV) -+ div = SDCDIV_MAX_CDIV; -+ -+ clock = host->max_clk / (div + 2); -+ host->mmc->actual_clock = clock; -+ -+ /* Calibrate some delays */ -+ -+ host->ns_per_fifo_word = (1000000000 / clock) * -+ ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32); -+ -+ host->cdiv = div; -+ writel(host->cdiv, host->ioaddr + SDCDIV); -+ -+ /* Set the timeout to 500ms */ -+ writel(host->mmc->actual_clock / 2, host->ioaddr + SDTOUT); -+} -+ -+static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) -+{ -+ struct bcm2835_host *host = mmc_priv(mmc); -+ struct device *dev = &host->pdev->dev; -+ u32 edm, fsm; -+ -+ /* Reset the error statuses in case this is a retry */ -+ if (mrq->sbc) -+ mrq->sbc->error = 0; -+ if (mrq->cmd) -+ mrq->cmd->error = 0; -+ if (mrq->data) -+ mrq->data->error = 0; -+ if (mrq->stop) -+ mrq->stop->error = 0; -+ -+ if (mrq->data && !is_power_of_2(mrq->data->blksz)) { -+ dev_err(dev, "unsupported block size (%d bytes)\n", -+ mrq->data->blksz); -+ mrq->cmd->error = -EINVAL; -+ mmc_request_done(mmc, mrq); -+ return; -+ } -+ -+ if (host->use_dma && mrq->data && (mrq->data->blocks > PIO_THRESHOLD)) -+ bcm2835_prepare_dma(host, mrq->data); -+ -+ mutex_lock(&host->mutex); -+ -+ WARN_ON(host->mrq); -+ host->mrq = mrq; -+ -+ edm = readl(host->ioaddr + SDEDM); -+ fsm = edm & SDEDM_FSM_MASK; -+ -+ if ((fsm != SDEDM_FSM_IDENTMODE) && -+ (fsm != SDEDM_FSM_DATAMODE)) { -+ dev_err(dev, "previous command (%d) not complete (EDM %08x)\n", -+ readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK, -+ edm); -+ bcm2835_dumpregs(host); -+ mrq->cmd->error = -EILSEQ; -+ bcm2835_finish_request(host); -+ mutex_unlock(&host->mutex); -+ return; -+ } -+ -+ host->use_sbc = !!mrq->sbc && (host->mrq->data->flags & MMC_DATA_READ); -+ if (host->use_sbc) { -+ if (bcm2835_send_command(host, mrq->sbc)) { -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ } else if (bcm2835_send_command(host, mrq->cmd)) { -+ if (host->data && host->dma_desc) { -+ /* DMA transfer starts now, PIO starts after irq */ -+ bcm2835_start_dma(host); -+ } -+ -+ if (!host->use_busy) -+ bcm2835_finish_command(host); -+ } -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static void bcm2835_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) -+{ -+ struct bcm2835_host *host = mmc_priv(mmc); -+ -+ mutex_lock(&host->mutex); -+ -+ if (!ios->clock || ios->clock != host->clock) { -+ bcm2835_set_clock(host, ios->clock); -+ host->clock = ios->clock; -+ } -+ -+ /* set bus width */ -+ host->hcfg &= ~SDHCFG_WIDE_EXT_BUS; -+ if (ios->bus_width == MMC_BUS_WIDTH_4) -+ host->hcfg |= SDHCFG_WIDE_EXT_BUS; -+ -+ host->hcfg |= SDHCFG_WIDE_INT_BUS; -+ -+ /* Disable clever clock switching, to cope with fast core clocks */ -+ host->hcfg |= SDHCFG_SLOW_CARD; -+ -+ writel(host->hcfg, host->ioaddr + SDHCFG); -+ -+ mutex_unlock(&host->mutex); -+} -+ -+static struct mmc_host_ops bcm2835_ops = { -+ .request = bcm2835_request, -+ .set_ios = bcm2835_set_ios, -+ .hw_reset = bcm2835_reset, -+}; -+ -+static int bcm2835_add_host(struct bcm2835_host *host) -+{ -+ struct mmc_host *mmc = host->mmc; -+ struct device *dev = &host->pdev->dev; -+ char pio_limit_string[20]; -+ int ret; -+ -+ mmc->f_max = host->max_clk; -+ mmc->f_min = host->max_clk / SDCDIV_MAX_CDIV; -+ -+ mmc->max_busy_timeout = ~0 / (mmc->f_max / 1000); -+ -+ dev_dbg(dev, "f_max %d, f_min %d, max_busy_timeout %d\n", -+ mmc->f_max, mmc->f_min, mmc->max_busy_timeout); -+ -+ /* host controller capabilities */ -+ mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED | -+ MMC_CAP_NEEDS_POLL | MMC_CAP_HW_RESET | MMC_CAP_ERASE | -+ MMC_CAP_CMD23; -+ -+ spin_lock_init(&host->lock); -+ mutex_init(&host->mutex); -+ -+ if (IS_ERR_OR_NULL(host->dma_chan_rxtx)) { -+ dev_warn(dev, "unable to initialise DMA channel. Falling back to PIO\n"); -+ host->use_dma = false; -+ } else { -+ host->use_dma = true; -+ -+ host->dma_cfg_tx.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_tx.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_tx.slave_id = 13; /* DREQ channel */ -+ host->dma_cfg_tx.direction = DMA_MEM_TO_DEV; -+ host->dma_cfg_tx.src_addr = 0; -+ host->dma_cfg_tx.dst_addr = host->phys_addr + SDDATA; -+ -+ host->dma_cfg_rx.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_rx.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; -+ host->dma_cfg_rx.slave_id = 13; /* DREQ channel */ -+ host->dma_cfg_rx.direction = DMA_DEV_TO_MEM; -+ host->dma_cfg_rx.src_addr = host->phys_addr + SDDATA; -+ host->dma_cfg_rx.dst_addr = 0; -+ -+ if (dmaengine_slave_config(host->dma_chan_rxtx, -+ &host->dma_cfg_tx) != 0 || -+ dmaengine_slave_config(host->dma_chan_rxtx, -+ &host->dma_cfg_rx) != 0) -+ host->use_dma = false; -+ } -+ -+ mmc->max_segs = 128; -+ mmc->max_req_size = 524288; -+ mmc->max_seg_size = mmc->max_req_size; -+ mmc->max_blk_size = 1024; -+ mmc->max_blk_count = 65535; -+ -+ /* report supported voltage ranges */ -+ mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; -+ -+ INIT_WORK(&host->dma_work, bcm2835_dma_complete_work); -+ INIT_DELAYED_WORK(&host->timeout_work, bcm2835_timeout); -+ -+ /* Set interrupt enables */ -+ host->hcfg = SDHCFG_BUSY_IRPT_EN; -+ -+ bcm2835_reset_internal(host); -+ -+ ret = request_threaded_irq(host->irq, bcm2835_irq, -+ bcm2835_threaded_irq, -+ 0, mmc_hostname(mmc), host); -+ if (ret) { -+ dev_err(dev, "failed to request IRQ %d: %d\n", host->irq, ret); -+ return ret; -+ } -+ -+ ret = mmc_add_host(mmc); -+ if (ret) { -+ free_irq(host->irq, host); -+ return ret; -+ } -+ -+ pio_limit_string[0] = '\0'; -+ if (host->use_dma && (PIO_THRESHOLD > 0)) -+ sprintf(pio_limit_string, " (>%d)", PIO_THRESHOLD); -+ dev_info(dev, "loaded - DMA %s%s\n", -+ host->use_dma ? "enabled" : "disabled", pio_limit_string); -+ -+ return 0; -+} -+ -+static int bcm2835_probe(struct platform_device *pdev) -+{ -+ struct device *dev = &pdev->dev; -+ struct clk *clk; -+ struct resource *iomem; -+ struct bcm2835_host *host; -+ struct mmc_host *mmc; -+ const __be32 *regaddr_p; -+ int ret; -+ -+ dev_dbg(dev, "%s\n", __func__); -+ mmc = mmc_alloc_host(sizeof(*host), dev); -+ if (!mmc) -+ return -ENOMEM; -+ -+ mmc->ops = &bcm2835_ops; -+ host = mmc_priv(mmc); -+ host->mmc = mmc; -+ host->pdev = pdev; -+ spin_lock_init(&host->lock); -+ -+ iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ host->ioaddr = devm_ioremap_resource(dev, iomem); -+ if (IS_ERR(host->ioaddr)) { -+ ret = PTR_ERR(host->ioaddr); -+ goto err; -+ } -+ -+ /* Parse OF address directly to get the physical address for -+ * DMA to our registers. -+ */ -+ regaddr_p = of_get_address(pdev->dev.of_node, 0, NULL, NULL); -+ if (!regaddr_p) { -+ dev_err(dev, "Can't get phys address\n"); -+ ret = -EINVAL; -+ goto err; -+ } -+ -+ host->phys_addr = be32_to_cpup(regaddr_p); -+ -+ host->dma_chan = NULL; -+ host->dma_desc = NULL; -+ -+ host->dma_chan_rxtx = dma_request_slave_channel(dev, "rx-tx"); -+ -+ clk = devm_clk_get(dev, NULL); -+ if (IS_ERR(clk)) { -+ ret = PTR_ERR(clk); -+ if (ret != -EPROBE_DEFER) -+ dev_err(dev, "could not get clk: %d\n", ret); -+ goto err; -+ } -+ -+ host->max_clk = clk_get_rate(clk); -+ -+ host->irq = platform_get_irq(pdev, 0); -+ if (host->irq <= 0) { -+ dev_err(dev, "get IRQ failed\n"); -+ ret = -EINVAL; -+ goto err; -+ } -+ -+ ret = mmc_of_parse(mmc); -+ if (ret) -+ goto err; -+ -+ ret = bcm2835_add_host(host); -+ if (ret) -+ goto err; -+ -+ platform_set_drvdata(pdev, host); -+ -+ dev_dbg(dev, "%s -> OK\n", __func__); -+ -+ return 0; -+ -+err: -+ dev_dbg(dev, "%s -> err %d\n", __func__, ret); -+ mmc_free_host(mmc); -+ -+ return ret; -+} -+ -+static int bcm2835_remove(struct platform_device *pdev) -+{ -+ struct bcm2835_host *host = platform_get_drvdata(pdev); -+ -+ mmc_remove_host(host->mmc); -+ -+ writel(SDVDD_POWER_OFF, host->ioaddr + SDVDD); -+ -+ free_irq(host->irq, host); -+ -+ cancel_work_sync(&host->dma_work); -+ cancel_delayed_work_sync(&host->timeout_work); -+ -+ mmc_free_host(host->mmc); -+ platform_set_drvdata(pdev, NULL); -+ -+ return 0; -+} -+ -+static const struct of_device_id bcm2835_match[] = { -+ { .compatible = "brcm,bcm2835-sdhost" }, -+ { } -+}; -+MODULE_DEVICE_TABLE(of, bcm2835_match); -+ -+static struct platform_driver bcm2835_driver = { -+ .probe = bcm2835_probe, -+ .remove = bcm2835_remove, -+ .driver = { -+ .name = "sdhost-bcm2835", -+ .of_match_table = bcm2835_match, -+ }, -+}; -+module_platform_driver(bcm2835_driver); -+ -+MODULE_ALIAS("platform:sdhost-bcm2835"); -+MODULE_DESCRIPTION("BCM2835 SDHost driver"); -+MODULE_LICENSE("GPL v2"); -+MODULE_AUTHOR("Phil Elwell"); -From patchwork Wed Mar 8 09:19:05 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,3/7] mmc: bcm2835: add sdhost controller to devicetree -From: Gerd Hoffmann -X-Patchwork-Id: 9610693 -Message-Id: <1488964751-22763-6-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann , - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:05 +0100 - -Signed-off-by: Gerd Hoffmann -Acked-by: Eric Anholt -Acked-by: Stefan Wahren ---- - arch/arm/boot/dts/bcm2835-rpi.dtsi | 6 ++++++ - arch/arm/boot/dts/bcm283x.dtsi | 10 ++++++++++ - 2 files changed, 16 insertions(+) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 1e00a28..8b95832 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -69,6 +69,12 @@ - bus-width = <4>; - }; - -+&sdhost { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdhost_gpio48>; -+ bus-width = <4>; -+}; -+ - &pwm { - pinctrl-names = "default"; - pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 9798bc9..19099a5 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -350,6 +350,16 @@ - arm,primecell-periphid = <0x00241011>; - }; - -+ sdhost: mmc@7e202000 { -+ compatible = "brcm,bcm2835-sdhost"; -+ reg = <0x7e202000 0x100>; -+ interrupts = <2 24>; -+ clocks = <&clocks BCM2835_CLOCK_VPU>; -+ dmas = <&dma 13>; -+ dma-names = "rx-tx"; -+ status = "disabled"; -+ }; -+ - i2s: i2s@7e203000 { - compatible = "brcm,bcm2835-i2s"; - reg = <0x7e203000 0x20>, -From patchwork Wed Mar 8 09:19:07 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4, 4/7] arm: set CONFIG_MMC_BCM2835=y in bcm2835_defconfig and - multi_v7_defconfig -From: Gerd Hoffmann -X-Patchwork-Id: 9610689 -Message-Id: <1488964751-22763-8-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann , - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:07 +0100 - -We need to enable this controller so that we can switch the SD card's -pinmux over to it by default, which will improve storage performance. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann ---- - arch/arm/configs/bcm2835_defconfig | 1 + - arch/arm/configs/multi_v7_defconfig | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig -index 4b89f4e..3767c24 100644 ---- a/arch/arm/configs/bcm2835_defconfig -+++ b/arch/arm/configs/bcm2835_defconfig -@@ -92,6 +92,7 @@ CONFIG_MMC=y - CONFIG_MMC_SDHCI=y - CONFIG_MMC_SDHCI_PLTFM=y - CONFIG_MMC_SDHCI_IPROC=y -+CONFIG_MMC_BCM2835=y - CONFIG_NEW_LEDS=y - CONFIG_LEDS_CLASS=y - CONFIG_LEDS_GPIO=y -diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig -index a94126f..63b94d0 100644 ---- a/arch/arm/configs/multi_v7_defconfig -+++ b/arch/arm/configs/multi_v7_defconfig -@@ -730,6 +730,7 @@ CONFIG_MMC_DW_EXYNOS=y - CONFIG_MMC_DW_ROCKCHIP=y - CONFIG_MMC_SH_MMCIF=y - CONFIG_MMC_SUNXI=y -+CONFIG_MMC_BCM2835=y - CONFIG_NEW_LEDS=y - CONFIG_LEDS_CLASS=y - CONFIG_LEDS_CLASS_FLASH=m -From patchwork Wed Mar 8 09:19:09 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,5/7] arm64: set CONFIG_MMC_BCM2835=y in defconfig -From: Gerd Hoffmann -X-Patchwork-Id: 9610647 -Message-Id: <1488964751-22763-10-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann , - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:09 +0100 - -We need to enable this controller so that we can switch the SD card's -pinmux over to it by default, which will improve storage performance. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann ---- - arch/arm64/configs/defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 7c48028..519a55c 100644 ---- a/arch/arm64/configs/defconfig -+++ b/arch/arm64/configs/defconfig -@@ -398,6 +398,7 @@ CONFIG_MMC_DW_EXYNOS=y - CONFIG_MMC_DW_K3=y - CONFIG_MMC_DW_ROCKCHIP=y - CONFIG_MMC_SUNXI=y -+CONFIG_MMC_BCM2835=y - CONFIG_NEW_LEDS=y - CONFIG_LEDS_CLASS=y - CONFIG_LEDS_GPIO=y -From patchwork Wed Mar 8 09:19:10 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,6/7] arm: dts: bcm283x: switch from &sdhci to &sdhost -From: Gerd Hoffmann -X-Patchwork-Id: 9610687 -Message-Id: <1488964751-22763-11-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann , - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:10 +0100 - -sdcard access with the sdhost controller is faster. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann -Acked-by: Eric Anholt ---- - arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 8b95832..e36c392 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -65,13 +65,13 @@ - &sdhci { - pinctrl-names = "default"; - pinctrl-0 = <&emmc_gpio48>; -- status = "okay"; - bus-width = <4>; - }; - - &sdhost { - pinctrl-names = "default"; - pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; - bus-width = <4>; - }; - -From patchwork Wed Mar 8 09:19:11 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,7/7] arm64: dts: bcm2837: add &sdhci and &sdhost -From: Gerd Hoffmann -X-Patchwork-Id: 9610637 -Message-Id: <1488964751-22763-12-git-send-email-kraxel@redhat.com> -To: linux-rpi-kernel@lists.infradead.org -Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org, - f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org, - rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com, - linux@armlinux.org.uk, - linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org, - bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann , - catalin.marinas@arm.com, linux-mmc@vger.kernel.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 8 Mar 2017 10:19:11 +0100 - -For the raspberry pi 3 we'll need both sdhci (handles sdio wifi) and -sdhost (handles sdcard). - -Signed-off-by: Gerd Hoffmann -Acked-by: Eric Anholt ---- - arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -index c309633..972f14d 100644 ---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -@@ -22,3 +22,20 @@ - &uart1 { - status = "okay"; - }; -+ -+/* SDHCI is used to control the SDIO for wireless */ -+&sdhci { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emmc_gpio34>; -+ status = "okay"; -+ bus-width = <4>; -+ non-removable; -+}; -+ -+/* SDHOST is used to drive the SD card */ -+&sdhost { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; -+ bus-width = <4>; -+}; -From patchwork Sat Mar 25 13:17:00 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: mmc: bcm2835: Fix possible NULL ptr dereference in bcm2835_request -From: Stefan Wahren -X-Patchwork-Id: 9644591 -Message-Id: <1490447820-751-1-git-send-email-stefan.wahren@i2se.com> -To: Ulf Hansson , Eric Anholt , - Gerd Hoffmann -Cc: Jaehoon Chung , - Dan Carpenter , - linux-rpi-kernel@lists.infradead.org, linux-mmc@vger.kernel.org, - Stefan Wahren -Date: Sat, 25 Mar 2017 13:17:00 +0000 - -This fixes a NULL pointer dereference in case of a MMC request with a -set block count command and no data. - -Reported-by: Dan Carpenter -Signed-off-by: Stefan Wahren ---- - drivers/mmc/host/bcm2835.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c -index 7d1b0db..1f343a4 100644 ---- a/drivers/mmc/host/bcm2835.c -+++ b/drivers/mmc/host/bcm2835.c -@@ -1200,7 +1200,8 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - return; - } - -- host->use_sbc = !!mrq->sbc && (host->mrq->data->flags & MMC_DATA_READ); -+ host->use_sbc = !!mrq->sbc && host->mrq->data && -+ (host->mrq->data->flags & MMC_DATA_READ); - if (host->use_sbc) { - if (bcm2835_send_command(host, mrq->sbc)) { - if (!host->use_busy) diff --git a/build_configs.sh b/build_configs.sh index 55fb89d01..140511f19 100755 --- a/build_configs.sh +++ b/build_configs.sh @@ -46,8 +46,6 @@ function merge_configs() echo "# powerpc" > $name elif [ "x$arch" == "xppc64le" ]; then echo "# powerpc" > $name - elif [ "x$arch" == "xppc64p7" ]; then - echo "# powerpc" > $name elif [ "x$arch" == "xs390x" ]; then echo "# s390" > $name elif [ "x$arch" == "xarmv7hl" ]; then diff --git a/config_generation b/config_generation index e5dde85cf..fdb94b216 100644 --- a/config_generation +++ b/config_generation @@ -5,7 +5,7 @@ # x86_64 x86_64=baseconfig:baseconfig-x86:baseconfig-x86-x86_64 -x86_64-debug=baseconfig:baseconfig-x86:baseconfig-x86-x86_64:debugconfig:debugconfig-x86 +x86_64-debug=baseconfig:baseconfig-x86:baseconfig-x86-x86_64:debugconfig:debugconfig-x86:debugconfig-x86-x86_64 # i686 i686=baseconfig:baseconfig-x86:baseconfig-x86-i686 @@ -20,18 +20,17 @@ ppc64-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64:debugconf # ppc64le ppc64le=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64le ppc64le-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64le:debugconfig -ppc64p7=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64p7 -ppc64p7-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64p7:debugconfig + # s390x s390x=baseconfig:baseconfig-s390x s390x-debug=baseconfig:baseconfig-s390x:debugconfig # aarch64 -aarch64=baseconfig:baseconfig-arm:baseconfig-arm-arm64 -aarch64-debug=baseconfig:baseconfig-arm:baseconfig-arm-arm64:debugconfig:debugconfig-arm +aarch64=baseconfig:baseconfig-arm:baseconfig-arm-aarch64 +aarch64-debug=baseconfig:baseconfig-arm:baseconfig-arm-aarch64:debugconfig:debugconfig-arm # arm armv7hl=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7 -armv7hl-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7:debugconfig:debugconfig-arm:debugconfig-arm-armv7 +armv7hl-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7:debugconfig:debugconfig-arm armv7hl-lpae=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae -armv7hl-lpae-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae:debugconfig:debugconfig-arm:debugconfig-arm-armv7 +armv7hl-lpae-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae:debugconfig:debugconfig-arm diff --git a/configs/build_configs.sh b/configs/build_configs.sh new file mode 100755 index 000000000..15ab6b380 --- /dev/null +++ b/configs/build_configs.sh @@ -0,0 +1,137 @@ +#!/bin/bash +# +# This script merges together the hierarchy of CONFIG_* files under generic +# and debug to form the necessary $PACKAGE_NAME--.config +# files for building RHEL kernels, based on the contents of a control file + +PACKAGE_NAME="${1:-kernel}" # defines the package name used +KVERREL="${2:-}" +SUBARCH="${3:-}" # defines a specific arch +SCRIPT="$(readlink -f $0)" +OUTPUT_DIR="$PWD" +SCRIPT_DIR="$(dirname $SCRIPT)" + +# to handle this script being a symlink +cd $SCRIPT_DIR + +set errexit +set nounset + +control_file="config_generation" + +cleanup() +{ + rm -f config-* +} + +die() +{ + echo "$1" + cleanup + exit 1 +} + +function combine_config_layer() +{ + dir=$1 + file="config-$(echo $dir | sed -e 's|/|-|g')" + + if [ $(ls $dir/ | grep -c "^CONFIG_") -eq 0 ]; then + touch $file + return + fi + + cat $dir/CONFIG_* > $file +} + +function merge_configs() +{ + archvar=$1 + arch=$(echo "$archvar" | cut -f1 -d"-") + configs=$2 + order=$3 + name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar.config + echo -n "Building $name ... " + touch config-merging config-merged + + # apply based on order + skip_if_missing="" + for o in $order + do + for config in $(echo $configs | sed -e 's/:/ /g') + do + cfile="config-$o-$config" + + test -n "$skip_if_missing" && test ! -e $cfile && continue + + perl merge.pl $cfile config-merging > config-merged + if [ ! $? -eq 0 ]; then + die "Failed to merge $cfile" + fi + mv config-merged config-merging + done + + # first configs in $order is baseline, all files should be + # there. second pass is overrides and can be missing. + skip_if_missing="1" + done + if [ "x$arch" == "xaarch64" ]; then + echo "# arm64" > $name + elif [ "x$arch" == "xppc64" ]; then + echo "# powerpc" > $name + elif [ "x$arch" == "xppc64le" ]; then + echo "# powerpc" > $name + elif [ "x$arch" == "xs390x" ]; then + echo "# s390" > $name + elif [ "x$arch" == "xarmv7hl" ]; then + echo "# arm" > $name + elif [ "x$arch" == "xi686" ]; then + echo "# i386" > $name + else + echo "# $arch" > $name + fi + sort config-merging >> $name + rm -f config-merged config-merging + echo "done" +} + +while read line +do + if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then + continue + elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then + continue + elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then + order=$(echo "$line" | cut -f2 -d"=") + for o in $order + do + glist=$(find $o -type d) + for d in $glist + do + combine_config_layer $d + done + done + else + arch=$(echo "$line" | cut -f1 -d"=") + configs=$(echo "$line" | cut -f2 -d"=") + + if [ -n "$SUBARCH" -a "$SUBARCH" != "$arch" ]; then + continue + fi + + merge_configs $arch $configs "$order" + fi +done < $control_file + +# A passed in kernel version implies copy to final location +# otherwise defer to another script +if test -n "$KVERREL" +then + for i in kernel-*.config + do + NEW="$(echo $i | sed "s/$PACKAGE_NAME-$SUBARCH/$PACKAGE_NAME-$KVERREL-$SUBARCH/")" + mv $i $NEW + done +fi + +cleanup diff --git a/configs/config_generation b/configs/config_generation new file mode 100644 index 000000000..e8614c43f --- /dev/null +++ b/configs/config_generation @@ -0,0 +1,41 @@ +# config-variant=config:config:config +# kernel.config files are build on the fly based on this config, +# the first arg is arch and variant, the second is a hierarchy of +# config options, lowest priority to highest + +# tells the build_configs.sh which order to build the configs. +# this is useful when providing a separate overrides directory. +# do not use quotes and space separate the directories. +ORDER=fedora + +# x86_64 +x86_64=generic:generic-x86:generic-x86-x86_64 +x86_64-debug=generic:generic-x86:generic-x86-x86_64:debug:debug-x86:debug-x86-x86_64 + +# i686 +i686=generic:generic-x86:generic-x86-i686 +i686-debug=generic:generic-x86:generic-x86-i686:debug:debug-x86 +i686-PAE=generic:generic-x86:generic-x86-i686PAE +i686-PAEdebug=generic:generic-x86:generic-x86-i686PAE:debug:debug-x86 + +# ppc64 +ppc64=generic:generic-powerpc:generic-powerpc-powerpc64 +ppc64-debug=generic:generic-powerpc:generic-powerpc-powerpc64:debug + +# ppc64le +ppc64le=generic:generic-powerpc:generic-powerpc-powerpc64le +ppc64le-debug=generic:generic-powerpc:generic-powerpc-powerpc64le:debug + +# s390x +s390x=generic:generic-s390x +s390x-debug=generic:generic-s390x:debug + +# aarch64 +aarch64=generic:generic-arm:generic-arm-aarch64 +aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm + +# arm +armv7hl=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7 +armv7hl-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7:debug:debug-arm +armv7hl-lpae=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae +armv7hl-lpae-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae:debug:debug-arm diff --git a/configs/process_configs.sh b/configs/process_configs.sh new file mode 100755 index 000000000..4de45d65a --- /dev/null +++ b/configs/process_configs.sh @@ -0,0 +1,136 @@ +#!/bin/bash +# +# This script takes the merged config files and processes them through oldconfig +# and listnewconfig + + +die() +{ + echo "$1" + exit 1 +} + +# stupid function to find top of tree to do kernel make configs +switch_to_toplevel() +{ + path="$(pwd)" + while test -n "$path" + do + test -d $path/firmware && \ + test -e $path/MAINTAINERS && \ + test -d $path/drivers && \ + break + + path="$(dirname $path)" + done + + test -n "$path" || die "Can't find toplevel" + echo "$path" +} + +checkoptions() +{ + /usr/bin/awk ' + + /is not set/ { + split ($0, a, "#"); + split(a[2], b); + if (NR==FNR) { + configs[b[1]]="is not set"; + } else { + if (configs[b[1]] != "" && configs[b[1]] != "is not set") + print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Source tree"; + } + } + + /=/ { + split ($0, a, "="); + if (NR==FNR) { + configs[a[1]]=a[2]; + } else { + if (configs[a[1]] != "" && configs[a[1]] != a[2]) + print "Found "a[1]"="configs[a[1]]" after generation, had " a[1]"="a[2]" in Source tree"; + } + } + ' $1 $2 > .mismatches + + if test -s .mismatches + then + echo "Error: Mismatches found in configuration files" + cat .mismatches + exit 1 + fi +} + +function process_configs() +{ + # assume we are in $source_tree/configs, need to get to top level + pushd $(switch_to_toplevel) + + for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config + do + arch=$(head -1 $cfg | cut -b 3-) + cfgtmp="${cfg}.tmp" + cfgorig="${cfg}.orig" + cat $cfg > $cfgorig + + echo -n "Processing $cfg ... " + + # an empty grep is good but leaves a return value, so use # 'true' to bypass + make ARCH=$arch KCONFIG_CONFIG=$cfg listnewconfig | grep -E 'CONFIG_' > .newoptions || true + if test -n "$NEWOPTIONS" && test -s .newoptions + then + echo "Found unset config items, please set them to an appropriate value" + cat .newoptions + rm .newoptions + exit 1 + fi + rm .newoptions + + make ARCH=$arch KCONFIG_CONFIG=$cfg oldnoconfig > /dev/null || exit 1 + echo "# $arch" > ${cfgtmp} + cat "${cfg}" >> ${cfgtmp} + if test -n "$CHECKOPTIONS" + then + checkoptions $cfgtmp $cfgorig + fi + mv ${cfgtmp} ${cfg} + rm ${cfgorig} + echo "done" + done + rm "$SCRIPT_DIR"/*.config.old + popd > /dev/null + + echo "Processed config files are in $SCRIPT_DIR" +} + +NEWOPTIONS="" +CHECKOPTIONS="" + +while [[ $# -gt 0 ]] +do + key="$1" + case $key in + -n) + NEWOPTIONS="x" + ;; + -c) + CHECKOPTIONS="x" + ;; + *) + break;; + esac + shift +done + +PACKAGE_NAME="${1:-kernel}" # defines the package name used +KVERREL="$(test -n "$2" && echo "-$2" || echo "")" +SUBARCH="$(test -n "$3" && echo "-$3" || echo "")" +SCRIPT="$(readlink -f $0)" +OUTPUT_DIR="$PWD" +SCRIPT_DIR="$(dirname $SCRIPT)" + +# to handle this script being a symlink +cd $SCRIPT_DIR + +process_configs diff --git a/criu-no-expert.patch b/criu-no-expert.patch index f7e1ffff1..430bfd095 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -1,3 +1,4 @@ +From 235b02d70a6a9837896c2ff4ca9d03f172cc4281 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 30 Jan 2013 10:55:31 -0500 Subject: [PATCH] criu: no expert @@ -9,24 +10,27 @@ Upstream-status: Fedora mustard 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index 648bb79d6b73..860ca236975f 100644 +index 2934249fba46..19d9ee8c120b 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1137,7 +1137,7 @@ config CGROUP_WRITEBACK +@@ -871,7 +871,7 @@ config SOCK_CGROUP_DATA endif # CGROUPS - config CHECKPOINT_RESTORE -- bool "Checkpoint/restore support" if EXPERT -+ bool "Checkpoint/restore support" - select PROC_CHILDREN - default n - help -@@ -1149,7 +1149,7 @@ config CHECKPOINT_RESTORE - If unsure, say N here. - menuconfig NAMESPACES - bool "Namespaces support" if EXPERT + bool "Namespaces support" depends on MULTIUSER default !EXPERT help +@@ -1321,7 +1321,7 @@ config MEMBARRIER + If unsure, say Y. + + config CHECKPOINT_RESTORE +- bool "Checkpoint/restore support" if EXPERT ++ bool "Checkpoint/restore support" + select PROC_CHILDREN + default n + help +-- +2.14.3 + diff --git a/crypto-testmgr-Allow-different-compression-results.patch b/crypto-testmgr-Allow-different-compression-results.patch new file mode 100644 index 000000000..c752770ef --- /dev/null +++ b/crypto-testmgr-Allow-different-compression-results.patch @@ -0,0 +1,163 @@ +From patchwork Wed Apr 11 18:28:32 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: crypto: testmgr: Allow different compression results +From: Jan Glauber +X-Patchwork-Id: 10336001 +Message-Id: <20180411182832.27761-1-jglauber@cavium.com> +To: Herbert Xu +Cc: "David S . Miller" , + linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, + Mahipal Challa , + Balakrishna Bhamidipati , + Jan Glauber +Date: Wed, 11 Apr 2018 20:28:32 +0200 + +From: Mahipal Challa + +The following error is triggered by the ThunderX ZIP driver +if the testmanager is enabled: + +[ 199.069437] ThunderX-ZIP 0000:03:00.0: Found ZIP device 0 177d:a01a on Node 0 +[ 199.073573] alg: comp: Compression test 1 failed for deflate-generic: output len = 37 + +The reason for this error is the verification of the compression +results. Verifying the compression result only works if all +algorithm parameters are identical, in this case to the software +implementation. + +Different compression engines like the ThunderX ZIP coprocessor +might yield different compression results by tuning the +algorithm parameters. In our case the compressed result is +shorter than the test vector. + +We should not forbid different compression results but only +check that compression -> decompression yields the same +result. This is done already in the acomp test. Do something +similar for test_comp(). + +Signed-off-by: Mahipal Challa +Signed-off-by: Balakrishna Bhamidipati +[jglauber@cavium.com: removed unrelated printk changes, rewrote commit msg, + fixed whitespace and unneeded initialization] +Signed-off-by: Jan Glauber +--- + crypto/testmgr.c | 50 +++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 37 insertions(+), 13 deletions(-) + +diff --git a/crypto/testmgr.c b/crypto/testmgr.c +index af4a01c..627e82e 100644 +--- a/crypto/testmgr.c ++++ b/crypto/testmgr.c +@@ -1342,19 +1342,30 @@ static int test_comp(struct crypto_comp *tfm, + int ctcount, int dtcount) + { + const char *algo = crypto_tfm_alg_driver_name(crypto_comp_tfm(tfm)); ++ char *output, *decomp_output; + unsigned int i; +- char result[COMP_BUF_SIZE]; + int ret; + ++ output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); ++ if (!output) ++ return -ENOMEM; ++ ++ decomp_output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); ++ if (!decomp_output) { ++ kfree(output); ++ return -ENOMEM; ++ } ++ + for (i = 0; i < ctcount; i++) { + int ilen; + unsigned int dlen = COMP_BUF_SIZE; + +- memset(result, 0, sizeof (result)); ++ memset(output, 0, sizeof(COMP_BUF_SIZE)); ++ memset(decomp_output, 0, sizeof(COMP_BUF_SIZE)); + + ilen = ctemplate[i].inlen; + ret = crypto_comp_compress(tfm, ctemplate[i].input, +- ilen, result, &dlen); ++ ilen, output, &dlen); + if (ret) { + printk(KERN_ERR "alg: comp: compression failed " + "on test %d for %s: ret=%d\n", i + 1, algo, +@@ -1362,7 +1373,17 @@ static int test_comp(struct crypto_comp *tfm, + goto out; + } + +- if (dlen != ctemplate[i].outlen) { ++ ilen = dlen; ++ dlen = COMP_BUF_SIZE; ++ ret = crypto_comp_decompress(tfm, output, ++ ilen, decomp_output, &dlen); ++ if (ret) { ++ pr_err("alg: comp: compression failed: decompress: on test %d for %s failed: ret=%d\n", ++ i + 1, algo, -ret); ++ goto out; ++ } ++ ++ if (dlen != ctemplate[i].inlen) { + printk(KERN_ERR "alg: comp: Compression test %d " + "failed for %s: output len = %d\n", i + 1, algo, + dlen); +@@ -1370,10 +1391,11 @@ static int test_comp(struct crypto_comp *tfm, + goto out; + } + +- if (memcmp(result, ctemplate[i].output, dlen)) { +- printk(KERN_ERR "alg: comp: Compression test %d " +- "failed for %s\n", i + 1, algo); +- hexdump(result, dlen); ++ if (memcmp(decomp_output, ctemplate[i].input, ++ ctemplate[i].inlen)) { ++ pr_err("alg: comp: compression failed: output differs: on test %d for %s\n", ++ i + 1, algo); ++ hexdump(decomp_output, dlen); + ret = -EINVAL; + goto out; + } +@@ -1383,11 +1405,11 @@ static int test_comp(struct crypto_comp *tfm, + int ilen; + unsigned int dlen = COMP_BUF_SIZE; + +- memset(result, 0, sizeof (result)); ++ memset(decomp_output, 0, sizeof(COMP_BUF_SIZE)); + + ilen = dtemplate[i].inlen; + ret = crypto_comp_decompress(tfm, dtemplate[i].input, +- ilen, result, &dlen); ++ ilen, decomp_output, &dlen); + if (ret) { + printk(KERN_ERR "alg: comp: decompression failed " + "on test %d for %s: ret=%d\n", i + 1, algo, +@@ -1403,10 +1425,10 @@ static int test_comp(struct crypto_comp *tfm, + goto out; + } + +- if (memcmp(result, dtemplate[i].output, dlen)) { ++ if (memcmp(decomp_output, dtemplate[i].output, dlen)) { + printk(KERN_ERR "alg: comp: Decompression test %d " + "failed for %s\n", i + 1, algo); +- hexdump(result, dlen); ++ hexdump(decomp_output, dlen); + ret = -EINVAL; + goto out; + } +@@ -1415,11 +1437,13 @@ static int test_comp(struct crypto_comp *tfm, + ret = 0; + + out: ++ kfree(decomp_output); ++ kfree(output); + return ret; + } + + static int test_acomp(struct crypto_acomp *tfm, +- const struct comp_testvec *ctemplate, ++ const struct comp_testvec *ctemplate, + const struct comp_testvec *dtemplate, + int ctcount, int dtcount) + { diff --git a/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION b/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION new file mode 100644 index 000000000..80056c1a1 --- /dev/null +++ b/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION @@ -0,0 +1 @@ +CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y diff --git a/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE b/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE new file mode 100644 index 000000000..cf1d8d5bb --- /dev/null +++ b/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE @@ -0,0 +1 @@ +CONFIG_BPF_KPROBE_OVERRIDE=y diff --git a/debugconfig/CONFIG_FAIL_FUNCTION b/debugconfig/CONFIG_FAIL_FUNCTION new file mode 100644 index 000000000..f41816ded --- /dev/null +++ b/debugconfig/CONFIG_FAIL_FUNCTION @@ -0,0 +1 @@ +CONFIG_FAIL_FUNCTION=y diff --git a/debugconfig/CONFIG_NOUVEAU_DEBUG_MMU b/debugconfig/CONFIG_NOUVEAU_DEBUG_MMU new file mode 100644 index 000000000..9b69dee5f --- /dev/null +++ b/debugconfig/CONFIG_NOUVEAU_DEBUG_MMU @@ -0,0 +1 @@ +CONFIG_NOUVEAU_DEBUG_MMU=y diff --git a/debugconfig/CONFIG_REFCOUNT_FULL b/debugconfig/CONFIG_REFCOUNT_FULL new file mode 100644 index 000000000..c7e4a167a --- /dev/null +++ b/debugconfig/CONFIG_REFCOUNT_FULL @@ -0,0 +1 @@ +CONFIG_REFCOUNT_FULL=y diff --git a/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG b/debugconfig/arm/CONFIG_DMADEVICES_DEBUG similarity index 100% rename from debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG rename to debugconfig/arm/CONFIG_DMADEVICES_DEBUG diff --git a/debugconfig/x86/x86_64/CONFIG_NR_CPUS b/debugconfig/x86/x86_64/CONFIG_NR_CPUS new file mode 100644 index 000000000..441191641 --- /dev/null +++ b/debugconfig/x86/x86_64/CONFIG_NR_CPUS @@ -0,0 +1 @@ +CONFIG_NR_CPUS=8192 diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch index 79deab178..cec67aaaa 100644 --- a/drm-i915-hush-check-crtc-state.patch +++ b/drm-i915-hush-check-crtc-state.patch @@ -1,6 +1,6 @@ -From 5550f20b5f9becb485fb3a67bf0193025d40bc6f Mon Sep 17 00:00:00 2001 +From 63a9dfe66b3b82b6eb10c6548aaf22dd7e543d2d Mon Sep 17 00:00:00 2001 From: Adam Jackson -Date: Wed, 13 Nov 2013 10:17:24 -0500 +Date: Mon, 10 Jul 2017 08:11:48 -0700 Subject: [PATCH] drm/i915: hush check crtc state This is _by far_ the most common backtrace for i915 on retrace.fp.o, and @@ -15,11 +15,11 @@ Upstream-status: http://lists.freedesktop.org/archives/intel-gfx/2013-November/0 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 46f9be3ad5a2..ad2e62e4cdba 100644 +index dec9e58..620f378a 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -12970,7 +12970,7 @@ verify_crtc_state(struct drm_crtc *crtc, - sw_config = to_intel_crtc_state(crtc->state); +@@ -12277,7 +12277,7 @@ verify_crtc_state(struct drm_crtc *crtc, + sw_config = to_intel_crtc_state(new_crtc_state); if (!intel_pipe_config_compare(dev_priv, sw_config, pipe_config, false)) { - I915_STATE_WARN(1, "pipe state doesn't match!\n"); @@ -28,5 +28,5 @@ index 46f9be3ad5a2..ad2e62e4cdba 100644 "[hw state]"); intel_dump_pipe_config(intel_crtc, sw_config, -- -2.5.5 +2.7.5 diff --git a/drm-i915-turn-off-wc-mmaps.patch b/drm-i915-turn-off-wc-mmaps.patch deleted file mode 100644 index c81b89226..000000000 --- a/drm-i915-turn-off-wc-mmaps.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Dave Airlie -Date: Thu, 4 Jun 2015 07:12:20 -0400 -Subject: [PATCH] drm: i915: turn off wc mmaps - ---- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index d2df321ba634..775a5b11a366 100644 ---- a/drivers/gpu/drm/i915/i915_dma.c -+++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -151,7 +151,7 @@ static int i915_getparam(struct drm_device *dev, void *data, - value = 1; - break; - case I915_PARAM_MMAP_VERSION: -- value = 1; -+ value = 0; - break; - case I915_PARAM_SUBSLICE_TOTAL: - value = INTEL_INFO(dev)->subslice_total; diff --git a/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch b/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch deleted file mode 100644 index 70a528253..000000000 --- a/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch +++ /dev/null @@ -1,42 +0,0 @@ -From patchwork Thu Feb 9 18:16:00 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. -From: Eric Anholt -X-Patchwork-Id: 138087 -Message-Id: <20170209181600.24048-1-eric@anholt.net> -To: dri-devel@lists.freedesktop.org -Cc: linux-kernel@vger.kernel.org, pbrobinson@gmail.com -Date: Thu, 9 Feb 2017 10:16:00 -0800 - -If a CMA allocation failed, the partially constructed BO would be -unreferenced through the normal path, and we might choose to put it in -the BO cache. If we then reused it before it expired from the cache, -the kernel would OOPS. - -Signed-off-by: Eric Anholt -Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.") ---- - drivers/gpu/drm/vc4/vc4_bo.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c -index 5ec14f25625d..fd83a2807656 100644 ---- a/drivers/gpu/drm/vc4/vc4_bo.c -+++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -314,6 +314,14 @@ void vc4_free_object(struct drm_gem_object *gem_bo) - goto out; - } - -+ /* If this object was partially constructed but CMA allocation -+ * had failed, just free it. -+ */ -+ if (!bo->base.vaddr) { -+ vc4_bo_destroy(bo); -+ goto out; -+ } -+ - cache_list = vc4_get_cache_list_for_size(dev, gem_bo->size); - if (!cache_list) { - vc4_bo_destroy(bo); diff --git a/efi-Add-SHIM-and-image-security-database-GUID-defini.patch b/efi-Add-SHIM-and-image-security-database-GUID-defini.patch deleted file mode 100644 index 4d380ea76..000000000 --- a/efi-Add-SHIM-and-image-security-database-GUID-defini.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3a9fe1504e08824d894bb3a804c6a313f5d1be8a Mon Sep 17 00:00:00 2001 -From: Josh Boyer -Date: Tue, 25 Oct 2016 12:54:11 -0400 -Subject: [PATCH 11/20] efi: Add SHIM and image security database GUID - definitions - -Add the definitions for shim and image security database, both of which -are used widely in various Linux distros. - -Signed-off-by: Josh Boyer ---- - include/linux/efi.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 2d089487d2da..ce943d5accfd 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -592,6 +592,9 @@ void efi_native_runtime_setup(void); - #define EFI_MEMORY_ATTRIBUTES_TABLE_GUID EFI_GUID(0xdcfa911d, 0x26eb, 0x469f, 0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20) - #define EFI_CONSOLE_OUT_DEVICE_GUID EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d) - -+#define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f) -+#define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23) -+ - /* - * This GUID is used to pass to the kernel proper the struct screen_info - * structure that was populated by the stub based on the GOP protocol instance --- -2.9.3 - diff --git a/efi-lockdown.patch b/efi-lockdown.patch index d6517d5ed..ceb0ca7f9 100644 --- a/efi-lockdown.patch +++ b/efi-lockdown.patch @@ -1,127 +1,7 @@ -From df7d76ae50f18d4465e59fdf7f19d3df44906cb5 Mon Sep 17 00:00:00 2001 -From: Josh Boyer -Date: Mon, 21 Nov 2016 23:55:55 +0000 -Subject: [PATCH 07/32] efi: Add EFI_SECURE_BOOT bit - -UEFI machines can be booted in Secure Boot mode. Add a EFI_SECURE_BOOT bit -that can be passed to efi_enabled() to find out whether secure boot is -enabled. - -This will be used by the SysRq+x handler, registered by the x86 arch, to find -out whether secure boot mode is enabled so that it can be disabled. - -Signed-off-by: Josh Boyer -Signed-off-by: David Howells ---- - arch/x86/kernel/setup.c | 1 + - include/linux/efi.h | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 69780ed..447905e 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -1182,6 +1182,7 @@ void __init setup_arch(char **cmdline_p) - pr_info("Secure boot disabled\n"); - break; - case efi_secureboot_mode_enabled: -+ set_bit(EFI_SECURE_BOOT, &efi.flags); - pr_info("Secure boot enabled\n"); - break; - default: -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 94d34e0..6049600 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -1069,6 +1069,7 @@ extern int __init efi_setup_pcdp_console(char *); - #define EFI_DBG 8 /* Print additional debug info at runtime */ - #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */ - #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ -+#define EFI_SECURE_BOOT 11 /* Are we in Secure Boot mode? */ - - #ifdef CONFIG_EFI - /* --- -2.7.4 - -From 0f9281e3b77bf5f767f1993d52b152a1ef317a0a Mon Sep 17 00:00:00 2001 +From 1235d72fe1d34f9961051d159af3b48a1617ff0a Mon Sep 17 00:00:00 2001 From: David Howells -Date: Fri, 25 Nov 2016 11:52:05 +0000 -Subject: [PATCH 08/32] efi: Handle secure boot from UEFI-2.6 - -UEFI-2.6 adds a new variable, DeployedMode. If it exists, this must be 1 -if we're to engage lockdown mode. - -Reported-by: James Bottomley -Signed-off-by: David Howells ---- - drivers/firmware/efi/libstub/secureboot.c | 16 +++++++++++++++- - include/linux/efi.h | 4 ++++ - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c -index 6def402..77af519 100644 ---- a/drivers/firmware/efi/libstub/secureboot.c -+++ b/drivers/firmware/efi/libstub/secureboot.c -@@ -20,6 +20,9 @@ static const efi_char16_t const efi_SecureBoot_name[] = { - static const efi_char16_t const efi_SetupMode_name[] = { - 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0 - }; -+static const efi_char16_t const efi_DeployedMode_name[] = { -+ 'D', 'e', 'p', 'l', 'o', 'y', 'e', 'd', 'M', 'o', 'd', 'e', 0 -+}; - - /* SHIM variables */ - static const efi_guid_t shim_guid = EFI_SHIM_LOCK_GUID; -@@ -38,7 +41,7 @@ static efi_char16_t const shim_MokSBState_name[] = { - enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg) - { - u32 attr; -- u8 secboot, setupmode, moksbstate; -+ u8 secboot, setupmode, deployedmode, moksbstate; - unsigned long size; - efi_status_t status; - -@@ -57,6 +60,17 @@ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg) - if (secboot == 0 || setupmode == 1) - return efi_secureboot_mode_disabled; - -+ /* UEFI-2.6 requires DeployedMode to be 1. */ -+ if (sys_table_arg->hdr.revision >= EFI_2_60_SYSTEM_TABLE_REVISION) { -+ size = sizeof(deployedmode); -+ status = get_efi_var(efi_DeployedMode_name, &efi_variable_guid, -+ NULL, &size, &deployedmode); -+ if (status != EFI_SUCCESS) -+ goto out_efi_err; -+ if (deployedmode == 0) -+ return efi_secureboot_mode_disabled; -+ } -+ - /* - * See if a user has put the shim into insecure mode. If so, and if the - * variable doesn't have the runtime attribute set, we might as well -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 6049600..784a276 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -646,6 +646,10 @@ typedef struct { - - #define EFI_SYSTEM_TABLE_SIGNATURE ((u64)0x5453595320494249ULL) - -+#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60)) -+#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50)) -+#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40)) -+#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31)) - #define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30)) - #define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20)) - #define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10)) --- -2.7.4 - -From f05a90c19a9613d8d50597319ed91f691e25b689 Mon Sep 17 00:00:00 2001 -From: David Howells -Date: Mon, 21 Nov 2016 23:36:17 +0000 -Subject: [PATCH 09/32] Add the ability to lock down access to the running +Date: Tue, 27 Feb 2018 10:04:50 +0000 +Subject: [PATCH 01/31] Add the ability to lock down access to the running kernel image Provide a single call to allow kernel code to determine whether the system @@ -131,64 +11,70 @@ modules that aren't validly signed with a key we recognise, fiddling with MSR registers and disallowing hibernation, Signed-off-by: David Howells +Acked-by: James Morris --- - include/linux/kernel.h | 9 +++++++++ - include/linux/security.h | 11 +++++++++++ - security/Kconfig | 15 +++++++++++++++ + include/linux/kernel.h | 17 ++++++++++++++ + include/linux/security.h | 8 +++++++ + security/Kconfig | 8 +++++++ security/Makefile | 3 +++ - security/lock_down.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 78 insertions(+) + security/lock_down.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 96 insertions(+) create mode 100644 security/lock_down.c diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index cb09238..3cd3be9 100644 +index 3fd291503576..dcc8916098e7 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h -@@ -273,6 +273,15 @@ extern int oops_may_print(void); - void do_exit(long error_code) __noreturn; - void complete_and_exit(struct completion *, long) __noreturn; - +@@ -306,6 +306,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err) + { } + #endif + +#ifdef CONFIG_LOCK_DOWN_KERNEL -+extern bool kernel_is_locked_down(void); ++extern bool __kernel_is_locked_down(const char *what, bool first); +#else -+static inline bool kernel_is_locked_down(void) ++static inline bool __kernel_is_locked_down(const char *what, bool first) +{ + return false; +} +#endif ++ ++#define kernel_is_locked_down(what) \ ++ ({ \ ++ static bool message_given; \ ++ bool locked_down = __kernel_is_locked_down(what, !message_given); \ ++ message_given = true; \ ++ locked_down; \ ++ }) + /* Internal, do not use. */ int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res); int __must_check _kstrtol(const char *s, unsigned int base, long *res); diff --git a/include/linux/security.h b/include/linux/security.h -index d3868f2..187b74b 100644 +index 73f1ef625d40..2e9690f3d1ce 100644 --- a/include/linux/security.h +++ b/include/linux/security.h -@@ -1679,5 +1679,16 @@ static inline void free_secdata(void *secdata) +@@ -1801,5 +1801,13 @@ static inline void free_secdata(void *secdata) { } #endif /* CONFIG_SECURITY */ - + +#ifdef CONFIG_LOCK_DOWN_KERNEL -+extern void lock_kernel_down(void); -+#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT -+extern void lift_kernel_lockdown(void); -+#endif ++extern void __init init_lockdown(void); +#else -+static inline void lock_kernel_down(void) ++static inline void __init init_lockdown(void) +{ +} +#endif + #endif /* ! __LINUX_SECURITY_H */ - + diff --git a/security/Kconfig b/security/Kconfig -index d900f47..d9b391d 100644 +index c4302067a3ad..a9e6207d287e 100644 --- a/security/Kconfig +++ b/security/Kconfig -@@ -193,6 +193,21 @@ config STATIC_USERMODEHELPER_PATH +@@ -231,6 +231,14 @@ config STATIC_USERMODEHELPER_PATH If you wish for all usermode helper programs to be disabled, specify an empty string here (i.e. ""). - + +config LOCK_DOWN_KERNEL + bool "Allow the kernel to be 'locked down'" + help @@ -196,22 +82,15 @@ index d900f47..d9b391d 100644 + instance if UEFI secure boot is enabled. Locking down the kernel + turns off various features that might otherwise allow access to the + kernel image (eg. setting MSR registers). -+ -+config ALLOW_LOCKDOWN_LIFT -+ bool -+ help -+ Allow the lockdown on a kernel to be lifted, thereby restoring the -+ ability of userspace to access the kernel image (eg. by SysRq+x under -+ x86). + source security/selinux/Kconfig source security/smack/Kconfig source security/tomoyo/Kconfig diff --git a/security/Makefile b/security/Makefile -index f2d71cd..8c4a43e 100644 +index 4d2d3782ddef..507ac8c520ce 100644 --- a/security/Makefile +++ b/security/Makefile -@@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o +@@ -30,3 +30,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o # Object integrity file lists subdir-$(CONFIG_INTEGRITY) += integrity obj-$(CONFIG_INTEGRITY) += integrity/ @@ -220,10 +99,10 @@ index f2d71cd..8c4a43e 100644 +obj-$(CONFIG_LOCK_DOWN_KERNEL) += lock_down.o diff --git a/security/lock_down.c b/security/lock_down.c new file mode 100644 -index 0000000..5788c60 +index 000000000000..d8595c0e6673 --- /dev/null +++ b/security/lock_down.c -@@ -0,0 +1,40 @@ +@@ -0,0 +1,60 @@ +/* Lock down the kernel + * + * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved. @@ -238,282 +117,112 @@ index 0000000..5788c60 +#include +#include + -+static __read_mostly bool kernel_locked_down; ++static __ro_after_init bool kernel_locked_down; + +/* + * Put the kernel into lock-down mode. + */ -+void lock_kernel_down(void) ++static void __init lock_kernel_down(const char *where) +{ -+ kernel_locked_down = true; ++ if (!kernel_locked_down) { ++ kernel_locked_down = true; ++ pr_notice("Kernel is locked down from %s; see man kernel_lockdown.7\n", ++ where); ++ } +} + -+/* -+ * Take the kernel out of lockdown mode. -+ */ -+void lift_kernel_lockdown(void) ++static int __init lockdown_param(char *ignored) +{ -+ kernel_locked_down = false; ++ lock_kernel_down("command line"); ++ return 0; ++} ++ ++early_param("lockdown", lockdown_param); ++ ++/* ++ * Lock the kernel down from very early in the arch setup. This must happen ++ * prior to things like ACPI being initialised. ++ */ ++void __init init_lockdown(void) ++{ ++#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT ++ if (efi_enabled(EFI_SECURE_BOOT)) ++ lock_kernel_down("EFI secure boot"); ++#endif +} + +/** + * kernel_is_locked_down - Find out if the kernel is locked down ++ * @what: Tag to use in notice generated if lockdown is in effect + */ -+bool kernel_is_locked_down(void) ++bool __kernel_is_locked_down(const char *what, bool first) +{ ++ if (what && first && kernel_locked_down) ++ pr_notice("Lockdown: %s is restricted; see man kernel_lockdown.7\n", ++ what); + return kernel_locked_down; +} -+EXPORT_SYMBOL(kernel_is_locked_down); ++EXPORT_SYMBOL(__kernel_is_locked_down); -- -2.7.4 +2.14.3 -From fb6feb38e297260d050fc477c72683ac51d07ae3 Mon Sep 17 00:00:00 2001 -From: David Howells -Date: Mon, 21 Nov 2016 23:55:55 +0000 -Subject: [PATCH 10/32] efi: Lock down the kernel if booted in secure boot mode - -UEFI Secure Boot provides a mechanism for ensuring that the firmware will -only load signed bootloaders and kernels. Certain use cases may also -require that all kernel modules also be signed. Add a configuration option -that to lock down the kernel - which includes requiring validly signed -modules - if the kernel is secure-booted. - -Signed-off-by: David Howells ---- - arch/x86/Kconfig | 12 ++++++++++++ - arch/x86/kernel/setup.c | 8 +++++++- - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 874c123..a315974 100644 ---- a/arch/x86/Kconfig -+++ b/arch/x86/Kconfig -@@ -1816,6 +1816,18 @@ config EFI_MIXED - - If unsure, say N. - -+config EFI_SECURE_BOOT_LOCK_DOWN -+ def_bool n -+ depends on EFI -+ prompt "Lock down the kernel when UEFI Secure Boot is enabled" -+ ---help--- -+ UEFI Secure Boot provides a mechanism for ensuring that the firmware -+ will only load signed bootloaders and kernels. Certain use cases may -+ also require that all kernel modules also be signed and that -+ userspace is prevented from directly changing the running kernel -+ image. Say Y here to automatically lock down the kernel when a -+ system boots with UEFI Secure Boot enabled. -+ - config SECCOMP - def_bool y - prompt "Enable seccomp to safely compute untrusted bytecode" -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 447905e..d44e60e 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -69,6 +69,7 @@ - #include - #include - #include -+#include - - #include