Message ID | 20221018210146.193159-1-shentey@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | ppc/e500: Add support for two types of flash, cleanup | expand |
Am 18. Oktober 2022 21:01:39 UTC schrieb Bernhard Beschow <shentey@gmail.com>: >Cover letter: > >~~~~~~~~~~~~~ > > > >This series adds support for -pflash and direct SD card access to the > >PPC e500 boards. The idea is to increase compatibility with "real" firmware > >images where only the bare minimum of drivers is compiled in. > > > >The series is structured as follows: > > > >Patches 1-4 perform some general cleanup which paves the way for the rest of > >the series. > > > >Patch 5 adds -pflash handling where memory-mapped flash can be added on > >user's behalf. That is, the flash memory region in the eLBC is only added if > >the -pflash argument is supplied. Note that the cfi01 device model becomes > >stricter in checking the size of the emulated flash space. > > > >Patches 6 and 7 add a new device model - the Freescale eSDHC - to the e500 > >boards which was missing so far. > > > >User documentation is also added as the new features become available. > > > >Tesing done: > >* `qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append > >"console=ttyS0 rootwait root=/dev/mtdblock0 nokaslr" -drive > >if=pflash,file=rootfs.ext2,format=raw` > >* `qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append > >"console=ttyS0 rootwait root=/dev/mmcblk0" -device sd-card,drive=mydrive -drive > >id=mydrive,if=none,file=rootfs.ext2,format=raw` > > > >The load was created using latest Buildroot with `make > >qemu_ppc_e500mc_defconfig` where the rootfs was configured to be of ext2 type. > >In both cases it was possible to log in and explore the root file system. > > > >v4: > >~~~ > >Zoltan: > >- Don't suggest presence of qemu-system-ppc32 in documentation > > > >Bin: > >- New patch: docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) > > > >Peter: > >- Inline pflash_cfi01_register() rather than modify it (similar to v2) > Ping > > >v3: > >~~~ > >Phil: > >- Also add power-of-2 fix to pflash_cfi02 > >- Resolve cfi01-specific assertion in e500 code > >- Resolve unused define in eSDHC device model > >- Resolve redundant alignment checks in eSDHC device model > > > >Bin: > >- Add dedicated flash chapter to documentation > > > >Bernhard: > >- Use is_power_of_2() instead of ctpop64() for better readability > >- Only instantiate eSDHC device model in ppce500 (not used in MPC8544DS) > >- Rebase onto gitlab.com/danielhb/qemu/tree/ppc-next > > > >v2: > >~~~ > >Bin: > >- Add source for MPC8544DS platform bus' memory map in commit message. > >- Keep "ESDHC" in comment referring to Linux driver. > >- Use "qemu-system-ppc{64|32} in documentation. > >- Use g_autofree in device tree code. > >- Remove unneeded device tree properties. > >- Error out if pflash size doesn't fit into eLBC memory window. > >- Remove unused ESDHC defines. > >- Define macro ESDHC_WML for register offset with magic constant. > >- Fix some whitespace issues when adding eSDHC device to e500. > > > >Phil: > >- Fix tense in commit message. > > > >Bernhard Beschow (7): > > docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) > > hw/block/pflash_cfi0{1,2}: Error out if device length isn't a power of > > two > > hw/sd/sdhci-internal: Unexport ESDHC defines > > hw/sd/sdhci: Rename ESDHC_* defines to USDHC_* > > hw/ppc/e500: Implement pflash handling > > hw/sd/sdhci: Implement Freescale eSDHC device model > > hw/ppc/e500: Add Freescale eSDHC to e500plat > > > > docs/system/ppc/ppce500.rst | 38 +++++++- > > hw/block/pflash_cfi01.c | 8 +- > > hw/block/pflash_cfi02.c | 5 + > > hw/ppc/Kconfig | 2 + > > hw/ppc/e500.c | 114 +++++++++++++++++++++- > > hw/ppc/e500.h | 1 + > > hw/ppc/e500plat.c | 1 + > > hw/sd/sdhci-internal.h | 20 ---- > > hw/sd/sdhci.c | 183 +++++++++++++++++++++++++++++++----- > > include/hw/sd/sdhci.h | 3 + > > 10 files changed, 324 insertions(+), 51 deletions(-) > > > >-- > >2.38.0 > > >
Hi, Since this is being sent to qemu-ppc and has to do with e500 I decided to take a look. I acked the e500 related patches, 5 and 7. Patch 6 LGTM as well but I'd rather not ack it it's SD specific code. I'll send a PowerPC pull request this week. I can grab this series via the ppc tree if someone with SD authority acks patch 6. Thanks, Daniel On 10/18/22 18:01, Bernhard Beschow wrote: > Cover letter: > ~~~~~~~~~~~~~ > > This series adds support for -pflash and direct SD card access to the > PPC e500 boards. The idea is to increase compatibility with "real" firmware > images where only the bare minimum of drivers is compiled in. > > The series is structured as follows: > > Patches 1-4 perform some general cleanup which paves the way for the rest of > the series. > > Patch 5 adds -pflash handling where memory-mapped flash can be added on > user's behalf. That is, the flash memory region in the eLBC is only added if > the -pflash argument is supplied. Note that the cfi01 device model becomes > stricter in checking the size of the emulated flash space. > > Patches 6 and 7 add a new device model - the Freescale eSDHC - to the e500 > boards which was missing so far. > > User documentation is also added as the new features become available. > > Tesing done: > * `qeu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append > "console=ttyS0 rootwait root=/dev/mtdblock0 nokaslr" -drive > if=pflash,file=rootfs.ext2,format=raw` > * `qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append > "console=ttyS0 rootwait root=/dev/mmcblk0" -device sd-card,drive=mydrive -drive > id=mydrive,if=none,file=rootfs.ext2,format=raw` > > The load was created using latest Buildroot with `make > qemu_ppc_e500mc_defconfig` where the rootfs was configured to be of ext2 type. > In both cases it was possible to log in and explore the root file system. > > v4: > ~~~ > Zoltan: > - Don't suggest presence of qemu-system-ppc32 in documentation > > Bin: > - New patch: docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) > > Peter: > - Inline pflash_cfi01_register() rather than modify it (similar to v2) > > v3: > ~~~ > Phil: > - Also add power-of-2 fix to pflash_cfi02 > - Resolve cfi01-specific assertion in e500 code > - Resolve unused define in eSDHC device model > - Resolve redundant alignment checks in eSDHC device model > > Bin: > - Add dedicated flash chapter to documentation > > Bernhard: > - Use is_power_of_2() instead of ctpop64() for better readability > - Only instantiate eSDHC device model in ppce500 (not used in MPC8544DS) > - Rebase onto gitlab.com/danielhb/qemu/tree/ppc-next > > v2: > ~~~ > Bin: > - Add source for MPC8544DS platform bus' memory map in commit message. > - Keep "ESDHC" in comment referring to Linux driver. > - Use "qemu-system-ppc{64|32} in documentation. > - Use g_autofree in device tree code. > - Remove unneeded device tree properties. > - Error out if pflash size doesn't fit into eLBC memory window. > - Remove unused ESDHC defines. > - Define macro ESDHC_WML for register offset with magic constant. > - Fix some whitespace issues when adding eSDHC device to e500. > > Phil: > - Fix tense in commit message. > > Bernhard Beschow (7): > docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) > hw/block/pflash_cfi0{1,2}: Error out if device length isn't a power of > two > hw/sd/sdhci-internal: Unexport ESDHC defines > hw/sd/sdhci: Rename ESDHC_* defines to USDHC_* > hw/ppc/e500: Implement pflash handling > hw/sd/sdhci: Implement Freescale eSDHC device model > hw/ppc/e500: Add Freescale eSDHC to e500plat > > docs/system/ppc/ppce500.rst | 38 +++++++- > hw/block/pflash_cfi01.c | 8 +- > hw/block/pflash_cfi02.c | 5 + > hw/ppc/Kconfig | 2 + > hw/ppc/e500.c | 114 +++++++++++++++++++++- > hw/ppc/e500.h | 1 + > hw/ppc/e500plat.c | 1 + > hw/sd/sdhci-internal.h | 20 ---- > hw/sd/sdhci.c | 183 +++++++++++++++++++++++++++++++----- > include/hw/sd/sdhci.h | 3 + > 10 files changed, 324 insertions(+), 51 deletions(-) >
Am 26. Oktober 2022 17:18:14 UTC schrieb Daniel Henrique Barboza <danielhb413@gmail.com>: >Hi, > >Since this is being sent to qemu-ppc and has to do with e500 I decided to >take a look. I acked the e500 related patches, 5 and 7. Patch 6 LGTM as well >but I'd rather not ack it it's SD specific code. > >I'll send a PowerPC pull request this week. I can grab this series via the ppc >tree if someone with SD authority acks patch 6. This would be awesome. If we can't reach consensus on the eSDHC device until then perhaps you could pull everything but the last two patches? Thanks Daniel for generally absorbing any patches floating around which look remotely useful for the ppc tree. This is rewarding. Best regards, Bernhard > > >Thanks, > > >Daniel > > > > > >On 10/18/22 18:01, Bernhard Beschow wrote: >> Cover letter: >> ~~~~~~~~~~~~~ >> >> This series adds support for -pflash and direct SD card access to the >> PPC e500 boards. The idea is to increase compatibility with "real" firmware >> images where only the bare minimum of drivers is compiled in. >> >> The series is structured as follows: >> >> Patches 1-4 perform some general cleanup which paves the way for the rest of >> the series. >> >> Patch 5 adds -pflash handling where memory-mapped flash can be added on >> user's behalf. That is, the flash memory region in the eLBC is only added if >> the -pflash argument is supplied. Note that the cfi01 device model becomes >> stricter in checking the size of the emulated flash space. >> >> Patches 6 and 7 add a new device model - the Freescale eSDHC - to the e500 >> boards which was missing so far. >> >> User documentation is also added as the new features become available. >> >> Tesing done: >> * `qeu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append >> "console=ttyS0 rootwait root=/dev/mtdblock0 nokaslr" -drive >> if=pflash,file=rootfs.ext2,format=raw` >> * `qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append >> "console=ttyS0 rootwait root=/dev/mmcblk0" -device sd-card,drive=mydrive -drive >> id=mydrive,if=none,file=rootfs.ext2,format=raw` >> >> The load was created using latest Buildroot with `make >> qemu_ppc_e500mc_defconfig` where the rootfs was configured to be of ext2 type. >> In both cases it was possible to log in and explore the root file system. >> >> v4: >> ~~~ >> Zoltan: >> - Don't suggest presence of qemu-system-ppc32 in documentation >> >> Bin: >> - New patch: docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) >> >> Peter: >> - Inline pflash_cfi01_register() rather than modify it (similar to v2) >> >> v3: >> ~~~ >> Phil: >> - Also add power-of-2 fix to pflash_cfi02 >> - Resolve cfi01-specific assertion in e500 code >> - Resolve unused define in eSDHC device model >> - Resolve redundant alignment checks in eSDHC device model >> >> Bin: >> - Add dedicated flash chapter to documentation >> >> Bernhard: >> - Use is_power_of_2() instead of ctpop64() for better readability >> - Only instantiate eSDHC device model in ppce500 (not used in MPC8544DS) >> - Rebase onto gitlab.com/danielhb/qemu/tree/ppc-next >> >> v2: >> ~~~ >> Bin: >> - Add source for MPC8544DS platform bus' memory map in commit message. >> - Keep "ESDHC" in comment referring to Linux driver. >> - Use "qemu-system-ppc{64|32} in documentation. >> - Use g_autofree in device tree code. >> - Remove unneeded device tree properties. >> - Error out if pflash size doesn't fit into eLBC memory window. >> - Remove unused ESDHC defines. >> - Define macro ESDHC_WML for register offset with magic constant. >> - Fix some whitespace issues when adding eSDHC device to e500. >> >> Phil: >> - Fix tense in commit message. >> >> Bernhard Beschow (7): >> docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) >> hw/block/pflash_cfi0{1,2}: Error out if device length isn't a power of >> two >> hw/sd/sdhci-internal: Unexport ESDHC defines >> hw/sd/sdhci: Rename ESDHC_* defines to USDHC_* >> hw/ppc/e500: Implement pflash handling >> hw/sd/sdhci: Implement Freescale eSDHC device model >> hw/ppc/e500: Add Freescale eSDHC to e500plat >> >> docs/system/ppc/ppce500.rst | 38 +++++++- >> hw/block/pflash_cfi01.c | 8 +- >> hw/block/pflash_cfi02.c | 5 + >> hw/ppc/Kconfig | 2 + >> hw/ppc/e500.c | 114 +++++++++++++++++++++- >> hw/ppc/e500.h | 1 + >> hw/ppc/e500plat.c | 1 + >> hw/sd/sdhci-internal.h | 20 ---- >> hw/sd/sdhci.c | 183 +++++++++++++++++++++++++++++++----- >> include/hw/sd/sdhci.h | 3 + >> 10 files changed, 324 insertions(+), 51 deletions(-) >>
On 10/26/22 16:51, B wrote: > > > Am 26. Oktober 2022 17:18:14 UTC schrieb Daniel Henrique Barboza <danielhb413@gmail.com>: >> Hi, >> >> Since this is being sent to qemu-ppc and has to do with e500 I decided to >> take a look. I acked the e500 related patches, 5 and 7. Patch 6 LGTM as well >> but I'd rather not ack it it's SD specific code. >> >> I'll send a PowerPC pull request this week. I can grab this series via the ppc >> tree if someone with SD authority acks patch 6. > > This would be awesome. If we can't reach consensus on the eSDHC device until then perhaps you could pull everything but the last two patches? That's fair enough. Just applied 1-5 to ppc-next. I'll send a PR most likely Friday. If patch 6 gets an ACK until then I'll pick 6 and 7 as well. I'll be offline start of next week so this will be my last PR before the freeze. If a patch 6 ACK arrives after Friday we'll need the SD maintainers to pick those in before the freeze. Patch 7 has my ACK so feel free to take it. > > Thanks Daniel for generally absorbing any patches floating around which look remotely useful for the ppc tree. This is rewarding. Glad I'm able to help! Daniel > > Best regards, > Bernhard >> >> >> Thanks, >> >> >> Daniel >> >> >> >> >> >> On 10/18/22 18:01, Bernhard Beschow wrote: >>> Cover letter: >>> ~~~~~~~~~~~~~ >>> >>> This series adds support for -pflash and direct SD card access to the >>> PPC e500 boards. The idea is to increase compatibility with "real" firmware >>> images where only the bare minimum of drivers is compiled in. >>> >>> The series is structured as follows: >>> >>> Patches 1-4 perform some general cleanup which paves the way for the rest of >>> the series. >>> >>> Patch 5 adds -pflash handling where memory-mapped flash can be added on >>> user's behalf. That is, the flash memory region in the eLBC is only added if >>> the -pflash argument is supplied. Note that the cfi01 device model becomes >>> stricter in checking the size of the emulated flash space. >>> >>> Patches 6 and 7 add a new device model - the Freescale eSDHC - to the e500 >>> boards which was missing so far. >>> >>> User documentation is also added as the new features become available. >>> >>> Tesing done: >>> * `qeu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append >>> "console=ttyS0 rootwait root=/dev/mtdblock0 nokaslr" -drive >>> if=pflash,file=rootfs.ext2,format=raw` >>> * `qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel uImage -append >>> "console=ttyS0 rootwait root=/dev/mmcblk0" -device sd-card,drive=mydrive -drive >>> id=mydrive,if=none,file=rootfs.ext2,format=raw` >>> >>> The load was created using latest Buildroot with `make >>> qemu_ppc_e500mc_defconfig` where the rootfs was configured to be of ext2 type. >>> In both cases it was possible to log in and explore the root file system. >>> >>> v4: >>> ~~~ >>> Zoltan: >>> - Don't suggest presence of qemu-system-ppc32 in documentation >>> >>> Bin: >>> - New patch: docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) >>> >>> Peter: >>> - Inline pflash_cfi01_register() rather than modify it (similar to v2) >>> >>> v3: >>> ~~~ >>> Phil: >>> - Also add power-of-2 fix to pflash_cfi02 >>> - Resolve cfi01-specific assertion in e500 code >>> - Resolve unused define in eSDHC device model >>> - Resolve redundant alignment checks in eSDHC device model >>> >>> Bin: >>> - Add dedicated flash chapter to documentation >>> >>> Bernhard: >>> - Use is_power_of_2() instead of ctpop64() for better readability >>> - Only instantiate eSDHC device model in ppce500 (not used in MPC8544DS) >>> - Rebase onto gitlab.com/danielhb/qemu/tree/ppc-next >>> >>> v2: >>> ~~~ >>> Bin: >>> - Add source for MPC8544DS platform bus' memory map in commit message. >>> - Keep "ESDHC" in comment referring to Linux driver. >>> - Use "qemu-system-ppc{64|32} in documentation. >>> - Use g_autofree in device tree code. >>> - Remove unneeded device tree properties. >>> - Error out if pflash size doesn't fit into eLBC memory window. >>> - Remove unused ESDHC defines. >>> - Define macro ESDHC_WML for register offset with magic constant. >>> - Fix some whitespace issues when adding eSDHC device to e500. >>> >>> Phil: >>> - Fix tense in commit message. >>> >>> Bernhard Beschow (7): >>> docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s) >>> hw/block/pflash_cfi0{1,2}: Error out if device length isn't a power of >>> two >>> hw/sd/sdhci-internal: Unexport ESDHC defines >>> hw/sd/sdhci: Rename ESDHC_* defines to USDHC_* >>> hw/ppc/e500: Implement pflash handling >>> hw/sd/sdhci: Implement Freescale eSDHC device model >>> hw/ppc/e500: Add Freescale eSDHC to e500plat >>> >>> docs/system/ppc/ppce500.rst | 38 +++++++- >>> hw/block/pflash_cfi01.c | 8 +- >>> hw/block/pflash_cfi02.c | 5 + >>> hw/ppc/Kconfig | 2 + >>> hw/ppc/e500.c | 114 +++++++++++++++++++++- >>> hw/ppc/e500.h | 1 + >>> hw/ppc/e500plat.c | 1 + >>> hw/sd/sdhci-internal.h | 20 ---- >>> hw/sd/sdhci.c | 183 +++++++++++++++++++++++++++++++----- >>> include/hw/sd/sdhci.h | 3 + >>> 10 files changed, 324 insertions(+), 51 deletions(-) >>>
Hi Daniel, On 26/10/22 19:18, Daniel Henrique Barboza wrote: > Hi, > > Since this is being sent to qemu-ppc and has to do with e500 I decided to > take a look. I acked the e500 related patches, 5 and 7. Patch 6 LGTM as > well > but I'd rather not ack it it's SD specific code. > > I'll send a PowerPC pull request this week. I can grab this series via > the ppc > tree if someone with SD authority acks patch 6. I was not very happy with the SDHCI changes and sent a counter (simpler) proposal to Bernhard, see: https://lore.kernel.org/qemu-devel/20221031115402.91912-1-philmd@linaro.org/ Regards, Phil.