162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ciconfig CPM1 362306a36Sopenharmony_ci bool 462306a36Sopenharmony_ci select CPM 562306a36Sopenharmony_ci 662306a36Sopenharmony_cichoice 762306a36Sopenharmony_ci prompt "8xx Machine Type" 862306a36Sopenharmony_ci depends on PPC_8xx 962306a36Sopenharmony_ci default MPC885ADS 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciconfig MPC8XXFADS 1262306a36Sopenharmony_ci bool "FADS" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciconfig MPC86XADS 1562306a36Sopenharmony_ci bool "MPC86XADS" 1662306a36Sopenharmony_ci select CPM1 1762306a36Sopenharmony_ci help 1862306a36Sopenharmony_ci MPC86x Application Development System by Freescale Semiconductor. 1962306a36Sopenharmony_ci The MPC86xADS is meant to serve as a platform for s/w and h/w 2062306a36Sopenharmony_ci development around the MPC86X processor families. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciconfig MPC885ADS 2362306a36Sopenharmony_ci bool "MPC885ADS" 2462306a36Sopenharmony_ci select CPM1 2562306a36Sopenharmony_ci select OF_DYNAMIC 2662306a36Sopenharmony_ci help 2762306a36Sopenharmony_ci Freescale Semiconductor MPC885 Application Development System (ADS). 2862306a36Sopenharmony_ci Also known as DUET. 2962306a36Sopenharmony_ci The MPC885ADS is meant to serve as a platform for s/w and h/w 3062306a36Sopenharmony_ci development around the MPC885 processor family. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig PPC_EP88XC 3362306a36Sopenharmony_ci bool "Embedded Planet EP88xC (a.k.a. CWH-PPC-885XN-VE)" 3462306a36Sopenharmony_ci select CPM1 3562306a36Sopenharmony_ci help 3662306a36Sopenharmony_ci This enables support for the Embedded Planet EP88xC board. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci This board is also resold by Freescale as the QUICCStart 3962306a36Sopenharmony_ci MPC885 Evaluation System and/or the CWH-PPC-885XN-VE. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig PPC_ADDER875 4262306a36Sopenharmony_ci bool "Analogue & Micro Adder 875" 4362306a36Sopenharmony_ci select CPM1 4462306a36Sopenharmony_ci help 4562306a36Sopenharmony_ci This enables support for the Analogue & Micro Adder 875 4662306a36Sopenharmony_ci board. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciconfig TQM8XX 4962306a36Sopenharmony_ci bool "TQM8XX" 5062306a36Sopenharmony_ci select CPM1 5162306a36Sopenharmony_ci help 5262306a36Sopenharmony_ci support for the mpc8xx based boards from TQM. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciendchoice 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_cimenu "Freescale Ethernet driver platform-specific options" 5762306a36Sopenharmony_ci depends on (FS_ENET && MPC885ADS) 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci config MPC8xx_SECOND_ETH 6062306a36Sopenharmony_ci bool "Second Ethernet channel" 6162306a36Sopenharmony_ci depends on MPC885ADS 6262306a36Sopenharmony_ci default y 6362306a36Sopenharmony_ci help 6462306a36Sopenharmony_ci This enables support for second Ethernet on MPC885ADS and MPC86xADS boards. 6562306a36Sopenharmony_ci The latter will use SCC1, for 885ADS you can select it below. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci choice 6862306a36Sopenharmony_ci prompt "Second Ethernet channel" 6962306a36Sopenharmony_ci depends on MPC8xx_SECOND_ETH 7062306a36Sopenharmony_ci default MPC8xx_SECOND_ETH_FEC2 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci config MPC8xx_SECOND_ETH_FEC2 7362306a36Sopenharmony_ci bool "FEC2" 7462306a36Sopenharmony_ci depends on MPC885ADS 7562306a36Sopenharmony_ci help 7662306a36Sopenharmony_ci Enable FEC2 to serve as 2-nd Ethernet channel. Note that SMC2 7762306a36Sopenharmony_ci (often 2-nd UART) will not work if this is enabled. 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci config MPC8xx_SECOND_ETH_SCC3 8062306a36Sopenharmony_ci bool "SCC3" 8162306a36Sopenharmony_ci depends on MPC885ADS 8262306a36Sopenharmony_ci help 8362306a36Sopenharmony_ci Enable SCC3 to serve as 2-nd Ethernet channel. Note that SMC1 8462306a36Sopenharmony_ci (often 1-nd UART) will not work if this is enabled. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci endchoice 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciendmenu 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci# 9162306a36Sopenharmony_ci# MPC8xx Communication options 9262306a36Sopenharmony_ci# 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_cimenu "MPC8xx CPM Options" 9562306a36Sopenharmony_ci depends on PPC_8xx 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci# This doesn't really belong here, but it is convenient to ask 9862306a36Sopenharmony_ci# 8xx specific questions. 9962306a36Sopenharmony_cicomment "Generic MPC8xx Options" 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciconfig 8xx_GPIO 10262306a36Sopenharmony_ci bool "GPIO API Support" 10362306a36Sopenharmony_ci select GPIOLIB 10462306a36Sopenharmony_ci select OF_GPIO_MM_GPIOCHIP 10562306a36Sopenharmony_ci help 10662306a36Sopenharmony_ci Saying Y here will cause the ports on an MPC8xx processor to be used 10762306a36Sopenharmony_ci with the GPIO API. If you say N here, the kernel needs less memory. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci If in doubt, say Y here. 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ciconfig 8xx_CPU15 11262306a36Sopenharmony_ci bool "CPU15 Silicon Errata" 11362306a36Sopenharmony_ci depends on !HUGETLB_PAGE 11462306a36Sopenharmony_ci default y 11562306a36Sopenharmony_ci help 11662306a36Sopenharmony_ci This enables a workaround for erratum CPU15 on MPC8xx chips. 11762306a36Sopenharmony_ci This bug can cause incorrect code execution under certain 11862306a36Sopenharmony_ci circumstances. This workaround adds some overhead (a TLB miss 11962306a36Sopenharmony_ci every time execution crosses a page boundary), and you may wish 12062306a36Sopenharmony_ci to disable it if you have worked around the bug in the compiler 12162306a36Sopenharmony_ci (by not placing conditional branches or branches to LR or CTR 12262306a36Sopenharmony_ci in the last word of a page, with a target of the last cache 12362306a36Sopenharmony_ci line in the next page), or if you have used some other 12462306a36Sopenharmony_ci workaround. 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci If in doubt, say Y here. 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_cichoice 12962306a36Sopenharmony_ci prompt "Microcode patch selection" 13062306a36Sopenharmony_ci default NO_UCODE_PATCH 13162306a36Sopenharmony_ci help 13262306a36Sopenharmony_ci Help not implemented yet, coming soon. 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciconfig NO_UCODE_PATCH 13562306a36Sopenharmony_ci bool "None" 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciconfig USB_SOF_UCODE_PATCH 13862306a36Sopenharmony_ci bool "USB SOF patch" 13962306a36Sopenharmony_ci help 14062306a36Sopenharmony_ci Help not implemented yet, coming soon. 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ciconfig I2C_SPI_UCODE_PATCH 14362306a36Sopenharmony_ci bool "I2C/SPI relocation patch" 14462306a36Sopenharmony_ci help 14562306a36Sopenharmony_ci Help not implemented yet, coming soon. 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ciconfig I2C_SPI_SMC1_UCODE_PATCH 14862306a36Sopenharmony_ci bool "I2C/SPI/SMC1 relocation patch" 14962306a36Sopenharmony_ci help 15062306a36Sopenharmony_ci Help not implemented yet, coming soon. 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ciconfig SMC_UCODE_PATCH 15362306a36Sopenharmony_ci bool "SMC relocation patch" 15462306a36Sopenharmony_ci help 15562306a36Sopenharmony_ci This microcode relocates SMC1 and SMC2 parameter RAMs at 15662306a36Sopenharmony_ci offset 0x1ec0 and 0x1fc0 to allow extended parameter RAM 15762306a36Sopenharmony_ci for SCC3 and SCC4. 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ciendchoice 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ciconfig UCODE_PATCH 16262306a36Sopenharmony_ci bool 16362306a36Sopenharmony_ci default y 16462306a36Sopenharmony_ci depends on !NO_UCODE_PATCH 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_cimenu "8xx advanced setup" 16762306a36Sopenharmony_ci depends on PPC_8xx 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciconfig PIN_TLB 17062306a36Sopenharmony_ci bool "Pinned Kernel TLBs" 17162306a36Sopenharmony_ci depends on ADVANCED_OPTIONS 17262306a36Sopenharmony_ci help 17362306a36Sopenharmony_ci On the 8xx, we have 32 instruction TLBs and 32 data TLBs. In each 17462306a36Sopenharmony_ci table 4 TLBs can be pinned. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci It reduces the amount of usable TLBs to 28 (ie by 12%). That's the 17762306a36Sopenharmony_ci reason why we make it selectable. 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci This option does nothing, it just activate the selection of what 18062306a36Sopenharmony_ci to pin. 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciconfig PIN_TLB_DATA 18362306a36Sopenharmony_ci bool "Pinned TLB for DATA" 18462306a36Sopenharmony_ci depends on PIN_TLB 18562306a36Sopenharmony_ci default y 18662306a36Sopenharmony_ci help 18762306a36Sopenharmony_ci This pins the first 32 Mbytes of memory with 8M pages. 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ciconfig PIN_TLB_IMMR 19062306a36Sopenharmony_ci bool "Pinned TLB for IMMR" 19162306a36Sopenharmony_ci depends on PIN_TLB 19262306a36Sopenharmony_ci default y 19362306a36Sopenharmony_ci help 19462306a36Sopenharmony_ci This pins the IMMR area with a 512kbytes page. In case 19562306a36Sopenharmony_ci CONFIG_PIN_TLB_DATA is also selected, it will reduce 19662306a36Sopenharmony_ci CONFIG_PIN_TLB_DATA to 24 Mbytes. 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciendmenu 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ciendmenu 201