[PATCH linux dev-4.10] ARM: dts: aspeed: Update i2c binding
Joel Stanley
joel at jms.id.au
Thu Apr 27 17:35:10 AEST 2017
On Thu, Apr 27, 2017 at 4:50 PM, Joel Stanley <joel at jms.id.au> wrote:
> The I2C binding changed when upstreaming the I2C driver.
>
> Signed-off-by: Joel Stanley <joel at jms.id.au>
> ---
>
> I've boot tested this, but please take a look to make sure I didn't stuff it up.
Do I also need aliases so the character devices appear where userspace
expects them?
>
> arch/arm/boot/dts/aspeed-g4.dtsi | 156 ++++++++++++++++++++-------------
> arch/arm/boot/dts/aspeed-g5.dtsi | 180 ++++++++++++++++++++++++---------------
> 2 files changed, 207 insertions(+), 129 deletions(-)
>
> diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
> index b9a6730cc831..c25c5f839d58 100644
> --- a/arch/arm/boot/dts/aspeed-g4.dtsi
> +++ b/arch/arm/boot/dts/aspeed-g4.dtsi
> @@ -958,200 +958,240 @@
> };
>
> i2c: i2c at 1e78a000 {
> + compatible = "simple-bus";
> #address-cells = <1>;
> #size-cells = <1>;
> - #interrupt-cells = <1>;
> -
> - compatible = "aspeed,ast2400-i2c-controller";
> - reg = <0x1e78a000 0x40>;
> ranges = <0 0x1e78a000 0x1000>;
> - interrupts = <12>;
> - clocks = <&clk_apb>;
> - clock-ranges;
> - interrupt-controller;
> +
> + i2c_ic: interrupt-controller at 0 {
> + #interrupt-cells = <1>;
> + compatible = "aspeed,ast2400-i2c-ic";
> + reg = <0x0 0x40>;
> + interrupts = <12>;
> + interrupt-controller;
> + };
>
> i2c0: i2c-bus at 40 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x40 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <0>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <0>;
> - interrupt-parent = <&i2c>;
> + interrupt-parent = <&i2c_ic>;
> + status = "disabled";
> /* Does not need pinctrl node */
> };
>
> i2c1: i2c-bus at 80 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x80 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <1>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <1>;
> + interrupt-parent = <&i2c_ic>;
> + status = "disabled";
> /* Does not need pinctrl node */
> };
>
> i2c2: i2c-bus at c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <0xC0 0x40>;
> + #interrupt-cells = <1>;
> +
> + reg = <0xc0 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <2>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <2>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_i2c3_default>;
> + interrupt-parent = <&i2c_ic>;
> + status = "disabled";
> + /* Does not need pinctrl node */
> };
>
> i2c3: i2c-bus at 100 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x100 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <3>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <3>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c4_default>;
> + status = "disabled";
> };
>
> i2c4: i2c-bus at 140 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x140 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <4>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <4>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c5_default>;
> + status = "disabled";
> };
>
> i2c5: i2c-bus at 180 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x180 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <5>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <5>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c6_default>;
> + status = "disabled";
> };
>
> i2c6: i2c-bus at 1c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <0x1C0 0x40>;
> + #interrupt-cells = <1>;
> +
> + reg = <0x1c0 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <6>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <6>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c7_default>;
> + status = "disabled";
> };
>
> i2c7: i2c-bus at 300 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x300 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <7>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <7>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c8_default>;
> + status = "disabled";
> };
>
> i2c8: i2c-bus at 340 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x340 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <8>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <8>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c9_default>;
> + status = "disabled";
> };
>
> i2c9: i2c-bus at 380 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x380 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <9>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <9>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c10_default>;
> + status = "disabled";
> };
>
> i2c10: i2c-bus at 3c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x3c0 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <10>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <10>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c11_default>;
> + status = "disabled";
> };
>
> i2c11: i2c-bus at 400 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x400 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <11>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <11>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c12_default>;
> + status = "disabled";
> };
>
> i2c12: i2c-bus at 440 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x440 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <12>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <12>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c13_default>;
> + status = "disabled";
> };
>
> i2c13: i2c-bus at 480 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x480 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> - bus = <13>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <13>;
> - /* Does not need pinctrl node */
> + interrupt-parent = <&i2c_ic>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c14_default>;
> + status = "disabled";
> };
> -
> };
> -
> };
> };
> };
> diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
> index ddfb729bb85a..9f43c978df40 100644
> --- a/arch/arm/boot/dts/aspeed-g5.dtsi
> +++ b/arch/arm/boot/dts/aspeed-g5.dtsi
> @@ -1149,199 +1149,237 @@
> };
>
> i2c: i2c at 1e78a000 {
> + compatible = "simple-bus";
> #address-cells = <1>;
> #size-cells = <1>;
> - #interrupt-cells = <1>;
> -
> - compatible = "aspeed,ast2400-i2c-controller";
> - reg = <0x1e78a000 0x40>;
> ranges = <0 0x1e78a000 0x1000>;
> - interrupts = <12>;
> - clocks = <&clk_apb>;
> - clock-ranges;
> - interrupt-controller;
> +
> + i2c_ic: interrupt-controller at 0 {
> + #interrupt-cells = <1>;
> + compatible = "aspeed,ast2500-i2c-ic";
> + reg = <0x0 0x40>;
> + interrupts = <12>;
> + interrupt-controller;
> + };
>
> i2c0: i2c-bus at 40 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x40 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <0>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <0>;
> - interrupt-parent = <&i2c>;
> + interrupt-parent = <&i2c_ic>;
> + status = "disabled";
> };
>
> i2c1: i2c-bus at 80 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x80 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <1>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <1>;
> + interrupt-parent = <&i2c_ic>;
> + status = "disabled";
> };
>
> i2c2: i2c-bus at c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <0xC0 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <2>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + #interrupt-cells = <1>;
> +
> + reg = <0xc0 0x40>;
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <2>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_i2c3_default>;
> + interrupt-parent = <&i2c_ic>;
> + status = "disabled";
> };
>
> i2c3: i2c-bus at 100 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x100 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <3>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <3>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c4_default>;
> + status = "disabled";
> };
>
> i2c4: i2c-bus at 140 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x140 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <4>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <4>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c5_default>;
> + status = "disabled";
> };
>
> i2c5: i2c-bus at 180 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x180 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <5>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <5>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c6_default>;
> + status = "disabled";
> };
>
> i2c6: i2c-bus at 1c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <0x1C0 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <6>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + #interrupt-cells = <1>;
> +
> + reg = <0x1c0 0x40>;
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <6>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c7_default>;
> + status = "disabled";
> };
>
> i2c7: i2c-bus at 300 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x300 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <7>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <7>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c8_default>;
> + status = "disabled";
> };
>
> i2c8: i2c-bus at 340 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x340 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <8>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <8>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c9_default>;
> + status = "disabled";
> };
>
> i2c9: i2c-bus at 380 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x380 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <9>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <9>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c10_default>;
> + status = "disabled";
> };
>
> i2c10: i2c-bus at 3c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x3c0 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <10>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <10>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c11_default>;
> + status = "disabled";
> };
>
> i2c11: i2c-bus at 400 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x400 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <11>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <11>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c12_default>;
> + status = "disabled";
> };
>
> i2c12: i2c-bus at 440 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x440 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <12>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <12>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c13_default>;
> + status = "disabled";
> };
>
> i2c13: i2c-bus at 480 {
> #address-cells = <1>;
> #size-cells = <0>;
> + #interrupt-cells = <1>;
> +
> reg = <0x480 0x40>;
> - compatible = "aspeed,ast2400-i2c-bus";
> - bus = <13>;
> - clock-frequency = <100000>;
> - status = "disabled";
> + compatible = "aspeed,ast2500-i2c-bus";
> + clocks = <&clk_apb>;
> + bus-frequency = <100000>;
> interrupts = <13>;
> + interrupt-parent = <&i2c_ic>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c14_default>;
> + status = "disabled";
> };
> -
> };
> -
> };
> };
> };
> --
> 2.11.0
>
More information about the openbmc
mailing list