Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge changes from Paul Gortmaker

Merge the changes to retire the legacy WR sbc8548 and sbc8641 platforms
from Paul. These were sent as a pull request, but I rebased them onto
rc2 so as not to pull too many unrelated changes in to my next.

Description from Paul's pull request follows:

In v2.6.27 (2008, 917f0af9e5a9) the sbc8260 support was implicitly
retired by not being carried forward through the ppc --> powerpc
device tree transition.

Then, in v3.6 (2012, b048b4e17cbb) we retired the support for the
sbc8560 boards.

Next, in v4.18 (2017, 3bc6cf5a86e5) we retired the support for the
2006 vintage sbc834x boards.

The sbc8548 and sbc8641d boards were maybe 1-2 years newer than the
sbc834x boards, but it is also 3+ years later, so it makes sense to
now retire them as well - which is what is done here.

These two remaining WR boards were based on the Freescale MPC8548-CDS
and the MPC8641D-HPCN reference board implementations. Having had the
chance to use these and many other Fsl ref boards, I know this: The
Freescale reference boards were typically produced in limited quantity
and primarily available to BSP developers and hardware designers, and
not likely to have found a 2nd life with hobbyists and/or collectors.

It was good to have that BSP code subjected to mainline review and
hence also widely available back in the day. But given the above, we
should probably also be giving serious consideration to retiring
additional similar age/type reference board platforms as well.

I've always felt it is important for us to be proactive in retiring
old code, since it has a genuine non-zero carrying cost, as described
in the 930d52c012b8 merge log. But for the here and now, we just
clean up the remaining BSP code that I had added for SBC platforms.

Link: https://lore.kernel.org/r/20210824174209.GB160508@windriver.com

+2 -1022
-1
MAINTAINERS
··· 6801 6801 F: drivers/media/usb/em28xx/ 6802 6802 6803 6803 EMBEDDED LINUX 6804 - M: Paul Gortmaker <paul.gortmaker@windriver.com> 6805 6804 M: Matt Mackall <mpm@selenic.com> 6806 6805 M: David Woodhouse <dwmw2@infradead.org> 6807 6806 L: linux-embedded@vger.kernel.org
-1
arch/powerpc/boot/Makefile
··· 341 341 image-$(CONFIG_TQM8548) += cuImage.tqm8548 342 342 image-$(CONFIG_TQM8555) += cuImage.tqm8555 343 343 image-$(CONFIG_TQM8560) += cuImage.tqm8560 344 - image-$(CONFIG_SBC8548) += cuImage.sbc8548 345 344 image-$(CONFIG_KSI8560) += cuImage.ksi8560 346 345 347 346 # Board ports in arch/powerpc/platform/86xx/Kconfig
-176
arch/powerpc/boot/dts/fsl/sbc8641d.dts
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * SBC8641D Device Tree Source 4 - * 5 - * Copyright 2008 Wind River Systems Inc. 6 - * 7 - * Paul Gortmaker (see MAINTAINERS for contact information) 8 - * 9 - * Based largely on the mpc8641_hpcn.dts by Freescale Semiconductor Inc. 10 - */ 11 - 12 - /include/ "mpc8641si-pre.dtsi" 13 - 14 - / { 15 - model = "SBC8641D"; 16 - compatible = "wind,sbc8641"; 17 - 18 - memory { 19 - device_type = "memory"; 20 - reg = <0x00000000 0x20000000>; // 512M at 0x0 21 - }; 22 - 23 - lbc: localbus@f8005000 { 24 - reg = <0xf8005000 0x1000>; 25 - 26 - ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash 27 - 1 0 0xf0000000 0x00010000 // 64KB EEPROM 28 - 2 0 0xf1000000 0x00100000 // EPLD (1MB) 29 - 3 0 0xe0000000 0x04000000 // 64MB LB SDRAM (CS3) 30 - 4 0 0xe4000000 0x04000000 // 64MB LB SDRAM (CS4) 31 - 6 0 0xf4000000 0x00100000 // LCD display (1MB) 32 - 7 0 0xe8000000 0x04000000>; // 64MB OneNAND 33 - 34 - flash@0,0 { 35 - compatible = "cfi-flash"; 36 - reg = <0 0 0x01000000>; 37 - bank-width = <2>; 38 - device-width = <2>; 39 - #address-cells = <1>; 40 - #size-cells = <1>; 41 - partition@0 { 42 - label = "dtb"; 43 - reg = <0x00000000 0x00100000>; 44 - read-only; 45 - }; 46 - partition@300000 { 47 - label = "kernel"; 48 - reg = <0x00100000 0x00400000>; 49 - read-only; 50 - }; 51 - partition@400000 { 52 - label = "fs"; 53 - reg = <0x00500000 0x00a00000>; 54 - }; 55 - partition@700000 { 56 - label = "firmware"; 57 - reg = <0x00f00000 0x00100000>; 58 - read-only; 59 - }; 60 - }; 61 - 62 - epld@2,0 { 63 - compatible = "wrs,epld-localbus"; 64 - #address-cells = <2>; 65 - #size-cells = <1>; 66 - reg = <2 0 0x100000>; 67 - ranges = <0 0 5 0 1 // User switches 68 - 1 0 5 1 1 // Board ID/Rev 69 - 3 0 5 3 1>; // LEDs 70 - }; 71 - }; 72 - 73 - soc: soc@f8000000 { 74 - ranges = <0x00000000 0xf8000000 0x00100000>; 75 - 76 - enet0: ethernet@24000 { 77 - tbi-handle = <&tbi0>; 78 - phy-handle = <&phy0>; 79 - phy-connection-type = "rgmii-id"; 80 - }; 81 - 82 - mdio@24520 { 83 - phy0: ethernet-phy@1f { 84 - reg = <0x1f>; 85 - }; 86 - phy1: ethernet-phy@0 { 87 - reg = <0>; 88 - }; 89 - phy2: ethernet-phy@1 { 90 - reg = <1>; 91 - }; 92 - phy3: ethernet-phy@2 { 93 - reg = <2>; 94 - }; 95 - tbi0: tbi-phy@11 { 96 - reg = <0x11>; 97 - device_type = "tbi-phy"; 98 - }; 99 - }; 100 - 101 - enet1: ethernet@25000 { 102 - tbi-handle = <&tbi1>; 103 - phy-handle = <&phy1>; 104 - phy-connection-type = "rgmii-id"; 105 - }; 106 - 107 - mdio@25520 { 108 - tbi1: tbi-phy@11 { 109 - reg = <0x11>; 110 - device_type = "tbi-phy"; 111 - }; 112 - }; 113 - 114 - enet2: ethernet@26000 { 115 - tbi-handle = <&tbi2>; 116 - phy-handle = <&phy2>; 117 - phy-connection-type = "rgmii-id"; 118 - }; 119 - 120 - mdio@26520 { 121 - tbi2: tbi-phy@11 { 122 - reg = <0x11>; 123 - device_type = "tbi-phy"; 124 - }; 125 - }; 126 - 127 - enet3: ethernet@27000 { 128 - tbi-handle = <&tbi3>; 129 - phy-handle = <&phy3>; 130 - phy-connection-type = "rgmii-id"; 131 - }; 132 - 133 - mdio@27520 { 134 - tbi3: tbi-phy@11 { 135 - reg = <0x11>; 136 - device_type = "tbi-phy"; 137 - }; 138 - }; 139 - }; 140 - 141 - pci0: pcie@f8008000 { 142 - reg = <0xf8008000 0x1000>; 143 - ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000 144 - 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>; 145 - interrupt-map-mask = <0xff00 0 0 7>; 146 - 147 - pcie@0 { 148 - ranges = <0x02000000 0x0 0x80000000 149 - 0x02000000 0x0 0x80000000 150 - 0x0 0x20000000 151 - 152 - 0x01000000 0x0 0x00000000 153 - 0x01000000 0x0 0x00000000 154 - 0x0 0x00100000>; 155 - }; 156 - 157 - }; 158 - 159 - pci1: pcie@f8009000 { 160 - reg = <0xf8009000 0x1000>; 161 - ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 162 - 0x01000000 0x0 0x00000000 0xe3000000 0x0 0x00100000>; 163 - 164 - pcie@0 { 165 - ranges = <0x02000000 0x0 0xa0000000 166 - 0x02000000 0x0 0xa0000000 167 - 0x0 0x20000000 168 - 169 - 0x01000000 0x0 0x00000000 170 - 0x01000000 0x0 0x00000000 171 - 0x0 0x00100000>; 172 - }; 173 - }; 174 - }; 175 - 176 - /include/ "mpc8641si-post.dtsi"
-111
arch/powerpc/boot/dts/sbc8548-altflash.dts
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * SBC8548 Device Tree Source 4 - * 5 - * Configured for booting off the alternate (64MB SODIMM) flash. 6 - * Requires switching JP12 jumpers and changing SW2.8 setting. 7 - * 8 - * Copyright 2013 Wind River Systems Inc. 9 - * 10 - * Paul Gortmaker (see MAINTAINERS for contact information) 11 - */ 12 - 13 - 14 - /dts-v1/; 15 - 16 - /include/ "sbc8548-pre.dtsi" 17 - 18 - /{ 19 - localbus@e0000000 { 20 - #address-cells = <2>; 21 - #size-cells = <1>; 22 - compatible = "simple-bus"; 23 - reg = <0xe0000000 0x5000>; 24 - interrupt-parent = <&mpic>; 25 - 26 - ranges = <0x0 0x0 0xfc000000 0x04000000 /*64MB Flash*/ 27 - 0x3 0x0 0xf0000000 0x04000000 /*64MB SDRAM*/ 28 - 0x4 0x0 0xf4000000 0x04000000 /*64MB SDRAM*/ 29 - 0x5 0x0 0xf8000000 0x00b10000 /* EPLD */ 30 - 0x6 0x0 0xef800000 0x00800000>; /*8MB Flash*/ 31 - 32 - flash@0,0 { 33 - #address-cells = <1>; 34 - #size-cells = <1>; 35 - reg = <0x0 0x0 0x04000000>; 36 - compatible = "intel,JS28F128", "cfi-flash"; 37 - bank-width = <4>; 38 - device-width = <1>; 39 - partition@0 { 40 - label = "space"; 41 - /* FC000000 -> FFEFFFFF */ 42 - reg = <0x00000000 0x03f00000>; 43 - }; 44 - partition@3f00000 { 45 - label = "bootloader"; 46 - /* FFF00000 -> FFFFFFFF */ 47 - reg = <0x03f00000 0x00100000>; 48 - read-only; 49 - }; 50 - }; 51 - 52 - 53 - epld@5,0 { 54 - compatible = "wrs,epld-localbus"; 55 - #address-cells = <2>; 56 - #size-cells = <1>; 57 - reg = <0x5 0x0 0x00b10000>; 58 - ranges = < 59 - 0x0 0x0 0x5 0x000000 0x1fff /* LED */ 60 - 0x1 0x0 0x5 0x100000 0x1fff /* Switches */ 61 - 0x3 0x0 0x5 0x300000 0x1fff /* HW Rev. */ 62 - 0xb 0x0 0x5 0xb00000 0x1fff /* EEPROM */ 63 - >; 64 - 65 - led@0,0 { 66 - compatible = "led"; 67 - reg = <0x0 0x0 0x1fff>; 68 - }; 69 - 70 - switches@1,0 { 71 - compatible = "switches"; 72 - reg = <0x1 0x0 0x1fff>; 73 - }; 74 - 75 - hw-rev@3,0 { 76 - compatible = "hw-rev"; 77 - reg = <0x3 0x0 0x1fff>; 78 - }; 79 - 80 - eeprom@b,0 { 81 - compatible = "eeprom"; 82 - reg = <0xb 0 0x1fff>; 83 - }; 84 - 85 - }; 86 - 87 - alt-flash@6,0 { 88 - #address-cells = <1>; 89 - #size-cells = <1>; 90 - compatible = "intel,JS28F640", "cfi-flash"; 91 - reg = <0x6 0x0 0x800000>; 92 - bank-width = <1>; 93 - device-width = <1>; 94 - partition@0 { 95 - label = "space"; 96 - /* EF800000 -> EFF9FFFF */ 97 - reg = <0x00000000 0x007a0000>; 98 - }; 99 - partition@7a0000 { 100 - label = "bootloader"; 101 - /* EFFA0000 -> EFFFFFFF */ 102 - reg = <0x007a0000 0x00060000>; 103 - read-only; 104 - }; 105 - }; 106 - 107 - 108 - }; 109 - }; 110 - 111 - /include/ "sbc8548-post.dtsi"
-289
arch/powerpc/boot/dts/sbc8548-post.dtsi
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * SBC8548 Device Tree Source 4 - * 5 - * Copyright 2007 Wind River Systems Inc. 6 - * 7 - * Paul Gortmaker (see MAINTAINERS for contact information) 8 - */ 9 - 10 - /{ 11 - soc8548@e0000000 { 12 - #address-cells = <1>; 13 - #size-cells = <1>; 14 - device_type = "soc"; 15 - ranges = <0x00000000 0xe0000000 0x00100000>; 16 - bus-frequency = <0>; 17 - compatible = "simple-bus"; 18 - 19 - ecm-law@0 { 20 - compatible = "fsl,ecm-law"; 21 - reg = <0x0 0x1000>; 22 - fsl,num-laws = <10>; 23 - }; 24 - 25 - ecm@1000 { 26 - compatible = "fsl,mpc8548-ecm", "fsl,ecm"; 27 - reg = <0x1000 0x1000>; 28 - interrupts = <17 2>; 29 - interrupt-parent = <&mpic>; 30 - }; 31 - 32 - memory-controller@2000 { 33 - compatible = "fsl,mpc8548-memory-controller"; 34 - reg = <0x2000 0x1000>; 35 - interrupt-parent = <&mpic>; 36 - interrupts = <0x12 0x2>; 37 - }; 38 - 39 - L2: l2-cache-controller@20000 { 40 - compatible = "fsl,mpc8548-l2-cache-controller"; 41 - reg = <0x20000 0x1000>; 42 - cache-line-size = <0x20>; // 32 bytes 43 - cache-size = <0x80000>; // L2, 512K 44 - interrupt-parent = <&mpic>; 45 - interrupts = <0x10 0x2>; 46 - }; 47 - 48 - i2c@3000 { 49 - #address-cells = <1>; 50 - #size-cells = <0>; 51 - cell-index = <0>; 52 - compatible = "fsl-i2c"; 53 - reg = <0x3000 0x100>; 54 - interrupts = <0x2b 0x2>; 55 - interrupt-parent = <&mpic>; 56 - dfsrr; 57 - }; 58 - 59 - i2c@3100 { 60 - #address-cells = <1>; 61 - #size-cells = <0>; 62 - cell-index = <1>; 63 - compatible = "fsl-i2c"; 64 - reg = <0x3100 0x100>; 65 - interrupts = <0x2b 0x2>; 66 - interrupt-parent = <&mpic>; 67 - dfsrr; 68 - }; 69 - 70 - dma@21300 { 71 - #address-cells = <1>; 72 - #size-cells = <1>; 73 - compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma"; 74 - reg = <0x21300 0x4>; 75 - ranges = <0x0 0x21100 0x200>; 76 - cell-index = <0>; 77 - dma-channel@0 { 78 - compatible = "fsl,mpc8548-dma-channel", 79 - "fsl,eloplus-dma-channel"; 80 - reg = <0x0 0x80>; 81 - cell-index = <0>; 82 - interrupt-parent = <&mpic>; 83 - interrupts = <20 2>; 84 - }; 85 - dma-channel@80 { 86 - compatible = "fsl,mpc8548-dma-channel", 87 - "fsl,eloplus-dma-channel"; 88 - reg = <0x80 0x80>; 89 - cell-index = <1>; 90 - interrupt-parent = <&mpic>; 91 - interrupts = <21 2>; 92 - }; 93 - dma-channel@100 { 94 - compatible = "fsl,mpc8548-dma-channel", 95 - "fsl,eloplus-dma-channel"; 96 - reg = <0x100 0x80>; 97 - cell-index = <2>; 98 - interrupt-parent = <&mpic>; 99 - interrupts = <22 2>; 100 - }; 101 - dma-channel@180 { 102 - compatible = "fsl,mpc8548-dma-channel", 103 - "fsl,eloplus-dma-channel"; 104 - reg = <0x180 0x80>; 105 - cell-index = <3>; 106 - interrupt-parent = <&mpic>; 107 - interrupts = <23 2>; 108 - }; 109 - }; 110 - 111 - enet0: ethernet@24000 { 112 - #address-cells = <1>; 113 - #size-cells = <1>; 114 - cell-index = <0>; 115 - device_type = "network"; 116 - model = "eTSEC"; 117 - compatible = "gianfar"; 118 - reg = <0x24000 0x1000>; 119 - ranges = <0x0 0x24000 0x1000>; 120 - local-mac-address = [ 00 00 00 00 00 00 ]; 121 - interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; 122 - interrupt-parent = <&mpic>; 123 - tbi-handle = <&tbi0>; 124 - phy-handle = <&phy0>; 125 - 126 - mdio@520 { 127 - #address-cells = <1>; 128 - #size-cells = <0>; 129 - compatible = "fsl,gianfar-mdio"; 130 - reg = <0x520 0x20>; 131 - 132 - phy0: ethernet-phy@19 { 133 - interrupt-parent = <&mpic>; 134 - interrupts = <0x6 0x1>; 135 - reg = <0x19>; 136 - }; 137 - phy1: ethernet-phy@1a { 138 - interrupt-parent = <&mpic>; 139 - interrupts = <0x7 0x1>; 140 - reg = <0x1a>; 141 - }; 142 - tbi0: tbi-phy@11 { 143 - reg = <0x11>; 144 - device_type = "tbi-phy"; 145 - }; 146 - }; 147 - }; 148 - 149 - enet1: ethernet@25000 { 150 - #address-cells = <1>; 151 - #size-cells = <1>; 152 - cell-index = <1>; 153 - device_type = "network"; 154 - model = "eTSEC"; 155 - compatible = "gianfar"; 156 - reg = <0x25000 0x1000>; 157 - ranges = <0x0 0x25000 0x1000>; 158 - local-mac-address = [ 00 00 00 00 00 00 ]; 159 - interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>; 160 - interrupt-parent = <&mpic>; 161 - tbi-handle = <&tbi1>; 162 - phy-handle = <&phy1>; 163 - 164 - mdio@520 { 165 - #address-cells = <1>; 166 - #size-cells = <0>; 167 - compatible = "fsl,gianfar-tbi"; 168 - reg = <0x520 0x20>; 169 - 170 - tbi1: tbi-phy@11 { 171 - reg = <0x11>; 172 - device_type = "tbi-phy"; 173 - }; 174 - }; 175 - }; 176 - 177 - serial0: serial@4500 { 178 - cell-index = <0>; 179 - device_type = "serial"; 180 - compatible = "fsl,ns16550", "ns16550"; 181 - reg = <0x4500 0x100>; // reg base, size 182 - clock-frequency = <0>; // should we fill in in uboot? 183 - interrupts = <0x2a 0x2>; 184 - interrupt-parent = <&mpic>; 185 - }; 186 - 187 - serial1: serial@4600 { 188 - cell-index = <1>; 189 - device_type = "serial"; 190 - compatible = "fsl,ns16550", "ns16550"; 191 - reg = <0x4600 0x100>; // reg base, size 192 - clock-frequency = <0>; // should we fill in in uboot? 193 - interrupts = <0x2a 0x2>; 194 - interrupt-parent = <&mpic>; 195 - }; 196 - 197 - global-utilities@e0000 { //global utilities reg 198 - compatible = "fsl,mpc8548-guts"; 199 - reg = <0xe0000 0x1000>; 200 - fsl,has-rstcr; 201 - }; 202 - 203 - crypto@30000 { 204 - compatible = "fsl,sec2.1", "fsl,sec2.0"; 205 - reg = <0x30000 0x10000>; 206 - interrupts = <45 2>; 207 - interrupt-parent = <&mpic>; 208 - fsl,num-channels = <4>; 209 - fsl,channel-fifo-len = <24>; 210 - fsl,exec-units-mask = <0xfe>; 211 - fsl,descriptor-types-mask = <0x12b0ebf>; 212 - }; 213 - 214 - mpic: pic@40000 { 215 - interrupt-controller; 216 - #address-cells = <0>; 217 - #interrupt-cells = <2>; 218 - reg = <0x40000 0x40000>; 219 - compatible = "chrp,open-pic"; 220 - device_type = "open-pic"; 221 - }; 222 - }; 223 - 224 - pci0: pci@e0008000 { 225 - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 226 - interrupt-map = < 227 - /* IDSEL 0x01 (PCI-X slot) @66MHz */ 228 - 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1 229 - 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1 230 - 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1 231 - 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1 232 - 233 - /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */ 234 - 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 235 - 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 236 - 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 237 - 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>; 238 - 239 - interrupt-parent = <&mpic>; 240 - interrupts = <0x18 0x2>; 241 - bus-range = <0 0>; 242 - ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000 243 - 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>; 244 - clock-frequency = <66000000>; 245 - #interrupt-cells = <1>; 246 - #size-cells = <2>; 247 - #address-cells = <3>; 248 - reg = <0xe0008000 0x1000>; 249 - compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 250 - device_type = "pci"; 251 - }; 252 - 253 - pci1: pcie@e000a000 { 254 - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 255 - interrupt-map = < 256 - 257 - /* IDSEL 0x0 (PEX) */ 258 - 0x0000 0x0 0x0 0x1 &mpic 0x0 0x1 259 - 0x0000 0x0 0x0 0x2 &mpic 0x1 0x1 260 - 0x0000 0x0 0x0 0x3 &mpic 0x2 0x1 261 - 0x0000 0x0 0x0 0x4 &mpic 0x3 0x1>; 262 - 263 - interrupt-parent = <&mpic>; 264 - interrupts = <0x1a 0x2>; 265 - bus-range = <0x0 0xff>; 266 - ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 267 - 0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>; 268 - clock-frequency = <33000000>; 269 - #interrupt-cells = <1>; 270 - #size-cells = <2>; 271 - #address-cells = <3>; 272 - reg = <0xe000a000 0x1000>; 273 - compatible = "fsl,mpc8548-pcie"; 274 - device_type = "pci"; 275 - pcie@0 { 276 - reg = <0x0 0x0 0x0 0x0 0x0>; 277 - #size-cells = <2>; 278 - #address-cells = <3>; 279 - device_type = "pci"; 280 - ranges = <0x02000000 0x0 0xa0000000 281 - 0x02000000 0x0 0xa0000000 282 - 0x0 0x10000000 283 - 284 - 0x01000000 0x0 0x00000000 285 - 0x01000000 0x0 0x00000000 286 - 0x0 0x00800000>; 287 - }; 288 - }; 289 - };
-48
arch/powerpc/boot/dts/sbc8548-pre.dtsi
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * SBC8548 Device Tree Source 4 - * 5 - * Copyright 2007 Wind River Systems Inc. 6 - * 7 - * Paul Gortmaker (see MAINTAINERS for contact information) 8 - */ 9 - 10 - /{ 11 - model = "SBC8548"; 12 - compatible = "SBC8548"; 13 - #address-cells = <1>; 14 - #size-cells = <1>; 15 - 16 - aliases { 17 - ethernet0 = &enet0; 18 - ethernet1 = &enet1; 19 - serial0 = &serial0; 20 - serial1 = &serial1; 21 - pci0 = &pci0; 22 - pci1 = &pci1; 23 - }; 24 - 25 - cpus { 26 - #address-cells = <1>; 27 - #size-cells = <0>; 28 - 29 - PowerPC,8548@0 { 30 - device_type = "cpu"; 31 - reg = <0>; 32 - d-cache-line-size = <0x20>; // 32 bytes 33 - i-cache-line-size = <0x20>; // 32 bytes 34 - d-cache-size = <0x8000>; // L1, 32K 35 - i-cache-size = <0x8000>; // L1, 32K 36 - timebase-frequency = <0>; // From uboot 37 - bus-frequency = <0>; 38 - clock-frequency = <0>; 39 - next-level-cache = <&L2>; 40 - }; 41 - }; 42 - 43 - memory { 44 - device_type = "memory"; 45 - reg = <0x00000000 0x10000000>; 46 - }; 47 - 48 - };
-106
arch/powerpc/boot/dts/sbc8548.dts
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * SBC8548 Device Tree Source 4 - * 5 - * Copyright 2007 Wind River Systems Inc. 6 - * 7 - * Paul Gortmaker (see MAINTAINERS for contact information) 8 - */ 9 - 10 - 11 - /dts-v1/; 12 - 13 - /include/ "sbc8548-pre.dtsi" 14 - 15 - /{ 16 - localbus@e0000000 { 17 - #address-cells = <2>; 18 - #size-cells = <1>; 19 - compatible = "simple-bus"; 20 - reg = <0xe0000000 0x5000>; 21 - interrupt-parent = <&mpic>; 22 - 23 - ranges = <0x0 0x0 0xff800000 0x00800000 /*8MB Flash*/ 24 - 0x3 0x0 0xf0000000 0x04000000 /*64MB SDRAM*/ 25 - 0x4 0x0 0xf4000000 0x04000000 /*64MB SDRAM*/ 26 - 0x5 0x0 0xf8000000 0x00b10000 /* EPLD */ 27 - 0x6 0x0 0xec000000 0x04000000>; /*64MB Flash*/ 28 - 29 - 30 - flash@0,0 { 31 - #address-cells = <1>; 32 - #size-cells = <1>; 33 - compatible = "intel,JS28F640", "cfi-flash"; 34 - reg = <0x0 0x0 0x800000>; 35 - bank-width = <1>; 36 - device-width = <1>; 37 - partition@0 { 38 - label = "space"; 39 - /* FF800000 -> FFF9FFFF */ 40 - reg = <0x00000000 0x007a0000>; 41 - }; 42 - partition@7a0000 { 43 - label = "bootloader"; 44 - /* FFFA0000 -> FFFFFFFF */ 45 - reg = <0x007a0000 0x00060000>; 46 - read-only; 47 - }; 48 - }; 49 - 50 - epld@5,0 { 51 - compatible = "wrs,epld-localbus"; 52 - #address-cells = <2>; 53 - #size-cells = <1>; 54 - reg = <0x5 0x0 0x00b10000>; 55 - ranges = < 56 - 0x0 0x0 0x5 0x000000 0x1fff /* LED */ 57 - 0x1 0x0 0x5 0x100000 0x1fff /* Switches */ 58 - 0x3 0x0 0x5 0x300000 0x1fff /* HW Rev. */ 59 - 0xb 0x0 0x5 0xb00000 0x1fff /* EEPROM */ 60 - >; 61 - 62 - led@0,0 { 63 - compatible = "led"; 64 - reg = <0x0 0x0 0x1fff>; 65 - }; 66 - 67 - switches@1,0 { 68 - compatible = "switches"; 69 - reg = <0x1 0x0 0x1fff>; 70 - }; 71 - 72 - hw-rev@3,0 { 73 - compatible = "hw-rev"; 74 - reg = <0x3 0x0 0x1fff>; 75 - }; 76 - 77 - eeprom@b,0 { 78 - compatible = "eeprom"; 79 - reg = <0xb 0 0x1fff>; 80 - }; 81 - 82 - }; 83 - 84 - alt-flash@6,0 { 85 - #address-cells = <1>; 86 - #size-cells = <1>; 87 - reg = <0x6 0x0 0x04000000>; 88 - compatible = "intel,JS28F128", "cfi-flash"; 89 - bank-width = <4>; 90 - device-width = <1>; 91 - partition@0 { 92 - label = "space"; 93 - /* EC000000 -> EFEFFFFF */ 94 - reg = <0x00000000 0x03f00000>; 95 - }; 96 - partition@3f00000 { 97 - label = "bootloader"; 98 - /* EFF00000 -> EFFFFFFF */ 99 - reg = <0x03f00000 0x00100000>; 100 - read-only; 101 - }; 102 - }; 103 - }; 104 - }; 105 - 106 - /include/ "sbc8548-post.dtsi"
+1 -1
arch/powerpc/boot/wrapper
··· 298 298 *-tqm8541|*-mpc8560*|*-tqm8560|*-tqm8555|*-ksi8560*) 299 299 platformo=$object/cuboot-85xx-cpm2.o 300 300 ;; 301 - *-mpc85*|*-tqm85*|*-sbc85*) 301 + *-mpc85*|*-tqm85*) 302 302 platformo=$object/cuboot-85xx.o 303 303 ;; 304 304 *-amigaone)
-50
arch/powerpc/configs/85xx/sbc8548_defconfig
··· 1 - CONFIG_PPC_85xx=y 2 - CONFIG_SYSVIPC=y 3 - CONFIG_LOG_BUF_SHIFT=14 4 - CONFIG_BLK_DEV_INITRD=y 5 - CONFIG_EXPERT=y 6 - CONFIG_SLAB=y 7 - # CONFIG_BLK_DEV_BSG is not set 8 - CONFIG_SBC8548=y 9 - CONFIG_GEN_RTC=y 10 - CONFIG_BINFMT_MISC=y 11 - CONFIG_MATH_EMULATION=y 12 - # CONFIG_SECCOMP is not set 13 - CONFIG_PCI=y 14 - CONFIG_NET=y 15 - CONFIG_PACKET=y 16 - CONFIG_UNIX=y 17 - CONFIG_XFRM_USER=y 18 - CONFIG_INET=y 19 - CONFIG_IP_MULTICAST=y 20 - CONFIG_IP_PNP=y 21 - CONFIG_IP_PNP_DHCP=y 22 - CONFIG_IP_PNP_BOOTP=y 23 - CONFIG_SYN_COOKIES=y 24 - # CONFIG_IPV6 is not set 25 - # CONFIG_FW_LOADER is not set 26 - CONFIG_MTD=y 27 - CONFIG_MTD_BLOCK=y 28 - CONFIG_MTD_CFI=y 29 - CONFIG_MTD_CFI_ADV_OPTIONS=y 30 - CONFIG_MTD_CFI_GEOMETRY=y 31 - CONFIG_MTD_CFI_I4=y 32 - CONFIG_MTD_CFI_INTELEXT=y 33 - CONFIG_MTD_PHYSMAP_OF=y 34 - CONFIG_BLK_DEV_LOOP=y 35 - CONFIG_BLK_DEV_RAM=y 36 - CONFIG_NETDEVICES=y 37 - CONFIG_GIANFAR=y 38 - CONFIG_BROADCOM_PHY=y 39 - # CONFIG_INPUT_KEYBOARD is not set 40 - # CONFIG_INPUT_MOUSE is not set 41 - # CONFIG_SERIO is not set 42 - # CONFIG_VT is not set 43 - CONFIG_SERIAL_8250=y 44 - CONFIG_SERIAL_8250_CONSOLE=y 45 - # CONFIG_HW_RANDOM is not set 46 - # CONFIG_USB_SUPPORT is not set 47 - CONFIG_PROC_KCORE=y 48 - CONFIG_TMPFS=y 49 - CONFIG_NFS_FS=y 50 - CONFIG_ROOT_NFS=y
-1
arch/powerpc/configs/mpc85xx_base.config
··· 13 13 CONFIG_P1022_RDK=y 14 14 CONFIG_P1023_RDB=y 15 15 CONFIG_TWR_P102x=y 16 - CONFIG_SBC8548=y 17 16 CONFIG_SOCRATES=y 18 17 CONFIG_STX_GP3=y 19 18 CONFIG_TQM8540=y
-1
arch/powerpc/configs/mpc86xx_base.config
··· 1 1 CONFIG_PPC_86xx=y 2 2 CONFIG_MPC8641_HPCN=y 3 - CONFIG_SBC8641D=y 4 3 CONFIG_MPC8610_HPCD=y 5 4 CONFIG_GEF_PPC9A=y 6 5 CONFIG_GEF_SBC310=y
-1
arch/powerpc/configs/ppc6xx_defconfig
··· 55 55 CONFIG_ASP834x=y 56 56 CONFIG_PPC_86xx=y 57 57 CONFIG_MPC8641_HPCN=y 58 - CONFIG_SBC8641D=y 59 58 CONFIG_MPC8610_HPCD=y 60 59 CONFIG_GEF_SBC610=y 61 60 CONFIG_CPU_FREQ=y
-6
arch/powerpc/platforms/85xx/Kconfig
··· 208 208 select TQM85xx 209 209 select CPM2 210 210 211 - config SBC8548 212 - bool "Wind River SBC8548" 213 - select DEFAULT_UIMAGE 214 - help 215 - This option enables support for the Wind River SBC8548 board 216 - 217 211 config PPA8548 218 212 bool "Prodrive PPA8548" 219 213 help
-1
arch/powerpc/platforms/85xx/Makefile
··· 26 26 obj-$(CONFIG_FB_FSL_DIU) += t1042rdb_diu.o 27 27 obj-$(CONFIG_STX_GP3) += stx_gp3.o 28 28 obj-$(CONFIG_TQM85xx) += tqm85xx.o 29 - obj-$(CONFIG_SBC8548) += sbc8548.o 30 29 obj-$(CONFIG_PPA8548) += ppa8548.o 31 30 obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o 32 31 obj-$(CONFIG_KSI8560) += ksi8560.o
-134
arch/powerpc/platforms/85xx/sbc8548.c
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * Wind River SBC8548 setup and early boot code. 4 - * 5 - * Copyright 2007 Wind River Systems Inc. 6 - * 7 - * By Paul Gortmaker (see MAINTAINERS for contact information) 8 - * 9 - * Based largely on the MPC8548CDS support - Copyright 2005 Freescale Inc. 10 - */ 11 - 12 - #include <linux/stddef.h> 13 - #include <linux/kernel.h> 14 - #include <linux/init.h> 15 - #include <linux/errno.h> 16 - #include <linux/reboot.h> 17 - #include <linux/pci.h> 18 - #include <linux/kdev_t.h> 19 - #include <linux/major.h> 20 - #include <linux/console.h> 21 - #include <linux/delay.h> 22 - #include <linux/seq_file.h> 23 - #include <linux/initrd.h> 24 - #include <linux/interrupt.h> 25 - #include <linux/fsl_devices.h> 26 - #include <linux/of_platform.h> 27 - #include <linux/pgtable.h> 28 - 29 - #include <asm/page.h> 30 - #include <linux/atomic.h> 31 - #include <asm/time.h> 32 - #include <asm/io.h> 33 - #include <asm/machdep.h> 34 - #include <asm/ipic.h> 35 - #include <asm/pci-bridge.h> 36 - #include <asm/irq.h> 37 - #include <mm/mmu_decl.h> 38 - #include <asm/prom.h> 39 - #include <asm/udbg.h> 40 - #include <asm/mpic.h> 41 - 42 - #include <sysdev/fsl_soc.h> 43 - #include <sysdev/fsl_pci.h> 44 - 45 - #include "mpc85xx.h" 46 - 47 - static int sbc_rev; 48 - 49 - static void __init sbc8548_pic_init(void) 50 - { 51 - struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN, 52 - 0, 256, " OpenPIC "); 53 - BUG_ON(mpic == NULL); 54 - mpic_init(mpic); 55 - } 56 - 57 - /* Extract the HW Rev from the EPLD on the board */ 58 - static int __init sbc8548_hw_rev(void) 59 - { 60 - struct device_node *np; 61 - struct resource res; 62 - unsigned int *rev; 63 - int board_rev = 0; 64 - 65 - np = of_find_compatible_node(NULL, NULL, "hw-rev"); 66 - if (np == NULL) { 67 - printk("No HW-REV found in DTB.\n"); 68 - return -ENODEV; 69 - } 70 - 71 - of_address_to_resource(np, 0, &res); 72 - of_node_put(np); 73 - 74 - rev = ioremap(res.start,sizeof(unsigned int)); 75 - board_rev = (*rev) >> 28; 76 - iounmap(rev); 77 - 78 - return board_rev; 79 - } 80 - 81 - /* 82 - * Setup the architecture 83 - */ 84 - static void __init sbc8548_setup_arch(void) 85 - { 86 - if (ppc_md.progress) 87 - ppc_md.progress("sbc8548_setup_arch()", 0); 88 - 89 - fsl_pci_assign_primary(); 90 - 91 - sbc_rev = sbc8548_hw_rev(); 92 - } 93 - 94 - static void sbc8548_show_cpuinfo(struct seq_file *m) 95 - { 96 - uint pvid, svid, phid1; 97 - 98 - pvid = mfspr(SPRN_PVR); 99 - svid = mfspr(SPRN_SVR); 100 - 101 - seq_printf(m, "Vendor\t\t: Wind River\n"); 102 - seq_printf(m, "Machine\t\t: SBC8548 v%d\n", sbc_rev); 103 - seq_printf(m, "PVR\t\t: 0x%x\n", pvid); 104 - seq_printf(m, "SVR\t\t: 0x%x\n", svid); 105 - 106 - /* Display cpu Pll setting */ 107 - phid1 = mfspr(SPRN_HID1); 108 - seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f)); 109 - } 110 - 111 - machine_arch_initcall(sbc8548, mpc85xx_common_publish_devices); 112 - 113 - /* 114 - * Called very early, device-tree isn't unflattened 115 - */ 116 - static int __init sbc8548_probe(void) 117 - { 118 - return of_machine_is_compatible("SBC8548"); 119 - } 120 - 121 - define_machine(sbc8548) { 122 - .name = "SBC8548", 123 - .probe = sbc8548_probe, 124 - .setup_arch = sbc8548_setup_arch, 125 - .init_IRQ = sbc8548_pic_init, 126 - .show_cpuinfo = sbc8548_show_cpuinfo, 127 - .get_irq = mpic_get_irq, 128 - #ifdef CONFIG_PCI 129 - .pcibios_fixup_bus = fsl_pcibios_fixup_bus, 130 - .pcibios_fixup_phb = fsl_pcibios_fixup_phb, 131 - #endif 132 - .calibrate_decr = generic_calibrate_decr, 133 - .progress = udbg_progress, 134 - };
+1 -7
arch/powerpc/platforms/86xx/Kconfig
··· 20 20 help 21 21 This option enables support for the MPC8641 HPCN board. 22 22 23 - config SBC8641D 24 - bool "Wind River SBC8641D" 25 - select DEFAULT_UIMAGE 26 - help 27 - This option enables support for the WRS SBC8641D board. 28 - 29 23 config MPC8610_HPCD 30 24 bool "Freescale MPC8610 HPCD" 31 25 select DEFAULT_UIMAGE ··· 68 74 select FSL_PCI if PCI 69 75 select PPC_UDBG_16550 70 76 select MPIC 71 - default y if MPC8641_HPCN || SBC8641D || GEF_SBC610 || GEF_SBC310 || GEF_PPC9A \ 77 + default y if MPC8641_HPCN || GEF_SBC610 || GEF_SBC310 || GEF_PPC9A \ 72 78 || MVME7100 73 79 74 80 config MPC8610
-1
arch/powerpc/platforms/86xx/Makefile
··· 6 6 obj-y := pic.o common.o 7 7 obj-$(CONFIG_SMP) += mpc86xx_smp.o 8 8 obj-$(CONFIG_MPC8641_HPCN) += mpc86xx_hpcn.o 9 - obj-$(CONFIG_SBC8641D) += sbc8641d.o 10 9 obj-$(CONFIG_MPC8610_HPCD) += mpc8610_hpcd.o 11 10 obj-$(CONFIG_GEF_SBC610) += gef_sbc610.o 12 11 obj-$(CONFIG_GEF_SBC310) += gef_sbc310.o
-87
arch/powerpc/platforms/86xx/sbc8641d.c
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * SBC8641D board specific routines 4 - * 5 - * Copyright 2008 Wind River Systems Inc. 6 - * 7 - * By Paul Gortmaker (see MAINTAINERS for contact information) 8 - * 9 - * Based largely on the 8641 HPCN support by Freescale Semiconductor Inc. 10 - */ 11 - 12 - #include <linux/stddef.h> 13 - #include <linux/kernel.h> 14 - #include <linux/pci.h> 15 - #include <linux/kdev_t.h> 16 - #include <linux/delay.h> 17 - #include <linux/seq_file.h> 18 - #include <linux/of_platform.h> 19 - 20 - #include <asm/time.h> 21 - #include <asm/machdep.h> 22 - #include <asm/pci-bridge.h> 23 - #include <asm/prom.h> 24 - #include <mm/mmu_decl.h> 25 - #include <asm/udbg.h> 26 - 27 - #include <asm/mpic.h> 28 - 29 - #include <sysdev/fsl_pci.h> 30 - #include <sysdev/fsl_soc.h> 31 - 32 - #include "mpc86xx.h" 33 - 34 - static void __init 35 - sbc8641_setup_arch(void) 36 - { 37 - if (ppc_md.progress) 38 - ppc_md.progress("sbc8641_setup_arch()", 0); 39 - 40 - printk("SBC8641 board from Wind River\n"); 41 - 42 - #ifdef CONFIG_SMP 43 - mpc86xx_smp_init(); 44 - #endif 45 - 46 - fsl_pci_assign_primary(); 47 - } 48 - 49 - 50 - static void 51 - sbc8641_show_cpuinfo(struct seq_file *m) 52 - { 53 - uint svid = mfspr(SPRN_SVR); 54 - 55 - seq_printf(m, "Vendor\t\t: Wind River Systems\n"); 56 - 57 - seq_printf(m, "SVR\t\t: 0x%x\n", svid); 58 - } 59 - 60 - 61 - /* 62 - * Called very early, device-tree isn't unflattened 63 - */ 64 - static int __init sbc8641_probe(void) 65 - { 66 - if (of_machine_is_compatible("wind,sbc8641")) 67 - return 1; /* Looks good */ 68 - 69 - return 0; 70 - } 71 - 72 - machine_arch_initcall(sbc8641, mpc86xx_common_publish_devices); 73 - 74 - define_machine(sbc8641) { 75 - .name = "SBC8641D", 76 - .probe = sbc8641_probe, 77 - .setup_arch = sbc8641_setup_arch, 78 - .init_IRQ = mpc86xx_init_irq, 79 - .show_cpuinfo = sbc8641_show_cpuinfo, 80 - .get_irq = mpic_get_irq, 81 - .time_init = mpc86xx_time_init, 82 - .calibrate_decr = generic_calibrate_decr, 83 - .progress = udbg_progress, 84 - #ifdef CONFIG_PCI 85 - .pcibios_fixup_bus = fsl_pcibios_fixup_bus, 86 - #endif 87 - };