Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
On 1/20/22 13:12, Chris Morgan wrote: On Sat, Jan 15, 2022 at 04:02:05PM -0500, Jesse Taube wrote: On 1/10/22 00:13, Tnze Jdao wrote: I tested this patch and tried to run it on my LicheePi Nano. It works, but I found there is WARNINGs when compile the code: --- include/configs/sunxi-common.h:128:0: warning: "CONFIG_ENV_SECT_SIZE" redefined #define CONFIG_ENV_SECT_SIZE 0x1000 Ah I will move this it should be moved to defconfig thx for pointing this out. In file included from ././include/linux/kconfig.h:4:0, from :0: include/generated/autoconf.h:296:0: note: this is the location of the previous definition #define CONFIG_ENV_SECT_SIZE 0x1 Not entirely sure how it got defined here, it doesn't get defined in my generated config. In file included from include/configs/suniv.h:12:0, from include/config.h:4, from include/common.h:16, from lib/slre.c:24: And I think the problem is the CONFIG_ENV_SECT_SIZE should be (and required to) defined in the config file rather than at include/configs/sunxi-common.h:128 Im sorry for the late reply the email got lost. I have tested the patch on master (pulled 2022-01-20). licheepi_nano_defconfig compiles and builds just fine for me, and I am able to run it on the device without incident via FEL mode. licheepi_nano_spiflash_defconfig however gives me multiple warnings, and when the warnings are addressed it boots but gives me errors regarding the SPI controller in U-Boot. "make licheepi_nano_spiflash_defconfig" warning: WARNING: unmet direct dependencies detected for SPI_MEM Depends on [n]: SPI [=n] Selected by [y]: - SPI_FLASH [=y] When I specify CONFIG_SPI=y I get the following when I try to compile: Environment Sector-Size (ENV_SECT_SIZE) [] (NEW) When I provide a value of 0x1000 which corresponds to the block size of the SPI chip I use I then get the following warnings repeated and it fails to compile: include/configs/sunxi-common.h:60: warning: "CONFIG_SYS_LOAD_ADDR" redefined When I work through the remaining errors and get it to compile, I get this error in U-Boot when attempting to use the SPI controller: sun4i_spi spi@1c05000: failed to get ahb clock I presume the issue is that the defconfig is both incomplete for the SPI booting method and the SUN6I_SPI which is specified in the SPI defconfig is not in mainline yet. It has under a different name i have yet to make it work though. Until the SPI driver is present it's probably best to just drop the licheepi_nano_spiflash_defconfig. Tested-By: Chris Morgan Thank you for testing!! I will be fixing the issues brought up thx for the input. The issues are DRAM using the device tree. Clocks in the device tree. Pinmuxing doesn't work for device tree. And SPI boot. Most of the issues im encountering stem from SUNXI being a mix of DT and non-DT code. which is frustrating to work with. Thanks, Jesse Taube.
Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
On Sat, Jan 15, 2022 at 04:02:05PM -0500, Jesse Taube wrote: > > > On 1/10/22 00:13, Tnze Jdao wrote: > > I tested this patch and tried to run it on my LicheePi Nano. It works, but > > I found there is WARNINGs when compile the code: > > --- > > include/configs/sunxi-common.h:128:0: warning: "CONFIG_ENV_SECT_SIZE" > > redefined > > #define CONFIG_ENV_SECT_SIZE 0x1000 > Ah I will move this it should be moved to defconfig thx for pointing this > out. > > > > In file included from ././include/linux/kconfig.h:4:0, > > from :0: > > include/generated/autoconf.h:296:0: note: this is the location of the > > previous definition > > #define CONFIG_ENV_SECT_SIZE 0x1 > Not entirely sure how it got defined here, it doesn't get defined in my > generated config. > > > > In file included from include/configs/suniv.h:12:0, > > from include/config.h:4, > > from include/common.h:16, > > from lib/slre.c:24: > > > > And I think the problem is the CONFIG_ENV_SECT_SIZE should be (and required > > to) defined in the config file rather than at > > include/configs/sunxi-common.h:128 > > Im sorry for the late reply the email got lost. I have tested the patch on master (pulled 2022-01-20). licheepi_nano_defconfig compiles and builds just fine for me, and I am able to run it on the device without incident via FEL mode. licheepi_nano_spiflash_defconfig however gives me multiple warnings, and when the warnings are addressed it boots but gives me errors regarding the SPI controller in U-Boot. "make licheepi_nano_spiflash_defconfig" warning: WARNING: unmet direct dependencies detected for SPI_MEM Depends on [n]: SPI [=n] Selected by [y]: - SPI_FLASH [=y] When I specify CONFIG_SPI=y I get the following when I try to compile: Environment Sector-Size (ENV_SECT_SIZE) [] (NEW) When I provide a value of 0x1000 which corresponds to the block size of the SPI chip I use I then get the following warnings repeated and it fails to compile: include/configs/sunxi-common.h:60: warning: "CONFIG_SYS_LOAD_ADDR" redefined When I work through the remaining errors and get it to compile, I get this error in U-Boot when attempting to use the SPI controller: sun4i_spi spi@1c05000: failed to get ahb clock I presume the issue is that the defconfig is both incomplete for the SPI booting method and the SUN6I_SPI which is specified in the SPI defconfig is not in mainline yet. Until the SPI driver is present it's probably best to just drop the licheepi_nano_spiflash_defconfig. Tested-By: Chris Morgan
Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
On 1/10/22 00:13, Tnze Jdao wrote: I tested this patch and tried to run it on my LicheePi Nano. It works, but I found there is WARNINGs when compile the code: --- include/configs/sunxi-common.h:128:0: warning: "CONFIG_ENV_SECT_SIZE" redefined #define CONFIG_ENV_SECT_SIZE 0x1000 Ah I will move this it should be moved to defconfig thx for pointing this out. In file included from ././include/linux/kconfig.h:4:0, from :0: include/generated/autoconf.h:296:0: note: this is the location of the previous definition #define CONFIG_ENV_SECT_SIZE 0x1 Not entirely sure how it got defined here, it doesn't get defined in my generated config. In file included from include/configs/suniv.h:12:0, from include/config.h:4, from include/common.h:16, from lib/slre.c:24: And I think the problem is the CONFIG_ENV_SECT_SIZE should be (and required to) defined in the config file rather than at include/configs/sunxi-common.h:128 Im sorry for the late reply the email got lost.
Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
I tested this patch and tried to run it on my LicheePi Nano. It works, but I found there is WARNINGs when compile the code: --- include/configs/sunxi-common.h:128:0: warning: "CONFIG_ENV_SECT_SIZE" redefined #define CONFIG_ENV_SECT_SIZE 0x1000 In file included from ././include/linux/kconfig.h:4:0, from :0: include/generated/autoconf.h:296:0: note: this is the location of the previous definition #define CONFIG_ENV_SECT_SIZE 0x1 In file included from include/configs/suniv.h:12:0, from include/config.h:4, from include/common.h:16, from lib/slre.c:24: And I think the problem is the CONFIG_ENV_SECT_SIZE should be (and required to) defined in the config file rather than at include/configs/sunxi-common.h:128
Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
Hi All, On 05/01/22 13:54, Jesse Taube wrote: On 1/5/22 07:14, Andre Przywara wrote: On Wed, 05 Jan 2022 19:36:29 +0800 Icenowy Zheng wrote: Hi Jesse, 在 2022-01-04星期二的 19:34 -0500,Jesse Taube写道: This patch set aims to add suport for the SUNIV and F1C100s. Suport has been in linux for a while now, but not in u-boot. This patchset contains: - CPU specific initialization code - SUNIV dram driver - SUNIV clock driver adaption - SUNIV gpio driver adaption - SUNIV uart driver adaption - F1C100s basic support I am hoping to get Icenowy's patches in as it seems she hasnt submitted in a while. The only edits I made to her code is rebasing it against ML and changing some formating. I also re-grouped her commits. I got too lazy to send it (because I think F1C100s is just too weak)... I am wondering if the dram driver should be moved into device drivers rather than in mach-sunxi. I am also wondering if it is okay to submit some one elses code, and if so how should I do so. As you are keeping my SoB and adding yours, it's totally okay. Thanks Icenowy for confirming! Jesse: yes, it's perfectly fine to send patches from someone else, as long as you keep the authorship, their SoB, and add your's. Typical reasons are lack of time or interest from the original author. But it's customary to ask the author first I did but it must have gotten lost in the cosmos. , and care should be taken when changing patches, as this might not be in the interest of the original author (and they are the ones who will get blamed for bugs). Also please mark the series either as a Resend or as a v2. So with Icenowy's confirmation above I consider this fine. But what was actually holding back this series was lack of review, testing and/or interest. Well the price of the SOC has gained it some popularity, aswell as a couple forum posts. Similar to Icenowy my personal interest in crufty old cores is somewhat limited, so this wasn't very high on my priority list. It is very slow but its a good challenge. Slow depending on application :-) Two of my customers would like to use it in Q2/Q3 for very low-end HMIs. And as I see, one of the last F1Cxxx is F1C800s released in 2017. Here the good thing they have is ram onboard. So given that there is apparently some interest now: Can you confirm that you have reviewed the series, or at least tested this? I have tested this yes. I would be interested to know if a second pair of eyes had a look, and to what extent. I'm Sending giulio.benetti@ some boards I made he will also test. I'm sure many other people will be willing to test aswell. Yes, I'll test on Jesse's board and on Lichee-pi-nano too when I have time, this way I'll be able to give a Tested-by: me. Best regards -- Giulio Benetti Benetti Engineering sas I don't have any hardware, so would need to rely on others to make sure this code is somewhat sane. I can send you one of my many boards :) And it basically looks like a v2 of Icenowy's series, so can you give a Changelog of the differences? I skimmed over her original series back then, so I would be interested in what makes this version special. It passes checkpatch on the latest. Cheers, Andre Thanks for cleaning up these patches! ;-) NP! I took https://github.com/Lichee-Pi/u-boot/tree/nano-v2018.01 re-based it against mainline and fixed formatting in a few files. I also removed the spi-flash driver as it was causing issues and we can boot from sdcard for now. there are some things I did to make the old code compatible with new code but mostly preprocessor and configs. For the dram driver I had to change a bit but none of the logic, i am worried that i may have to move it to /drivers. Do you want a more comprehensive list of changes?
Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
On 1/5/22 07:14, Andre Przywara wrote: On Wed, 05 Jan 2022 19:36:29 +0800 Icenowy Zheng wrote: Hi Jesse, 在 2022-01-04星期二的 19:34 -0500,Jesse Taube写道: This patch set aims to add suport for the SUNIV and F1C100s. Suport has been in linux for a while now, but not in u-boot. This patchset contains: - CPU specific initialization code - SUNIV dram driver - SUNIV clock driver adaption - SUNIV gpio driver adaption - SUNIV uart driver adaption - F1C100s basic support I am hoping to get Icenowy's patches in as it seems she hasnt submitted in a while. The only edits I made to her code is rebasing it against ML and changing some formating. I also re-grouped her commits. I got too lazy to send it (because I think F1C100s is just too weak)... I am wondering if the dram driver should be moved into device drivers rather than in mach-sunxi. I am also wondering if it is okay to submit some one elses code, and if so how should I do so. As you are keeping my SoB and adding yours, it's totally okay. Thanks Icenowy for confirming! Jesse: yes, it's perfectly fine to send patches from someone else, as long as you keep the authorship, their SoB, and add your's. Typical reasons are lack of time or interest from the original author. But it's customary to ask the author first I did but it must have gotten lost in the cosmos. , and care should be taken when changing patches, as this might not be in the interest of the original author (and they are the ones who will get blamed for bugs). Also please mark the series either as a Resend or as a v2. So with Icenowy's confirmation above I consider this fine. But what was actually holding back this series was lack of review, testing and/or interest. Well the price of the SOC has gained it some popularity, aswell as a couple forum posts. Similar to Icenowy my personal interest in crufty old cores is somewhat limited, so this wasn't very high on my priority list. It is very slow but its a good challenge. So given that there is apparently some interest now: Can you confirm that you have reviewed the series, or at least tested this? I have tested this yes. I would be interested to know if a second pair of eyes had a look, and to what extent. I'm Sending giulio.benetti@ some boards I made he will also test. I'm sure many other people will be willing to test aswell. I don't have any hardware, so would need to rely on others to make sure this code is somewhat sane. I can send you one of my many boards :) And it basically looks like a v2 of Icenowy's series, so can you give a Changelog of the differences? I skimmed over her original series back then, so I would be interested in what makes this version special. It passes checkpatch on the latest. Cheers, Andre Thanks for cleaning up these patches! ;-) NP! I took https://github.com/Lichee-Pi/u-boot/tree/nano-v2018.01 re-based it against mainline and fixed formatting in a few files. I also removed the spi-flash driver as it was causing issues and we can boot from sdcard for now. there are some things I did to make the old code compatible with new code but mostly preprocessor and configs. For the dram driver I had to change a bit but none of the logic, i am worried that i may have to move it to /drivers. Do you want a more comprehensive list of changes?
Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
On Wed, 05 Jan 2022 19:36:29 +0800 Icenowy Zheng wrote: Hi Jesse, > 在 2022-01-04星期二的 19:34 -0500,Jesse Taube写道: > > This patch set aims to add suport for the SUNIV and F1C100s. > > Suport has been in linux for a while now, but not in u-boot. > > > > This patchset contains: > > - CPU specific initialization code > > - SUNIV dram driver > > - SUNIV clock driver adaption > > - SUNIV gpio driver adaption > > - SUNIV uart driver adaption > > - F1C100s basic support > > > > I am hoping to get Icenowy's patches in as it seems she hasnt > > submitted > > in a while. The only edits I made to her code is rebasing it against > > ML > > and changing some formating. I also re-grouped her commits. > > I got too lazy to send it (because I think F1C100s is just too weak)... > > > > > I am wondering if the dram driver should be moved into device drivers > > rather than in mach-sunxi. > > I am also wondering if it is okay to submit some one elses code, > > and if so how should I do so. > > As you are keeping my SoB and adding yours, it's totally okay. Thanks Icenowy for confirming! Jesse: yes, it's perfectly fine to send patches from someone else, as long as you keep the authorship, their SoB, and add your's. Typical reasons are lack of time or interest from the original author. But it's customary to ask the author first, and care should be taken when changing patches, as this might not be in the interest of the original author (and they are the ones who will get blamed for bugs). Also please mark the series either as a Resend or as a v2. So with Icenowy's confirmation above I consider this fine. But what was actually holding back this series was lack of review, testing and/or interest. Similar to Icenowy my personal interest in crufty old cores is somewhat limited, so this wasn't very high on my priority list. So given that there is apparently some interest now: Can you confirm that you have reviewed the series, or at least tested this? I would be interested to know if a second pair of eyes had a look, and to what extent. I don't have any hardware, so would need to rely on others to make sure this code is somewhat sane. And it basically looks like a v2 of Icenowy's series, so can you give a Changelog of the differences? I skimmed over her original series back then, so I would be interested in what makes this version special. Cheers, Andre > Thanks for cleaning up these patches! ;-) > > > > > Icenowy Zheng (11): > > arm: arm926ej-s: start.S: port save_boot_params support from armv7 > > code > > arm: arm926ej-s: add sunxi code > > dt-bindings: clock: Add initial suniv headers > > dt-bindings: reset: Add initial suniv headers > > ARM: sunxi: Add support for F1C100s > > sunxi: Add F1C100s DRAM initial support > > sunxi: board: Add support for SUNIV > > configs: sunxi: Add common SUNIV header > > sunxi: Add support for SUNIV architecture > > ARM: dts: suniv: Add device tree files for F1C100s > > configs: sunxi: Add support for Lichee Pi Nano > > > > arch/arm/cpu/arm926ejs/Makefile | 1 + > > arch/arm/cpu/arm926ejs/start.S | 19 + > > arch/arm/cpu/arm926ejs/sunxi/Makefile | 15 + > > arch/arm/cpu/arm926ejs/sunxi/config.mk | 6 + > > arch/arm/cpu/arm926ejs/sunxi/fel_utils.S | 37 ++ > > arch/arm/cpu/arm926ejs/sunxi/lowlevel_init.S | 67 +++ > > arch/arm/cpu/arm926ejs/sunxi/start.c | 1 + > > arch/arm/cpu/arm926ejs/sunxi/timer.c | 114 + > > arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds | 62 +++ > > arch/arm/dts/Makefile | 2 + > > arch/arm/dts/suniv-f1c100s-licheepi-nano.dts | 64 +++ > > arch/arm/dts/suniv-f1c100s.dtsi | 6 + > > arch/arm/dts/suniv.dtsi | 224 ++ > > arch/arm/include/asm/arch-sunxi/clock.h | 2 +- > > arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 25 ++ > > arch/arm/include/asm/arch-sunxi/cpu_sun4i.h | 8 + > > arch/arm/include/asm/arch-sunxi/dram.h | 2 + > > arch/arm/include/asm/arch-sunxi/dram_suniv.h | 46 ++ > > arch/arm/include/asm/arch-sunxi/gpio.h | 1 + > > arch/arm/mach-sunxi/Kconfig | 16 +- > > arch/arm/mach-sunxi/Makefile | 2 + > > arch/arm/mach-sunxi/board.c | 31 +- > > arch/arm/mach-sunxi/clock.c | 3 +- > > arch/arm/mach-sunxi/clock_sun6i.c | 46 +- > > arch/arm/mach-sunxi/cpu_info.c | 2 + > > arch/arm/mach-sunxi/dram_helpers.c | 4 + > > arch/arm/mach-sunxi/dram_suniv.c | 420 > > ++ > > board/sunxi/board.c | 4 +- > > configs/licheepi_nano_defconfig | 13 + > > configs/licheepi_nano_spiflash_defconfig | 25 ++ > > include/configs/suniv.h | 14 + > > include/configs/sunxi-common.h | 67 ++- > >
Re: [PATCH 00/11] Add support for SUNIV and F1C100s.
在 2022-01-04星期二的 19:34 -0500,Jesse Taube写道: > This patch set aims to add suport for the SUNIV and F1C100s. > Suport has been in linux for a while now, but not in u-boot. > > This patchset contains: > - CPU specific initialization code > - SUNIV dram driver > - SUNIV clock driver adaption > - SUNIV gpio driver adaption > - SUNIV uart driver adaption > - F1C100s basic support > > I am hoping to get Icenowy's patches in as it seems she hasnt > submitted > in a while. The only edits I made to her code is rebasing it against > ML > and changing some formating. I also re-grouped her commits. I got too lazy to send it (because I think F1C100s is just too weak)... > > I am wondering if the dram driver should be moved into device drivers > rather than in mach-sunxi. > I am also wondering if it is okay to submit some one elses code, > and if so how should I do so. As you are keeping my SoB and adding yours, it's totally okay. Thanks for cleaning up these patches! ;-) > > Icenowy Zheng (11): > arm: arm926ej-s: start.S: port save_boot_params support from armv7 > code > arm: arm926ej-s: add sunxi code > dt-bindings: clock: Add initial suniv headers > dt-bindings: reset: Add initial suniv headers > ARM: sunxi: Add support for F1C100s > sunxi: Add F1C100s DRAM initial support > sunxi: board: Add support for SUNIV > configs: sunxi: Add common SUNIV header > sunxi: Add support for SUNIV architecture > ARM: dts: suniv: Add device tree files for F1C100s > configs: sunxi: Add support for Lichee Pi Nano > > arch/arm/cpu/arm926ejs/Makefile | 1 + > arch/arm/cpu/arm926ejs/start.S | 19 + > arch/arm/cpu/arm926ejs/sunxi/Makefile | 15 + > arch/arm/cpu/arm926ejs/sunxi/config.mk | 6 + > arch/arm/cpu/arm926ejs/sunxi/fel_utils.S | 37 ++ > arch/arm/cpu/arm926ejs/sunxi/lowlevel_init.S | 67 +++ > arch/arm/cpu/arm926ejs/sunxi/start.c | 1 + > arch/arm/cpu/arm926ejs/sunxi/timer.c | 114 + > arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds | 62 +++ > arch/arm/dts/Makefile | 2 + > arch/arm/dts/suniv-f1c100s-licheepi-nano.dts | 64 +++ > arch/arm/dts/suniv-f1c100s.dtsi | 6 + > arch/arm/dts/suniv.dtsi | 224 ++ > arch/arm/include/asm/arch-sunxi/clock.h | 2 +- > arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 25 ++ > arch/arm/include/asm/arch-sunxi/cpu_sun4i.h | 8 + > arch/arm/include/asm/arch-sunxi/dram.h | 2 + > arch/arm/include/asm/arch-sunxi/dram_suniv.h | 46 ++ > arch/arm/include/asm/arch-sunxi/gpio.h | 1 + > arch/arm/mach-sunxi/Kconfig | 16 +- > arch/arm/mach-sunxi/Makefile | 2 + > arch/arm/mach-sunxi/board.c | 31 +- > arch/arm/mach-sunxi/clock.c | 3 +- > arch/arm/mach-sunxi/clock_sun6i.c | 46 +- > arch/arm/mach-sunxi/cpu_info.c | 2 + > arch/arm/mach-sunxi/dram_helpers.c | 4 + > arch/arm/mach-sunxi/dram_suniv.c | 420 > ++ > board/sunxi/board.c | 4 +- > configs/licheepi_nano_defconfig | 13 + > configs/licheepi_nano_spiflash_defconfig | 25 ++ > include/configs/suniv.h | 14 + > include/configs/sunxi-common.h | 67 ++- > include/dt-bindings/clock/suniv-ccu.h | 68 +++ > include/dt-bindings/reset/suniv-ccu.h | 36 ++ > 34 files changed, 1424 insertions(+), 29 deletions(-) > create mode 100644 arch/arm/cpu/arm926ejs/sunxi/Makefile > create mode 100644 arch/arm/cpu/arm926ejs/sunxi/config.mk > create mode 100644 arch/arm/cpu/arm926ejs/sunxi/fel_utils.S > create mode 100644 arch/arm/cpu/arm926ejs/sunxi/lowlevel_init.S > create mode 100644 arch/arm/cpu/arm926ejs/sunxi/start.c > create mode 100644 arch/arm/cpu/arm926ejs/sunxi/timer.c > create mode 100644 arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds > create mode 100644 arch/arm/dts/suniv-f1c100s-licheepi-nano.dts > create mode 100644 arch/arm/dts/suniv-f1c100s.dtsi > create mode 100644 arch/arm/dts/suniv.dtsi > create mode 100644 arch/arm/include/asm/arch-sunxi/dram_suniv.h > create mode 100644 arch/arm/mach-sunxi/dram_suniv.c > create mode 100644 configs/licheepi_nano_defconfig > create mode 100644 configs/licheepi_nano_spiflash_defconfig > create mode 100644 include/configs/suniv.h > create mode 100644 include/dt-bindings/clock/suniv-ccu.h > create mode 100644 include/dt-bindings/reset/suniv-ccu.h >