Message ID | 20180624182814.31691-5-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 24/06/2018 20:28, Martin Blumenstingl wrote: > S905W is a new SoC from the GXL series. It is a cost-reduced version of > the S905X. > The P281 development board from Amlogic uses the same layout as the P231 > (S905D development board). Thus the new P281 board inherits > meson-gx-p23x-q20x.dtsi to avoid code-duplication. > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > --- > arch/arm64/boot/dts/amlogic/Makefile | 1 + > .../boot/dts/amlogic/meson-gxl-s905w-p281.dts | 22 +++++++++++++++++++ > .../boot/dts/amlogic/meson-gxl-s905w.dtsi | 20 +++++++++++++++++ > 3 files changed, 43 insertions(+) > create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts > create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi > > diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile > index 34dd0e9b5cbb..6de2e7f5a9cc 100644 > --- a/arch/arm64/boot/dts/amlogic/Makefile > +++ b/arch/arm64/boot/dts/amlogic/Makefile > @@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb [...] > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi > new file mode 100644 > index 000000000000..a4ed586d328b > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi > @@ -0,0 +1,20 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. > + * Based on meson-gxl-s905x.dtsi: > + * - Copyright (c) 2016 Endless Computers, Inc. > + * Author: Carlo Caione <carlo@endlessm.com> > + */ > + > +#include "meson-gxl.dtsi" > +#include "meson-gxl-mali.dtsi" > + > +/ { > + compatible = "amlogic,s905w", "amlogic,meson-gxl"; > +}; > + > +/* S905W only has access to it's internal PHY */ > +ðmac { > + phy-mode = "rmii"; > + phy-handle = <&internal_phy>; > +}; > Hi Martin, Kevin, Carlo, Jerome, I would like to discuss how we should handle all the GXl variants, since from linux PoV, S905x, S905W and S805X are the same (S905W and S805X only has ledd IO balls, less IO available but same pinctrl interface). At some point, meson-gxl-s905w.dtsi and meson-gxl-s805x.dtsi will be exactly the same as meson-gxl-s905x.dtsi, and maybe the same for S905Z in the Fire TV. The can be multiple solution : - duplicate the files - unify all the internal-PHY-only GXL variant into a meson-gxl-sx05x.dtsi - use meson-gxl-s905x.dtsi and override the compatible in board dts - move the meson-gxl-s905x.dtsi into a separate meson-gxl-internal-phy.dtsi and include it instead of meson-gxl-s905x.dtsi and drop the intermediate package specific dtsi Neil
Hi Neil, On Mon, Jun 25, 2018 at 2:51 PM Neil Armstrong <narmstrong@baylibre.com> wrote: > Hi Martin, Kevin, Carlo, Jerome, > > I would like to discuss how we should handle all the GXl variants, since from linux PoV, S905x, S905W and S805X are the same (S905W and S805X only has ledd IO balls, less IO available but same pinctrl interface). > > At some point, meson-gxl-s905w.dtsi and meson-gxl-s805x.dtsi will be exactly the same as meson-gxl-s905x.dtsi, and maybe the same for S905Z in the Fire TV. like you mentioned, most things (all using the internal PHY, same GPU, same pinctrl interface, ...) are going to be identical, but what about the differences? - available HDMI modes are different for S905X (max. 4k60), S905W (max. 4k30) and S805X (max. 1080p) - video encoders / decoders are different for S905X (max. 4k60), S905W (max. 4k30) and S805X (max. 1080p) - CPU frequency changes are probably a no-op for us since it's handled by the SCPI firmware: 1.5GHz for S905X, 1.2GHz for S905W and S805X - according to lvrp16 the S805X SoC itself measures 11mm x 11mm whereas the S905X SoC measures 14mm x 14mm - what else did I miss? at least the first two may require SoC/package specific compatible strings for the HDMI controller and video decoder (if these IP blocks don't come with a way to auto-detect the max supported resolutions) Regards Martin
Neil Armstrong <narmstrong@baylibre.com> writes: > On 24/06/2018 20:28, Martin Blumenstingl wrote: >> S905W is a new SoC from the GXL series. It is a cost-reduced version of >> the S905X. >> The P281 development board from Amlogic uses the same layout as the P231 >> (S905D development board). Thus the new P281 board inherits >> meson-gx-p23x-q20x.dtsi to avoid code-duplication. >> >> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> >> --- >> arch/arm64/boot/dts/amlogic/Makefile | 1 + >> .../boot/dts/amlogic/meson-gxl-s905w-p281.dts | 22 +++++++++++++++++++ >> .../boot/dts/amlogic/meson-gxl-s905w.dtsi | 20 +++++++++++++++++ >> 3 files changed, 43 insertions(+) >> create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts >> create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi >> >> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile >> index 34dd0e9b5cbb..6de2e7f5a9cc 100644 >> --- a/arch/arm64/boot/dts/amlogic/Makefile >> +++ b/arch/arm64/boot/dts/amlogic/Makefile >> @@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb > > [...] > >> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi >> new file mode 100644 >> index 000000000000..a4ed586d328b >> --- /dev/null >> +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi >> @@ -0,0 +1,20 @@ >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) >> +/* >> + * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. >> + * Based on meson-gxl-s905x.dtsi: >> + * - Copyright (c) 2016 Endless Computers, Inc. >> + * Author: Carlo Caione <carlo@endlessm.com> >> + */ >> + >> +#include "meson-gxl.dtsi" >> +#include "meson-gxl-mali.dtsi" >> + >> +/ { >> + compatible = "amlogic,s905w", "amlogic,meson-gxl"; >> +}; >> + >> +/* S905W only has access to it's internal PHY */ >> +ðmac { >> + phy-mode = "rmii"; >> + phy-handle = <&internal_phy>; >> +}; >> > > Hi Martin, Kevin, Carlo, Jerome, > > I would like to discuss how we should handle all the GXl variants, > since from linux PoV, S905x, S905W and S805X are the same (S905W and > S805X only has ledd IO balls, less IO available but same pinctrl > interface). > > At some point, meson-gxl-s905w.dtsi and meson-gxl-s805x.dtsi will be exactly the same as meson-gxl-s905x.dtsi, and maybe the same for S905Z in the Fire TV. > > The can be multiple solution : > - duplicate the files > - unify all the internal-PHY-only GXL variant into a meson-gxl-sx05x.dtsi > - use meson-gxl-s905x.dtsi and override the compatible in board dts > - move the meson-gxl-s905x.dtsi into a separate meson-gxl-internal-phy.dtsi and include it instead of meson-gxl-s905x.dtsi and drop the intermediate package specific dtsi I vote for unifying, but I think renaming is messy unncessary. I'd rather just see reuse of the existing s905x .dtsi for any s905w or s805x boards. We can add compatibles to s905x.dtsi if we really need to, but for now I don't even thing that's necessary. IOW, for this patch, drop the new s905w dtsi, and just have the board .dts include the s905x.dtsi. Kevin
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index 34dd0e9b5cbb..6de2e7f5a9cc 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts new file mode 100644 index 000000000000..d4faed54c223 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. + * Based on meson-gxl-s905d-p231.dts: + * - Copyright (c) 2016 Endless Computers, Inc. + * Author: Carlo Caione <carlo@endlessm.com> + */ + +/dts-v1/; + +#include "meson-gxl-s905w.dtsi" +#include "meson-gx-p23x-q20x.dtsi" + +/ { + compatible = "amlogic,p281", "amlogic,s905w", "amlogic,meson-gxl"; + model = "Amlogic Meson GXL (S905W) P281 Development Board"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x40000000>; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi new file mode 100644 index 000000000000..a4ed586d328b --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. + * Based on meson-gxl-s905x.dtsi: + * - Copyright (c) 2016 Endless Computers, Inc. + * Author: Carlo Caione <carlo@endlessm.com> + */ + +#include "meson-gxl.dtsi" +#include "meson-gxl-mali.dtsi" + +/ { + compatible = "amlogic,s905w", "amlogic,meson-gxl"; +}; + +/* S905W only has access to it's internal PHY */ +ðmac { + phy-mode = "rmii"; + phy-handle = <&internal_phy>; +};
S905W is a new SoC from the GXL series. It is a cost-reduced version of the S905X. The P281 development board from Amlogic uses the same layout as the P231 (S905D development board). Thus the new P281 board inherits meson-gx-p23x-q20x.dtsi to avoid code-duplication. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> --- arch/arm64/boot/dts/amlogic/Makefile | 1 + .../boot/dts/amlogic/meson-gxl-s905w-p281.dts | 22 +++++++++++++++++++ .../boot/dts/amlogic/meson-gxl-s905w.dtsi | 20 +++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi