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: > GS101 has three different SYSREG controllers, add dedicated > compatibles for them to the documentation. > > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- > .../bindings/soc/samsung/samsung,exynos-sysreg.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml > index 2de4301a467d..127f4ffde76a 100644 > --- a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml > +++ b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml > @@ -22,6 +22,12 @@ properties: > - tesla,fsd-fsys1-sysreg > - tesla,fsd-peric-sysreg > - const: syscon > + - items: > + - enum: > + - google,gs101-apm-sysreg > + - google,gs101-peric0-sysreg > + - google,gs101-peric1-sysreg This should be part of the first enum. No need for new list for every new SoC. I'll fix it while applying. Best regards, Krzysztof
On Sat, 09 Dec 2023 23:30:52 +0000, Peter Griffin wrote: > Add the "google,gs101-pinctrl" compatible to the dt-schema bindings > documentation. > > Applied, thanks! [06/20] dt-bindings: pinctrl: samsung: add google,gs101-pinctrl compatible https://git.kernel.org/pinctrl/samsung/c/4a2006d0c338c95352bf9f06e5b3cb8afa0bc885 Best regards,
On Sat, 09 Dec 2023 23:30:53 +0000, Peter Griffin wrote: > gs101 is similar to newer Exynos SoCs like Exynos850 and ExynosAutov9 > where more than one pin controller can do external wake-up interrupt. > So add a dedicated compatible for it. > > Applied, thanks! [07/20] dt-bindings: pinctrl: samsung: add gs101-wakeup-eint compatible https://git.kernel.org/pinctrl/samsung/c/abc73e50b394f248aa8e7ecdfbd4dfa52f8e8355 Best regards,
On Sat, 09 Dec 2023 23:30:47 +0000, Peter Griffin wrote: > Add gs101-pmu compatible to the bindings documentation. > > Applied, thanks! [01/20] dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible https://git.kernel.org/krzk/linux/c/fdd78ff04ccc96f628c2f93e0d48ab0a74bf34ef Best regards,
On Sat, 09 Dec 2023 23:30:49 +0000, Peter Griffin wrote: > GS101 has three different SYSREG controllers, add dedicated > compatibles for them to the documentation. > > Applied, thanks! [03/20] dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101 https://git.kernel.org/krzk/linux/c/d9232785858eafde8553932f96fb7e25c2191ed2 Best regards,
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: > > Specifying samsung,uart-fifosize in both DT and driver static data is error > prone and relies on driver probe order and dt aliases to be correct. > > Additionally on many Exynos platforms these are (USI) universal serial > interfaces which can be uart, spi or i2c, so it can change per board. > > For google,gs101-uart make samsung,uart-fifosize a required property. > For this platform fifosize now *only* comes from DT. > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > .../devicetree/bindings/serial/samsung_uart.yaml | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml > index ccc3626779d9..65d5d361e8f4 100644 > --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml > +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml > @@ -133,6 +133,16 @@ allOf: > - const: uart > - const: clk_uart_baud0 > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - google,gs101-uart > + then: > + required: > + - samsung,uart-fifosize > + > unevaluatedProperties: false > > examples: > -- > 2.43.0.472.g3155946c3a-goog >
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 >
Hi Krzysztof, On Sun, 10 Dec 2023 at 13:49, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 10/12/2023 00:30, Peter Griffin wrote: > > GS101 has three different SYSREG controllers, add dedicated > > compatibles for them to the documentation. > > > > Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > > --- > > .../bindings/soc/samsung/samsung,exynos-sysreg.yaml | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml > > index 2de4301a467d..127f4ffde76a 100644 > > --- a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml > > +++ b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml > > @@ -22,6 +22,12 @@ properties: > > - tesla,fsd-fsys1-sysreg > > - tesla,fsd-peric-sysreg > > - const: syscon > > + - items: > > + - enum: > > + - google,gs101-apm-sysreg > > + - google,gs101-peric0-sysreg > > + - google,gs101-peric1-sysreg > > This should be part of the first enum. No need for new list for every > new SoC. I'll fix it while applying. Noted, thanks! Peter
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 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, 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