Message ID | 20231209233106.147416-1-peter.griffin@linaro.org |
---|---|
Headers | show |
Series | Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board | expand |
On 10/12/2023 00:30, Peter Griffin wrote: > Add support for the pin-controller found on the gs101 SoC used in > Pixel 6 phones. > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- > diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c > index 6b58ec84e34b..3834bf953178 100644 > --- a/drivers/pinctrl/samsung/pinctrl-exynos.c > +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c > @@ -468,6 +468,8 @@ static const struct of_device_id exynos_wkup_irq_ids[] = { > .data = &exynos7_wkup_irq_chip }, > { .compatible = "samsung,exynosautov9-wakeup-eint", > .data = &exynos7_wkup_irq_chip }, > + { .compatible = "google,gs101-wakeup-eint", > + .data = &exynos7_wkup_irq_chip }, You don't need it. > { } > }; > > diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c > index 79babbb39ced..b8d549fe38cb 100644 > --- a/drivers/pinctrl/samsung/pinctrl-samsung.c > +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c > @@ -1321,6 +1321,8 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = { > .data = &exynosautov9_of_data }, > { .compatible = "tesla,fsd-pinctrl", > .data = &fsd_of_data }, > + { .compatible = "google,gs101-pinctrl", > + .data = &gs101_of_data }, Place it somewhere alphabetically. Probably before tesla. Best regards, Krzysztof
On 10/12/2023 00:31, Peter Griffin wrote: > The WDT uses the CPU core signal DBGACK to determine whether the SoC > is running in debug mode or not. If the DBGACK signal is asserted and > DBGACK_MASK bit is enabled, then WDT output and interrupt is masked > (disabled). > > Presence of the DBGACK_MASK bit is determined by adding a new > QUIRK_HAS_DBGACK_BIT quirk. Also update to use BIT macro to avoid > checkpatch --strict warnings. > > Tested-by: Will McVicker <willmcvicker@google.com> > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Guenter, Wim, The watchdog patches are kind of independent, except that bindings has conflicting re-organization which I took via my Samsung SoC tree. If it is fine with you, please provide acks or review and I will take the watchdog changes. Best regards, Krzysztof
On 10/12/2023 00:31, Peter Griffin wrote: > This patch adds the compatibles and drvdata for the Google > gs101 SoC found in Pixel 6, Pixel 6a & Pixel 6 pro phones. > > Similar to Exynos850 it has two watchdog instances, one for > each cluster and has some control bits in PMU registers. > > + > static const struct of_device_id s3c2410_wdt_match[] = { > { .compatible = "samsung,s3c2410-wdt", > .data = &drv_data_s3c2410 }, > @@ -285,6 +318,8 @@ static const struct of_device_id s3c2410_wdt_match[] = { > .data = &drv_data_exynos850_cl0 }, > { .compatible = "samsung,exynosautov9-wdt", > .data = &drv_data_exynosautov9_cl0 }, > + { .compatible = "google,gs101-wdt", > + .data = &drv_data_gs101_cl0 }, Keep some alphabetical order by compatible, so this should be probably the first entry in the table. Same for s3c2410_wdt_variant structures. > {}, Best regards, Krzysztof
On 10/12/2023 00:30, Peter Griffin wrote: > Hi folks, > > This series adds initial SoC support for the GS101 SoC and also initial board > support for Pixel 6 phone (Oriole). > I started applying few reviewed bindings. We are getting close to end of merging time for SoC. Top-level arm/google.yaml needs ack or re-review from Rob. Best regards, Krzysztof
On 10/12/2023 00:31, Peter Griffin wrote: > Add initial board support for the Pixel 6 phone code named Oriole. This > has been tested with a minimal busybox initramfs and boots to a shell. > > Tested-by: Will McVicker <willmcvicker@google.com> > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- > arch/arm64/boot/dts/exynos/Makefile | 2 + ... > +&serial_0 { > + status = "okay"; Keep status the last > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_bus>; > +}; > + > +&usi_uart { > + status = "okay"; Keep status the last > + samsung,clkreq-on; /* needed for UART mode */ > +}; > + > +&watchdog_cl0 { > + timeout-sec = <30>; > + status = "okay"; > +}; Best regards, Krzysztof
On Sat, Dec 9, 2023 at 5:31 PM Peter Griffin <peter.griffin@linaro.org> wrote: > > cmu_top is the top level clock management unit which contains PLLs, muxes, > dividers and gates that feed the other clock management units. > > cmu_misc clocks IPs such as Watchdog and cmu_apm clocks ips part of the > APM module. > > Acked-by: Chanwoo Choi <cw00.choi@samsung.com> > Tested-by: Will McVicker <willmcvicker@google.com> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> [snip]
On Sat, Dec 9, 2023 at 5:31 PM Peter Griffin <peter.griffin@linaro.org> wrote: > > Update the remaining QUIRK macros to use the BIT macro. > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > drivers/watchdog/s3c2410_wdt.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c > index 7ecb762a371d..b7a03668f743 100644 > --- a/drivers/watchdog/s3c2410_wdt.c > +++ b/drivers/watchdog/s3c2410_wdt.c > @@ -107,11 +107,11 @@ > * DBGACK_MASK bit disables the watchdog outputs when the SoC is in debug mode. > * Debug mode is determined by the DBGACK CPU signal. > */ > -#define QUIRK_HAS_WTCLRINT_REG (1 << 0) > -#define QUIRK_HAS_PMU_MASK_RESET (1 << 1) > -#define QUIRK_HAS_PMU_RST_STAT (1 << 2) > -#define QUIRK_HAS_PMU_AUTO_DISABLE (1 << 3) > -#define QUIRK_HAS_PMU_CNT_EN (1 << 4) > +#define QUIRK_HAS_WTCLRINT_REG BIT(0) > +#define QUIRK_HAS_PMU_MASK_RESET BIT(1) > +#define QUIRK_HAS_PMU_RST_STAT BIT(2) > +#define QUIRK_HAS_PMU_AUTO_DISABLE BIT(3) > +#define QUIRK_HAS_PMU_CNT_EN BIT(4) > #define QUIRK_HAS_DBGACK_BIT BIT(5) > > /* These quirks require that we have a PMU register map */ > -- > 2.43.0.472.g3155946c3a-goog >
On Sun, Dec 10, 2023 at 7:55 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 10/12/2023 00:30, Peter Griffin wrote: > > Add support for the pin-controller found on the gs101 SoC used in > > Pixel 6 phones. > > > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > > --- > > > > diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c > > index 6b58ec84e34b..3834bf953178 100644 > > --- a/drivers/pinctrl/samsung/pinctrl-exynos.c > > +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c > > @@ -468,6 +468,8 @@ static const struct of_device_id exynos_wkup_irq_ids[] = { > > .data = &exynos7_wkup_irq_chip }, > > { .compatible = "samsung,exynosautov9-wakeup-eint", > > .data = &exynos7_wkup_irq_chip }, > > + { .compatible = "google,gs101-wakeup-eint", > > + .data = &exynos7_wkup_irq_chip }, > > You don't need it. > > > { } > > }; > > > > diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c > > index 79babbb39ced..b8d549fe38cb 100644 > > --- a/drivers/pinctrl/samsung/pinctrl-samsung.c > > +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c > > @@ -1321,6 +1321,8 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = { > > .data = &exynosautov9_of_data }, > > { .compatible = "tesla,fsd-pinctrl", > > .data = &fsd_of_data }, > > + { .compatible = "google,gs101-pinctrl", > > + .data = &gs101_of_data }, > > Place it somewhere alphabetically. Probably before tesla. > Assuming Krzysztof's comments are fixed, you can also add: Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > > Best regards, > Krzysztof >
On Sat, 2023-12-09 at 23:30 +0000, Peter Griffin wrote: > cmu_top is the top level clock management unit which contains PLLs, muxes, > dividers and gates that feed the other clock management units. > > cmu_misc clocks IPs such as Watchdog and cmu_apm clocks ips part of the > APM module. > > Acked-by: Chanwoo Choi <cw00.choi@samsung.com> > Tested-by: Will McVicker <willmcvicker@google.com> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: André Draszik <andre.draszik@linaro.org> Cheers, André
Hi folks, On Sun, 10 Dec 2023 at 14:24, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 10/12/2023 00:31, Peter Griffin wrote: > > The WDT uses the CPU core signal DBGACK to determine whether the SoC > > is running in debug mode or not. If the DBGACK signal is asserted and > > DBGACK_MASK bit is enabled, then WDT output and interrupt is masked > > (disabled). > > > > Presence of the DBGACK_MASK bit is determined by adding a new > > QUIRK_HAS_DBGACK_BIT quirk. Also update to use BIT macro to avoid > > checkpatch --strict warnings. > > > > Tested-by: Will McVicker <willmcvicker@google.com> > > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > > Guenter, Wim, > > The watchdog patches are kind of independent, except that bindings has > conflicting re-organization which I took via my Samsung SoC tree. If it > is fine with you, please provide acks or review and I will take the > watchdog changes. > Just to add, without the Watchdog gs101 changes the system will reset after ~60 seconds, as the bootloader is left running by the bootloader. So it would be nice to get patches in as well if possible. regards, Peter.
Hi Krzysztof, Thanks for the review. On Sun, 10 Dec 2023 at 14:26, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 10/12/2023 00:31, Peter Griffin wrote: > > This patch adds the compatibles and drvdata for the Google > > gs101 SoC found in Pixel 6, Pixel 6a & Pixel 6 pro phones. > > > > Similar to Exynos850 it has two watchdog instances, one for > > each cluster and has some control bits in PMU registers. > > > > > > + > > static const struct of_device_id s3c2410_wdt_match[] = { > > { .compatible = "samsung,s3c2410-wdt", > > .data = &drv_data_s3c2410 }, > > @@ -285,6 +318,8 @@ static const struct of_device_id s3c2410_wdt_match[] = { > > .data = &drv_data_exynos850_cl0 }, > > { .compatible = "samsung,exynosautov9-wdt", > > .data = &drv_data_exynosautov9_cl0 }, > > + { .compatible = "google,gs101-wdt", > > + .data = &drv_data_gs101_cl0 }, > > Keep some alphabetical order by compatible, so this should be probably > the first entry in the table. > > Same for s3c2410_wdt_variant structures. Will fix in v7. Thanks, Peter
Hi Krzysztof, Thanks for the review. On Sun, 10 Dec 2023 at 13:56, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 10/12/2023 00:30, Peter Griffin wrote: > > Add support for the pin-controller found on the gs101 SoC used in > > Pixel 6 phones. > > > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > > --- > > > > diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c > > index 6b58ec84e34b..3834bf953178 100644 > > --- a/drivers/pinctrl/samsung/pinctrl-exynos.c > > +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c > > @@ -468,6 +468,8 @@ static const struct of_device_id exynos_wkup_irq_ids[] = { > > .data = &exynos7_wkup_irq_chip }, > > { .compatible = "samsung,exynosautov9-wakeup-eint", > > .data = &exynos7_wkup_irq_chip }, > > + { .compatible = "google,gs101-wakeup-eint", > > + .data = &exynos7_wkup_irq_chip }, > > You don't need it. OK will drop > > > { } > > }; > > > > diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c > > index 79babbb39ced..b8d549fe38cb 100644 > > --- a/drivers/pinctrl/samsung/pinctrl-samsung.c > > +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c > > @@ -1321,6 +1321,8 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = { > > .data = &exynosautov9_of_data }, > > { .compatible = "tesla,fsd-pinctrl", > > .data = &fsd_of_data }, > > + { .compatible = "google,gs101-pinctrl", > > + .data = &gs101_of_data }, > > Place it somewhere alphabetically. Probably before tesla. Will fix. FYI I was intending to put it at the top ('g' before 's') that also matches the ordering everywhere else e.g. in the YAML docs etc. regards, Peter
Hi Krzysztof, On Sun, 10 Dec 2023 at 14:39, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 10/12/2023 00:31, Peter Griffin wrote: > > Add initial board support for the Pixel 6 phone code named Oriole. This > > has been tested with a minimal busybox initramfs and boots to a shell. > > > > Tested-by: Will McVicker <willmcvicker@google.com> > > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > > --- > > arch/arm64/boot/dts/exynos/Makefile | 2 + > > ... > > > +&serial_0 { > > + status = "okay"; > > Keep status the last Will fix > > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart0_bus>; > > +}; > > + > > +&usi_uart { > > + status = "okay"; > > Keep status the last Will fix regards, Peter