Preheat the oven to 160°C.
Sift the flour, baking powder, salt, and bicarbonate of soda into a bowl.
Mix in the sugar, walnuts, pineapple, sultanas, banana, passion fruit, carrot, oil, and eggs.
Pour mixture into a greased 22.5cm tin and bake for 60 to 75 minutes.
Cover the top with foil if it browns too quickly.
Remove from oven and cool completely on a wire rack.
Beat the butter and cream cheese together until light and fluffy.
Mix in the icing sugar and vanilla extract.
Fold in the grated coconut.
Spread the icing over the cooled cake.
Decorate with crushed pecans and serve.